github.com APIgithub.com ↗
Access GitHub repository metadata, README content, file trees, releases, issues with comments, and user profiles via a single structured API.
curl -X POST 'https://api.parse.bot/scraper/c62c5062-8f8d-4477-ba78-2b9c68a1788b/get_repo_info' \
-H 'X-API-Key: $PARSE_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"repo": "react",
"owner": "facebook"
}'Get detailed repository information including name, description, languages, size, dates, stars, forks, issues count, contributors count, recent commit activity, topics, and license.
| Param | Type | Description |
|---|---|---|
| reporequired | string | Repository name, e.g. 'react' |
| ownerrequired | string | Repository owner (user or organization), e.g. 'facebook' |
{
"type": "object",
"fields": {
"name": "string",
"forks": "integer",
"owner": "object (login, type, avatar_url)",
"stars": "integer",
"topics": "array of strings",
"is_fork": "boolean",
"license": "string or null",
"size_kb": "integer",
"homepage": "string",
"html_url": "string",
"watchers": "integer",
"full_name": "string",
"languages": "object (language: bytes)",
"pushed_at": "string (ISO date)",
"created_at": "string (ISO date)",
"updated_at": "string (ISO date)",
"description": "string",
"is_archived": "boolean",
"open_issues": "integer",
"subscribers": "integer",
"network_count": "integer",
"default_branch": "string",
"recent_commits": "array of objects (sha, message, author, author_login, date)",
"primary_language": "string",
"contributors_count": "integer or null"
},
"sample": {
"data": {
"name": "react",
"forks": 51021,
"owner": {
"type": "Organization",
"login": "facebook",
"avatar_url": "https://avatars.githubusercontent.com/u/69631?v=4"
},
"stars": 244773,
"topics": [
"declarative",
"frontend",
"javascript",
"library",
"react",
"ui"
],
"is_fork": false,
"license": "MIT License",
"size_kb": 968398,
"homepage": "https://react.dev",
"html_url": "https://github.com/facebook/react",
"watchers": 244773,
"full_name": "facebook/react",
"languages": {
"JavaScript": 5448572,
"TypeScript": 2306590
},
"pushed_at": "2026-04-29T20:18:39Z",
"created_at": "2013-05-24T16:15:54Z",
"updated_at": "2026-05-01T02:30:53Z",
"description": "The library for web and native user interfaces.",
"is_archived": false,
"open_issues": 1256,
"subscribers": 6634,
"network_count": 51021,
"default_branch": "main",
"recent_commits": [
{
"sha": "f4e0d4ed0cb44f5f106579d20824f49ec41247f3",
"date": "2026-04-29T20:12:57Z",
"author": "John Doe",
"message": "[enableInfiniteRenderLoopDetection] Add a flag...",
"author_login": "johndoe"
}
],
"primary_language": "JavaScript",
"contributors_count": 1
},
"status": "success"
}
}About the github.com API
This API exposes 10 endpoints covering GitHub repository data, source code, and user profiles. You can fetch full file trees with get_file_tree, retrieve decoded README text with get_repo_readme, pull paginated issue threads including all comments via get_issue_detail, and search across repositories using GitHub search syntax — all returning structured JSON with consistent field shapes.
Repository Data
get_repo_info returns core metadata for any public repository: stars, forks, size_kb, topics, license, is_fork, homepage, and owner details including login, type, and avatar_url. get_repo_releases extends this with paginated release history — each entry includes tag_name, prerelease, draft, body (release notes), published_at, author identity, and a list of downloadable assets. Both endpoints require owner and repo as inputs.
Source Code and File Access
get_file_content accepts an optional path and ref (branch, tag, or commit SHA) and returns either decoded file text or a directory listing with name, path, type, size, html_url, and download_url per entry. get_file_tree fetches the full recursive tree in one call, returning each node's path, type, and size, plus a file_type_summary object mapping file extensions to counts — useful for quickly characterising a project's language mix without walking individual directories. The truncated boolean signals when the tree exceeds GitHub's node limit.
Issues and Conversations
get_repo_issues lists issues filtered by state (open, closed, all), labels, and sort order, automatically excluding pull requests. Each item includes number, title, body, labels, assignees, comments_count, and timestamps. get_issue_detail retrieves a single issue's full body plus the complete comment thread — each comment carries id, user, body, created_at, updated_at, and reactions — controlled by include_comments and comments_per_page.
Search and User Profiles
search_repos accepts free-text queries and GitHub search qualifiers (language:terraform, topic:python, etc.) with sorting by stars, forks, help-wanted-issues, or updated, returning total_count, incomplete_results, and per-item fields including language, topics, and license. get_user_profile returns individual account data — bio, location, email, company, hireable, blog, follower counts, and owned repositories — and is scoped to user accounts only, not organizations. get_user_starred pages through a user's starred repositories with standard repo fields.
- Aggregate star and fork counts across competing open-source projects using
search_reposwith topic qualifiers. - Extract README content from a repository batch for AI-assisted documentation summarisation via
get_repo_readme. - Map a project's file structure and extension breakdown with
get_file_treebefore onboarding to a new codebase. - Track open bug reports and feature requests by polling
get_repo_issuesfiltered to specific labels. - Build a release changelog feed by polling
get_repo_releasesfortag_name,body, andpublished_atfields. - Reconstruct full support conversations for analysis by fetching issue threads with
get_issue_detailincluding all comments. - Profile developer interests by pulling starred repositories via
get_user_starredand analysingtopicsandlanguagefields.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does GitHub have an official developer API?+
What does `get_file_tree` return for very large repositories?+
get_file_tree returns a flat array of objects with path, type, and size for every node, plus a file_type_summary mapping extensions to counts. For repositories with more nodes than GitHub's tree API limit, the truncated field is set to true and the tree will be partial. Fetching subtrees by specifying a subdirectory path is not currently a parameter on this endpoint; you can fork it on Parse and revise to add a path filter.Does `get_user_profile` work for GitHub organizations?+
get_user_profile is scoped to individual user accounts and will not return organization-level data such as member lists, org repositories, or team structure. The API covers user bio, location, email, company, hireable, follower counts, and owned repos. You can fork this API on Parse and revise it to add an organization-specific endpoint.Can I retrieve pull request data through these endpoints?+
get_repo_issues explicitly filters out pull requests, so only issues are returned. PR metadata, review threads, diff content, and merge status are not currently covered. You can fork this API on Parse and revise it to add a pull requests endpoint.How does pagination work across list endpoints?+
get_repo_releases, get_repo_issues, search_repos, and get_user_starred — accept page and per_page parameters (max 100 per page). get_user_starred returns an empty starred_repos array when the requested page exceeds the available results, so you can use that as a termination signal when iterating.