GitHub Scraper
Extract public GitHub users, repositories, pull requests, activity, followers, following, contributions, repository details, search, trending repositories, and trending developers as normalized JSON.
Workspace
Configure
Inputs stay here while results become exportable artifacts.
Start from an example
Results
Preview, inspect, copy, or export the complete output.
Your result will become an artifact
Run the tool to inspect structured rows, raw JSON, execution details, and downloadable JSON, CSV, and Markdown files.
Overview
GitHub Scraper gives agents a structured view of public open-source activity without requiring a GitHub token. Eleven modes cover user profiles, owned repositories, public pull requests, activity events, social graphs, contribution summaries, repository details, repository search, and both GitHub Trending surfaces.
Last validated: Jul 15, 2026
Input
mode"repo" | "profile" | "repositories" | "pull_requests" | "activity" | "followers" | "following" | "contributions" | "search" | "trending" | "trending_developers"default: "repo"GitHub operation to run. User-scoped modes use username_or_url; repo uses repo_or_url.
sort"stars" | "forks" | "updated"default: "stars"Repository search sort field.
order"desc" | "asc"default: "desc"Repository search sort direction.
querystringGitHub repository search query. Required for search mode.
since"daily" | "weekly" | "monthly"default: "daily"GitHub Trending period for trending mode.
languagestringOptional GitHub Trending language filter, such as typescript, python, go, or rust.
max_resultsintegerdefault: 10Maximum records to return for list modes.
repo_or_urlstringOwner/repo slug or GitHub repository URL. Required for repo mode.
username_or_urlstringGitHub username or profile URL. Required for profile, repositories, pull_requests, activity, followers, following, and contributions modes.
Output
modestringrequiredExtraction mode used
countintegerrequiredNumber of returned records
itemsobject[]requiredPublic GitHub repository, profile, search, or trending records
source_urlstringrequiredFetched GitHub API or page URL
Examples
react-repo
{
"mode": "repo",
"repo_or_url": "facebook/react"
}openai-profile
{
"mode": "profile",
"username_or_url": "openai"
}openai-repositories
{
"mode": "repositories",
"max_results": 3,
"username_or_url": "sindresorhus"
}openai-pull-requests
{
"mode": "pull_requests",
"max_results": 3,
"username_or_url": "sindresorhus"
}openai-activity
{
"mode": "activity",
"max_results": 3,
"username_or_url": "sindresorhus"
}openai-followers
{
"mode": "followers",
"max_results": 3,
"username_or_url": "sindresorhus"
}openai-following
{
"mode": "following",
"max_results": 3,
"username_or_url": "sindresorhus"
}openai-contributions
{
"mode": "contributions",
"username_or_url": "sindresorhus"
}trending-repositories
{
"mode": "trending",
"since": "daily",
"max_results": 3
}trending-developers
{
"mode": "trending_developers",
"since": "daily",
"max_results": 3
}Use cases
FAQ
Does GitHub Scraper need a GitHub token?
No. Version 0.1 uses public GitHub endpoints and public pages through Better Fetch. It does not access private repositories or authenticated account data.
Can it fetch pull requests and public activity?
Yes. Pull-request mode searches public pull requests authored by a user, while activity mode returns their recent public GitHub events. Separate first-party tools cover repository issues and releases.
Why are results limited?
The unauthenticated GitHub API is rate-limited, and GitHub Trending has a bounded page size. The tool keeps each run small and predictable so it remains reliable for agent workflows.
Use it anywhere
MCP (Claude, ChatGPT, Codex)
# After connecting https://betterfetch.co/api/mcp, ask your AI to:
1. Call search_tools for "GitHub Scraper"
2. Call run_tool with:
name: "github_scraper"
input: {"mode":"repo","repo_or_url":"facebook/react"}REST
curl -sS -X POST "https://betterfetch.co/api/tools/github_scraper/run" \
-H "Authorization: Bearer bf_your_key_here" \
-H "Content-Type: application/json" \
-d '{"input": {"mode":"repo","repo_or_url":"facebook/react"}}'Run locally
git clone https://github.com/better-fetch/tools/tree/main/tools/github-scraper && cd github-scraper && npm i
BETTER_FETCH_API_KEY=bf_your_key_here npx bf-tool run --input '{"mode":"repo","repo_or_url":"facebook/react"}'