GitHub Developer Data API
The GitHub Developer Data API returns official GitHub REST data — profiles, repos, issues and more — as clean JSON.
🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.
The primary user endpoint returns a user's login, name, bio, company, blog, location, public-repo count, followers and creation date, and the actions cover a user's repos, followers, following and gists, plus a repo's issues, pulls, commits and contributors. It is a normalized, key-managed layer over the GitHub API for developer-analytics, recruiting and open-source-intelligence tools. One ReefAPI key, one shared credit pool, the standard envelope.
Real request and response JSON
Captured from the indexed primary action, user, on .
{
"method": "POST",
"url": "https://api.reefapi.com/github/v1/user",
"headers": {
"x-api-key": "$REEF_KEY",
"content-type": "application/json"
},
"body": {
"username": "torvalds"
}
}{
"ok": true,
"meta": {
"api": "github",
"endpoint": "user",
"mode": "live",
"latency_ms": 502.5,
"record_count": 1,
"bytes": 1224,
"cache_hit": false,
"rate_limit": 5000,
"rate_limit_remaining": 4996,
"rate_limit_used": 4,
"rate_limit_reset": 1784398550,
"rate_limit_resource": "core",
"has_more": false,
"auth_tier": "token"
},
"data": {
"login": "torvalds",
"id": 1024025,
"node_id": "MDQ6VXNlcjEwMjQwMjU=",
"avatar_url": "https://avatars.githubusercontent.com/u/1024025?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/torvalds",
"html_url": "https://github.com/torvalds",
"followers_url": "https://api.github.com/users/torvalds/followers",
"following_url": "https://api.github.com/users/torvalds/following{/other_user}",
"gists_url": "https://api.github.com/users/torvalds/gists{/gist_id}",
"starred_url": "https://api.github.com/users/torvalds/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/torvalds/subscriptions",
"organizations_url": "https://api.github.com/users/torvalds/orgs",
"repos_url": "https://api.github.com/users/torvalds/repos",
"events_url": "https://api.github.com/users/torvalds/events{/privacy}",
"received_events_url": "https://api.github.com/users/torvalds/received_events",
"type": "User",
"user_view_type": "public",
"site_admin": false,
"name": "[redacted-name]",
"company": "Linux Foundation",
"blog": "",
"location": "Portland, OR",
"email": null,
"hireable": null,
"bio": null,
"twitter_username": null,
"public_repos": 12,
"public_gists": 1,
"followers": 312266,
"following": 0,
"created_at": "[redacted-phone]T15:26:22Z",
"updated_at": "[redacted-phone]T07:26:01Z"
}
}What the GitHub Developer Data API does
| Action | Description | Concrete use case | Key params |
|---|---|---|---|
| user | GitHub user profile | Ops teams call user to get gitHub user profile. | username, anon_tier |
| user_repos | repositories owned by a user | Developer tools call user_repos to get repositories owned by a user. | username, type, sort, direction, page, ... |
| user_followers | followers for a user | Validation workflows call user_followers to get followers for a user. | username, page, per_page, cursor |
| user_following | accounts followed by a user | Data-quality teams call user_following to get accounts followed by a user. | username, page, per_page, cursor |
| user_gists | public gists for a user | Ops teams call user_gists to get public gists for a user. | username, page, per_page, cursor |
| repo | repository metadata | Developer tools call repo to get repository metadata. | owner, repo |
| repo_issues | repository issues | Validation workflows call repo_issues to get repository issues. | owner, repo, state, since, sort, ... |
| repo_pulls | repository pull requests | Data-quality teams call repo_pulls to get repository pull requests. | owner, repo, state, sort, direction, ... |
| repo_commits | repository commits | Ops teams call repo_commits to get repository commits. | owner, repo, sha, path, author, ... |
| repo_contributors | repository contributors | Developer tools call repo_contributors to get repository contributors. | owner, repo, anon, page, per_page, ... |
| repo_releases | repository releases | Validation workflows call repo_releases to get repository releases. | owner, repo, page, per_page, cursor |
| repo_stargazers | repository stargazers | Data-quality teams call repo_stargazers to get repository stargazers. | owner, repo, page, per_page, cursor |
| repo_forks | repository forks | Ops teams call repo_forks to get repository forks. | owner, repo, sort, page, per_page, ... |
| repo_languages | repository language byte counts | Developer tools call repo_languages to get repository language byte counts. | owner, repo |
| repo_contents | repository content metadata for a path | Validation workflows call repo_contents to get repository content metadata for a path. | owner, repo, path, ref |
| repo_readme | repository README metadata/content URL | Data-quality teams call repo_readme to get repository README metadata/content URL. | owner, repo, ref |
| org | organization profile | Ops teams call org to get organization profile. | org |
| org_repos | organization repositories | Developer tools call org_repos to get organization repositories. | org, type, sort, direction, page, ... |
| org_members | public organization members | Validation workflows call org_members to get public organization members. | org, filter, role, page, per_page, ... |
| search_repos | search repositories | Data-quality teams call search_repos to search repositories. | q, sort, order, page, per_page |
| search_users | search users | Ops teams call search_users to search users. | q, sort, order, page, per_page |
| search_code | search code (token required by GitHub) | Developer tools call search_code to search code (token required by GitHub). | q, sort, order, page, per_page |
| search_issues | search issues and pull requests | Validation workflows call search_issues to search issues and pull requests. | q, sort, order, page, per_page |
| search_topics | search GitHub topics | Data-quality teams call search_topics to search GitHub topics. | q, page, per_page |
| search_commits | search commits across GitHub | Ops teams call search_commits to search commits across GitHub. | q, sort, order, page, per_page |
| repo_branches | repository branches | Developer tools call repo_branches to get repository branches. | owner, repo, page, per_page, cursor |
| repo_tags | repository tags | Validation workflows call repo_tags to get repository tags. | owner, repo, page, per_page, cursor |
| repo_topics | repository topics (labels) | Data-quality teams call repo_topics to get repository topics (labels). | owner, repo |
| issue_detail | single issue detail | Ops teams call issue_detail to get single issue detail. | owner, repo, number |
| issue_comments | comments on an issue or PR | Developer tools call issue_comments to get comments on an issue or PR. | owner, repo, number, since, page, ... |
| pull_detail | single pull request detail | Validation workflows call pull_detail to get single pull request detail. | owner, repo, number |
| pull_reviews | reviews on a pull request | Data-quality teams call pull_reviews to get reviews on a pull request. | owner, repo, number, page, per_page, ... |
| pull_files | files changed in a pull request | Ops teams call pull_files to get files changed in a pull request. | owner, repo, number, page, per_page, ... |
| pull_commits | commits in a pull request | Developer tools call pull_commits to get commits in a pull request. | owner, repo, number, page, per_page, ... |
| commit_detail | single commit detail with diff stats and changed files | Validation workflows call commit_detail to get single commit detail with diff stats and changed files. | owner, repo, sha |
| user_events | public activity events for a user | Data-quality teams call user_events to get public activity events for a user. | username, page, per_page, cursor |
| user_orgs | organizations a user belongs to (public) | Ops teams call user_orgs to get organizations a user belongs to (public). | username, page, per_page, cursor |
| user_starred | repositories a user has starred | Developer tools call user_starred to get repositories a user has starred. | username, sort, direction, page, per_page, ... |
| rate_limit | current token/IP rate-limit status | Validation workflows call rate_limit to get current token/IP rate-limit status. | none |
Call user from your stack
curl -X POST https://api.reefapi.com/github/v1/user \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"username":"torvalds"}'import requests
r = requests.post(
"https://api.reefapi.com/github/v1/user",
headers={"x-api-key": REEF_KEY},
json={
"username": "torvalds"
},
)
print(r.json()["data"])const res = await fetch("https://api.reefapi.com/github/v1/user", {
method: "POST",
headers: {
"x-api-key": process.env.REEF_KEY,
"content-type": "application/json",
},
body: JSON.stringify({
"username": "torvalds"
}),
});
const { ok, data, meta, error } = await res.json();Ask your MCP-connected assistant: call reefapi.github.user with {"username":"torvalds"}.Who uses this API and why
- Developer-analytics tools call user and user_repos to profile a developer's activity and stack.
- Technical recruiters use user_repos and repo_contributors to find and evaluate open-source talent.
- OSS-intelligence products use repo_issues and repo_commits to track a project's health and velocity.
Questions developers ask before integrating
What is the GitHub Developer Data API?
GitHub Developer Data API is a ReefAPI endpoint group for github developer data It returns live JSON through POST requests under /github/v1.
Is the GitHub Developer Data API free to try?
Yes. ReefAPI starts with 1,000 free credits, no card required. GitHub Developer Data calls use the same shared credit balance as every other ReefAPI engine.
Do I need a GitHub Developer Data login or account?
No login to GitHub Developer Data is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.
How fresh is the GitHub Developer Data data?
The page example is captured from a live user call, and production requests fetch live data through ReefAPI rather than a static sample.
How many credits does the GitHub Developer Data API use?
GitHub Developer Data actions currently cost 1-3 credits per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.
Can I call GitHub Developer Data from an AI assistant or MCP client?
Yes. Connect ReefAPI once through MCP and your assistant can call github actions with the same key, credit pool and JSON envelope used by normal REST requests.
Is the GitHub Developer Data API a GitHub Developer Data scraper?
It is the managed alternative to a DIY GitHub Developer Data scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same github developer data back as clean JSON.
Why does my GitHub Developer Data scraper keep getting blocked?
Most GitHub Developer Data scrapers break on anti-bot defenses, rate limits and IP bans that need rotating residential proxies and browser fingerprinting to clear. ReefAPI handles all of that for you — no proxies, no captchas, no maintenance — and returns live JSON. Blocked or failed calls are free.