curl --request GET \
--url https://scrapebadger.com/v1/github/profiles/{username} \
--header 'X-API-Key: <api-key>'import requests
url = "https://scrapebadger.com/v1/github/profiles/{username}"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://scrapebadger.com/v1/github/profiles/{username}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://scrapebadger.com/v1/github/profiles/{username}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://scrapebadger.com/v1/github/profiles/{username}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://scrapebadger.com/v1/github/profiles/{username}")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://scrapebadger.com/v1/github/profiles/{username}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"profile": {
"login": "example-user",
"link": "https://github.com/example-user",
"is_organization": false,
"followers": 1234,
"followers_display_count": 1200,
"created_at": "2020-01-02T03:04:05Z",
"created_utc": 1577934245
}
}Get profile
Read a public GitHub user or organization profile. All tabs cost 10 credits.
curl --request GET \
--url https://scrapebadger.com/v1/github/profiles/{username} \
--header 'X-API-Key: <api-key>'import requests
url = "https://scrapebadger.com/v1/github/profiles/{username}"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://scrapebadger.com/v1/github/profiles/{username}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://scrapebadger.com/v1/github/profiles/{username}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://scrapebadger.com/v1/github/profiles/{username}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://scrapebadger.com/v1/github/profiles/{username}")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://scrapebadger.com/v1/github/profiles/{username}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"profile": {
"login": "example-user",
"link": "https://github.com/example-user",
"is_organization": false,
"followers": 1234,
"followers_display_count": 1200,
"created_at": "2020-01-02T03:04:05Z",
"created_utc": 1577934245
}
}@handle, never a profile URL. Optional sections depend on public
source visibility. Client timeout examples are not latency guarantees.
overviewacceptsyearonly.repositoriesacceptspageonly, with 30 rows per page.- User-only
starsacceptsnext_page_tokenonly, with 30 rows per page.
Authorizations
Path Parameters
GitHub login or leading @handle, not a profile URL. Up to 39 login characters; reserved site routes and invalid logins are rejected.
1 - 40^@?[A-Za-z0-9](?:[A-Za-z0-9-]{0,37}[A-Za-z0-9])?$Query Parameters
Profile mode. Stars supports user accounts only.
overview, repositories, stars Overview only: 1970 through the current UTC year; activity is December or current month
x >= 1970Repositories only. Positive page number; 30 repository rows per page. Follow pagination.next_page.
x >= 1Stars only. Exact opaque pagination.next_page_token from the prior response; not a URL. 30 rows per page.
1024Response
Unwrapped profile object. Source-specific sections may be omitted. Representative examples are abridged and not live production results.
Unwrapped profile response, with mode-specific public sections.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Public user overview only; omitted for organizations and other tabs.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes

