GitHub Contributors Scraper
Pricing
Pay per event
GitHub Contributors Scraper
Export ranked contributor lists from public GitHub repositories with contribution counts, profile URLs, repo metadata, and optional profile enrichment.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Export ranked contributor lists from public GitHub repositories using the official GitHub REST API.
This actor turns one or more GitHub repositories into clean dataset rows with contributor logins, profile URLs, avatar URLs, contribution counts, repository metadata, and optional public profile enrichment.
Use it for developer relations, open-source intelligence, recruiting research, ecosystem mapping, competitive engineering research, and community reporting.
What does GitHub Contributors Scraper do?
GitHub Contributors Scraper extracts contributors from public repositories.
It accepts repository strings like apify/crawlee or full URLs like https://github.com/apify/crawlee.
For each repository it saves a ranked list of contributors.
Each row includes the contributor's GitHub profile URL and contribution count.
The actor can also add repository stars, forks, language, description, open issues, and archive status.
If you enable profile enrichment, it fetches public user profile fields such as name, company, location, bio, followers, and public repo count.
Who is it for?
Developer relations teams
Track active contributors in your ecosystem.
Find community members who repeatedly contribute to public projects.
Build lists for contributor recognition, ambassador programs, and community outreach.
Recruiters and talent teams
Identify engineers contributing to specific open-source repositories.
Export profile links and public profile metadata for sourcing workflows.
Prioritize contributors by contribution counts.
Open-source maintainers
Audit repository contributor lists.
Create reports about project health and contributor distribution.
Monitor the top contributors across related projects.
Competitive intelligence teams
Compare contributor communities across competing frameworks, SDKs, tools, and libraries.
Export structured data for spreadsheets, BI tools, and CRM enrichment.
Why use this actor?
GitHub already exposes contributors in the UI, but manually copying that information is slow.
This actor creates a reusable dataset in seconds.
It works without cookies or browser automation.
It uses the public REST API and paginates with GitHub Link headers.
It supports optional user-provided GitHub tokens for larger workloads.
It produces predictable rows that are easy to export to CSV, JSON, Excel, Google Sheets, or your own API workflow.
What data can you extract?
| Field | Description |
|---|---|
repository | Repository in owner/name format |
repositoryUrl | Direct GitHub repository URL |
repositoryOwner | Repository owner |
repositoryName | Repository name |
contributorLogin | GitHub username |
contributorId | Numeric GitHub user ID |
contributorType | GitHub account type |
contributorUrl | GitHub profile URL |
avatarUrl | Avatar image URL |
contributions | Contribution count returned by GitHub |
rank | Contributor rank within the repository |
siteAdmin | GitHub site admin flag |
repoStars | Repository stars, when metadata is enabled |
repoForks | Repository forks, when metadata is enabled |
repoLanguage | Primary language, when metadata is enabled |
userName | Public profile name, when user enrichment is enabled |
userCompany | Public profile company, when user enrichment is enabled |
userLocation | Public profile location, when user enrichment is enabled |
userFollowers | Public follower count, when user enrichment is enabled |
scrapedAt | ISO timestamp for the run |
How much does it cost to scrape GitHub contributors?
The actor uses pay-per-event pricing.
You pay a small start fee for a run and a per-contributor fee for rows saved to the dataset.
Default pricing is designed for lightweight API extraction.
Because the actor does not use a browser or paid proxy by default, typical runs are inexpensive.
Large enriched runs may use more GitHub API quota because user enrichment performs one extra request per contributor.
Check the Apify run details for exact charged event counts and compute usage.
Input options
repositories
A list of repositories to process.
Accepted formats:
apify/crawleeapify/apify-sdk-jshttps://github.com/apify/crawlee
maxContributorsPerRepo
Maximum number of contributor rows to save for each repository.
Use the default for a balanced first run.
Increase it when you need deeper lists.
includeRepoMetadata
Adds repository-level information to every contributor row.
This is enabled by default.
includeUserDetails
Adds public user profile details.
This is disabled by default because it uses one extra GitHub API request per contributor.
Enable it when you need sourcing, CRM, or enrichment fields.
githubToken
Optional GitHub token for higher API quota.
Small public runs do not require a token.
Use your own token for larger workloads or user enrichment.
requestDelayMs
Delay between paginated and enrichment requests.
Keep a small delay to be polite to GitHub and avoid hitting rate limits too quickly.
Example input
{"repositories": ["apify/crawlee","https://github.com/apify/apify-sdk-js"],"maxContributorsPerRepo": 100,"includeRepoMetadata": true,"includeUserDetails": false,"requestDelayMs": 250}
Example output
{"repository": "apify/crawlee","repositoryUrl": "https://github.com/apify/crawlee","repositoryOwner": "apify","repositoryName": "crawlee","contributorLogin": "example-user","contributorId": 12345,"contributorType": "User","contributorUrl": "https://github.com/example-user","avatarUrl": "https://avatars.githubusercontent.com/u/12345?v=4","contributions": 120,"rank": 1,"siteAdmin": false,"repoStars": 18000,"repoForks": 1600,"repoLanguage": "TypeScript","scrapedAt": "2026-07-10T00:00:00.000Z"}
How to run the actor
- Open the actor on Apify.
- Add one or more public GitHub repositories.
- Choose the maximum contributors per repository.
- Keep repository metadata enabled for reporting fields.
- Enable user details only when you need profile enrichment.
- Add a GitHub token if you plan to run large enriched exports.
- Start the run.
- Download the dataset as CSV, JSON, Excel, XML, or via API.
Tips for best results
Start with one repository and the default limit.
Use owner/repo format for the cleanest input.
Use a GitHub token for large jobs.
Avoid enabling user enrichment for thousands of contributors unless you have enough GitHub API quota.
Combine multiple related repositories in one run when you want a unified export.
Sort by contributions or rank in your downstream spreadsheet.
GitHub API quota notes
Unauthenticated GitHub REST API requests are rate limited.
The default actor settings are intentionally conservative.
Repository metadata uses one request per repository.
Contributor pagination uses roughly one request per 100 contributors.
User enrichment uses one request per contributor.
A GitHub token increases quota under your GitHub account.
The actor does not ask for private repository access.
Only public repository endpoints are used.
Integrations
Send results to Google Sheets for community reporting.
Export CSV files for recruiter sourcing workflows.
Use webhooks to notify a Slack channel when a repository contributor export completes.
Feed the dataset into BI tools to compare contributor communities.
Join exported contributors with internal CRM records.
Run scheduled exports to monitor open-source community changes over time.
API usage
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/github-contributors-scraper').call({repositories: ['apify/crawlee'],maxContributorsPerRepo: 100,includeRepoMetadata: true});console.log(run.defaultDatasetId);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_APIFY_TOKEN')run = client.actor('automation-lab/github-contributors-scraper').call(run_input={'repositories': ['apify/crawlee'],'maxContributorsPerRepo': 100,'includeRepoMetadata': True,})print(run['defaultDatasetId'])
cURL
curl -X POST 'https://api.apify.com/v2/acts/automation-lab~github-contributors-scraper/runs?token=YOUR_APIFY_TOKEN' \-H 'Content-Type: application/json' \-d '{"repositories":["apify/crawlee"],"maxContributorsPerRepo":100}'
MCP usage
Use this actor through Apify MCP when you want Claude or another MCP client to export GitHub contributor data.
MCP URL:
https://mcp.apify.com/?tools=automation-lab/github-contributors-scraper
Claude Code setup command:
$claude mcp add apify-github-contributors https://mcp.apify.com/?tools=automation-lab/github-contributors-scraper
Claude Desktop JSON configuration:
{"mcpServers": {"apify-github-contributors": {"url": "https://mcp.apify.com/?tools=automation-lab/github-contributors-scraper"}}}
Example MCP prompts
Example prompt 1:
Use the GitHub Contributors Scraper MCP tool for apify/crawlee and summarize the top 20 contributors by contribution count.
Example prompt 2:
Use MCP to export contributors from apify/crawlee and apify/apify-sdk-js, then compare the overlap in contributor communities.
Example prompt 3:
Run the GitHub contributor extractor through Apify MCP for apify/apify-sdk-js and create a recruiting shortlist with public profile URLs.
Common workflows
DevRel community list
Run the actor for your main open-source repositories.
Export contributor profiles.
Filter by contribution count.
Send high-signal community members to your outreach workflow.
Recruiting source list
Enable public user details.
Export profile URLs, company, location, and follower counts.
Review public profiles manually before outreach.
Competitor ecosystem report
Run the actor for comparable open-source repositories.
Compare top contributors, stars, forks, and language fields.
Create a recurring report for community intelligence.
Limitations
GitHub controls the contributor data and API rate limits.
The actor only processes public repositories.
Private repositories require GitHub permissions and are outside this actor's default public-data scope.
Contribution counts come from GitHub's contributors endpoint and may differ from custom contribution analytics.
Anonymous contributors are not included by default.
Public user profile enrichment only returns fields GitHub exposes publicly.
Troubleshooting
I received a GitHub API rate limit error
Reduce maxContributorsPerRepo, disable user enrichment, wait for quota reset, or provide your own GitHub token.
A repository returns not found
Check that the repository is public and that the input is in owner/repo format or a valid GitHub repository URL.
User enrichment is slow
User enrichment performs an extra request per contributor. Disable it for large exports or add a token and keep a small request delay.
Legality
This actor uses public GitHub REST API endpoints for public repositories.
You should only process data for lawful purposes and respect GitHub's terms, API limits, privacy rules, and applicable data protection laws.
Do not use exported data for spam or prohibited outreach.
FAQ
Is it legal to scrape GitHub contributors?
This actor uses public GitHub API data from public repositories. Your use case still must comply with GitHub terms and applicable laws.
Do I need a GitHub token?
No token is needed for small public exports. Add your own token for larger runs or profile enrichment.
Can it scrape private repositories?
This actor is designed for public repositories. Private repository workflows are outside the default public-data scope.
Related scrapers
Explore other Automation Lab actors for developer, company, and web data workflows:
- https://apify.com/automation-lab/website-contact-finder
- https://apify.com/automation-lab/bulk-url-status-checker
- https://apify.com/automation-lab/domain-email-discovery
Support
If you need a field that is publicly available in the GitHub API but not included yet, open an issue on the actor page.
Include an example repository and the output field you need.
Changelog
See .actor/CHANGELOG.md for release notes.
Summary
GitHub Contributors Scraper is a focused API actor for exporting contributors from public GitHub repositories.
It is designed to be simple, quota-aware, and useful for repeat reporting workflows.
It gives you structured contributor rows without browser automation, cookies, or manual copying.