GitHub Profile
Parse a GitHub user or organization profile page into structured JSON with name, bio, followers, following, public repos, pinned repos, and organizations.
API usage
Add &scraper=github-profile to a Crawling API request. URL-encode the target URL in the url parameter.
curl 'https://api.crawlbase.com/?token=YOUR_TOKEN' \
--data-urlencode 'url=https://github.com/karpathy' \
--data-urlencode 'scraper=github-profile' -Gfrom crawlbase import CrawlingAPI
api = CrawlingAPI({'token': 'YOUR_TOKEN'})
res = api.get(
'https://github.com/karpathy',
{'scraper': 'github-profile'}
)
import json
data = json.loads(res['body'])const { CrawlingAPI } = require('crawlbase');
const api = new CrawlingAPI({ token: 'YOUR_TOKEN' });
const res = await api.get(
'https://github.com/karpathy',
{ scraper: 'github-profile' }
);
const data = JSON.parse(res.body);require 'crawlbase'
api = Crawlbase::API.new(token: 'YOUR_TOKEN')
res = api.get('https://github.com/karpathy', scraper: 'github-profile')
data = JSON.parse(res.body)Example input URL
The URL passed in the url parameter (URL-decoded for readability):
https://github.com/karpathyResponse shape
JSON response body. Field types may be null when the source page omits the value.
Display name.
Account login (the profile slug).
Profile bio.
Canonical profile URL.
Follower count.
Following count.
Public repository count shown on the Repositories tab.
Names of the pinned repositories.
Logins of organizations shown on the profile.
Sample response
{
"name": "Andrej",
"username": "karpathy",
"bio": "I like to train Deep Neural Nets on large datasets.",
"url": "https://github.com/karpathy",
"followers": 210000,
"following": 8,
"publicRepos": 63,
"pinnedRepos": ["nanoGPT", "nanochat", "llm.c", "llama2.c", "micrograd", "microgpt"],
"organizations": []
}