GitHub Scraper
Extract public GitHub repository, profile, repository search, and trending repository metadata, including stars, forks, topics, languages, licenses, dates, follower counts, and trend velocity when visible.
Overview
GitHub Scraper gives agents a structured way to inspect public open-source activity without managing a GitHub integration. Choose repository, profile, search, or trending mode and the tool normalizes public GitHub metadata into compact records for research, competitive intelligence, sourcing, technical due diligence, DevRel monitoring, and newsletter curation.
Last validated: Jul 3, 2026
Playground
Input
mode"repo" | "profile" | "search" | "trending"default: "repo"Extraction mode: repo, profile, search, or trending.
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 repository records to return for search or trending modes.
repo_or_urlstringOwner/repo slug or GitHub repository URL. Required for repo mode.
username_or_urlstringGitHub username or profile URL. Required for profile mode.
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"
}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 issues, pull requests, releases, or contributors?
Not yet. Version 0.1 focuses on repository, profile, search, and trending metadata. Issues, pull requests, releases, contributors, README text, and deep pagination should be added as separate validated slices.
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, Cursor, any client)
# Add the Better Fetch MCP connector (or paste the URL into # Claude → Settings → Connectors → Add custom connector): claude mcp add --transport http better-fetch https://betterfetch.co/api/mcp \ --header "Authorization: Bearer bf_your_key_here" # Then ask for the tool by name: github_scraper
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/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"}'