GitHub Contributor Contacts & Developer Emails Scraper
Pricing
from $17.00 / 1,000 results
GitHub Contributor Contacts & Developer Emails Scraper
Scrape a GitHub repository's top contributors as developer leads: login, name, company, location, public email, blog, X handle, followers and profile link. Great for developer outreach and recruiting. Export to JSON, CSV or Excel.
Pricing
from $17.00 / 1,000 results
Rating
5.0
(1)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
6 days ago
Last modified
Categories
Share
GitHub Contributor Contacts & Developer Emails Scraper
Here is one real result, with every field the actor returns:
{"login": "sophiebits","name": "Sophie Alpert","company": null,"location": "San Francisco, CA","email": "git@sophiebits.com","emailSource": "commit","blog": "https://sophiebits.com/","twitterUsername": "sophiebits","linkedin": "https://www.linkedin.com/in/sophiebits/","socialAccounts": [{ "provider": "bluesky", "url": "https://bsky.app/profile/sophiebits.com" },{ "provider": "linkedin", "url": "https://www.linkedin.com/in/sophiebits/" },{ "provider": "twitter", "url": "https://twitter.com/sophiebits" }],"bio": "principal engineer. powered by dumplings!","hireable": null,"followers": 10496,"following": 0,"publicRepos": 178,"publicGists": 28,"contributions": 1300,"topLanguages": ["JavaScript", "TypeScript", "Python", "C", "LilyPond"],"topRepos": ["react-dom-mini:601", "es3ify:113", "adventofcode:93"],"pinnedRepos": ["react", "react-dom-mini", "KaTeX", "adventofcode"],"orgs": ["reactjs"],"totalStars": 900,"isBot": false,"accountCreatedAt": "2008-04-11T22:42:39Z","profileUpdatedAt": "2026-08-18T20:57:59Z","sourceRepo": "facebook/react","sourceType": "contributor","githubUrl": "https://github.com/sophiebits","avatarUrl": "https://avatars.githubusercontent.com/u/6820?v=4","source": "GitHub","observedAt": "2026-08-26T04:28:51.110Z"}
The most complete GitHub scraper for developer leads. It returns every contact field a public GitHub profile exposes (email, LinkedIn, X, Bluesky, Mastodon, blog, company, location), recovers emails from public commit history, adds derived signals (top languages, total stars, pinned repos, organisations), and gives you four ways to find developers plus nine filters to target exactly the people you need.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- How we compare
- Use cases
- Quickstart
- Input reference
- Output reference
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
- Related scrapers
What it does
This is a GitHub scraper, GitHub email finder and developer lead generation tool in one. Point it at repositories, organisations, a list of usernames, or a GitHub user search, and it returns clean, deduplicated developer-lead rows ready for a CRM, spreadsheet or outreach tool.
It finds developers four ways:
- Repository contributors by
owner/repoor full URL (e.g.facebook/react). - Organisation members for any org (public members).
- Direct usernames you already have.
- GitHub user search by main language, location and minimum followers, or a raw search query.
For every developer it captures the public profile (name, company, location, bio, hireable flag, followers, following, public repos and gists), the best public email it can find (profile email plus emails mined from public commit metadata), verified social accounts (LinkedIn, X, Bluesky, Mastodon, YouTube, personal site), and derived signals (top languages, total stars across owned repos, top repos, pinned repos, and the organisations the developer belongs to).
Everything comes from public GitHub data. No login, no cookies, no browser automation. Add an optional GitHub token to raise the rate limit for large jobs.
How we compare
We do not compete on price. Several GitHub scrapers on Apify are cheaper per record. We compete on completeness of contact data, number of filters, and valid derived fields, so a single run gives you a usable lead list instead of thin rows you then have to enrich elsewhere. Here is an honest comparison.
| Capability | This actor | louisdeconinck/github-email-scraper | bovi/github-profile-email-enricher | automation-lab/github-contributors-scraper | scrapesage/github-scraper |
|---|---|---|---|---|---|
| Find by repo contributors | Yes | Yes | Yes | Yes | Yes |
| Find by org members | Yes | Yes | Yes | No | Yes |
| Find by GitHub user search | Yes | No | Yes | No | Yes |
| Email from public commits | Yes | Yes | Yes | No | Yes |
| Verified LinkedIn / X / Bluesky / Mastodon | Yes | No | X only | No | No |
| Pinned repos | Yes | No | No | No | No |
| Top languages + total stars | Yes | No | No | No | Yes |
| Public organisations | Yes | No | No | No | No |
onlyWithEmail / onlyHireable / minFollowers filters | Yes | No | No | No | Partial |
minContributions filter | Yes | No | No | No | No |
Commit date window (since / until) | Yes | No | No | No | No |
| Exclude bot accounts | Yes | No | No | No | No |
| Never charges failed or empty runs | Yes | Charges even with no email | Charges even with no email | Yes | Yes |
| AI lead score + summary (opt-in) | Yes | No | No | No | Lead score only |
| Approx. adoption (total users) | Growing (100+ runs) | ~137 | ~17 | ~2 | ~6 |
| Approx. price per 1,000 records | ~$17 to $20 | ~$1 | ~$4.75 | ~$0.02 | ~$2.20 |
Why switch to us:
- louisdeconinck/github-email-scraper is the most adopted alternative and cheaper, but it returns only login, name, email, id, avatar and profile URL, has no company, location, social or follower data, no filters, and it currently carries a 1 out of 5 star rating. We return the full profile plus verified socials and derived signals.
- bovi/github-profile-email-enricher bills you per person even when no email is recovered. We only charge for records we return, and we add LinkedIn, Bluesky, Mastodon, pinned repos, top languages and organisations that it does not have.
- automation-lab/github-contributors-scraper is very cheap but has no email mining, no social accounts and no user search. It is a contributor lister, not a lead tool.
- scrapesage/github-scraper is close on breadth and cheaper, but it lacks verified social accounts beyond commit emails, pinned repos, org membership, and the
minContributions,since/untilandexcludeBotscontrols.
If your only requirement is the lowest possible price for logins and avatars, automation-lab or louisdeconinck will cost less. If you want a contact-rich lead list you can email today, this actor returns more valid fields per developer than any of them.
Use cases
- Developer recruiting and technical sourcing. Build shortlists of engineers by language, location and follower count, keep only hireable profiles or profiles with a public email, and export straight to your ATS.
- Developer-tool and API sales leads. Pull the contributors of repositories in your category, qualify them by contributions and top languages, and reach decision-making maintainers directly.
- Open-source community analysis. Map who contributes to a project or organisation, their affiliations, pinned work and total stars, for community reporting and ecosystem research.
- Contributor and maintainer outreach. Recover public commit emails and verified social accounts for a project's top contributors when you need to coordinate, sponsor or hire.
- Developer relations and sponsorship targeting. Rank developers by reach (followers, total stars) and find the channel to contact them (email, LinkedIn, X, Bluesky, personal site).
Quickstart
Contributors of a repository, enriched with repo signals:
{"repos": ["facebook/react"],"maxContributors": 25,"includeRepos": true,"onlyWithEmail": false}
Developer search by language and location:
{"userLanguage": "rust","userLocation": "Berlin","minFollowers": 500,"maxContributors": 50}
Organisation members with emails only:
{"orgs": ["apify"],"onlyWithEmail": true,"maxContributors": 100,"githubToken": "ghp_your_token_for_higher_limits"}
Input reference
| Name | Type | Required | Description | Example |
|---|---|---|---|---|
repos | array | one source required | Repositories as owner/repo or full URLs, and/or org names to scan their top repos | ["facebook/react"] |
usernames | array | one source required | Specific GitHub usernames to enrich | ["gaearon"] |
orgs | array | one source required | Organisation names; enriches public members | ["apify"] |
userSearchQuery | string | one source required | Raw GitHub user-search query | language:go location:London |
userLanguage | string | no | Filter search by main language | rust |
userLocation | string | no | Filter search by profile location | Berlin |
minFollowers | integer | no | Keep only developers with at least this many followers | 500 |
minContributions | integer | no | For contributors, keep those with at least this many contributions | 50 |
maxContributors | integer | no | Max developers to return (default 40, free plans capped at 10) | 25 |
includeEmail | boolean | no | Capture profile and commit-derived email (default true) | true |
includeSocial | boolean | no | Capture verified social accounts (default true) | true |
includeRepos | boolean | no | Add top languages, total stars, top repos, pinned repos (default false) | true |
onlyWithEmail | boolean | no | Return only developers with a recovered email | false |
onlyHireable | boolean | no | Return only developers with the hireable flag set | false |
excludeBots | boolean | no | Skip dependabot and other bot accounts (default true) | true |
since | string | no | Mine commit emails only after this ISO date | 2025-01-01T00:00:00Z |
until | string | no | Mine commit emails only before this ISO date | 2026-01-01T00:00:00Z |
githubToken | string | no | Personal access token for higher rate limits | ghp_... |
withLeadScore | boolean | no | Opt-in AI lead score (paid plans only) | false |
withProfileSummary | boolean | no | Opt-in AI profile summary (paid plans only) | false |
Output reference
| Name | Type | Description |
|---|---|---|
login | string | GitHub username |
name | string | Full name |
email | string | Public email (profile or commit-derived), null if none is public |
emailSource | string | profile or commit |
company | string | Company from the profile |
location | string | Location from the profile |
blog | string | Website or blog URL |
twitterUsername | string | X / Twitter handle |
linkedin | string | LinkedIn URL from verified social accounts |
socialAccounts | array | All verified social accounts (provider + url) |
bio | string | Profile bio |
hireable | boolean | Available-for-hire flag |
followers | integer | Follower count |
following | integer | Following count |
publicRepos | integer | Public repository count |
publicGists | integer | Public gist count |
contributions | integer | Contributions to the source repository |
topLanguages | array | Most-used languages across owned repos |
topRepos | array | Top owned repos by stars (name:stars) |
pinnedRepos | array | Pinned repositories from the public profile |
orgs | array | Public organisations the developer belongs to |
totalStars | integer | Total stars across owned repositories |
isBot | boolean | Whether the account is a bot |
accountCreatedAt | string | Account creation date |
profileUpdatedAt | string | Profile last-updated date |
sourceRepo | string | Repository or org the developer was found in |
sourceType | string | contributor, org_member, user_search or username |
githubUrl | string | GitHub profile URL |
avatarUrl | string | Avatar image URL |
aiLeadScore | integer | AI lead score 0 to 100 (opt-in add-on) |
aiLeadTier | string | AI lead tier hot/warm/cold (opt-in add-on) |
aiLeadRationale | string | One-line rationale for the AI lead score (opt-in) |
aiSummary | string | AI-written developer summary (opt-in add-on) |
Run via API and CLI
Start a run with the Apify API:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~github-contributor-contacts-scraper/runs?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"repos":["facebook/react"],"maxContributors":25,"includeRepos":true}'
Run with the Apify CLI:
apify call scrapers_lat/github-contributor-contacts-scraper \--input '{"orgs":["apify"],"onlyWithEmail":true,"maxContributors":50}'
Fetch results
Read the dataset items once the run finishes:
$curl "https://api.apify.com/v2/acts/scrapers_lat~github-contributor-contacts-scraper/runs/last/dataset/items?token=YOUR_APIFY_TOKEN&format=json"
Swap format=json for format=csv or format=xlsx to export to CSV or Excel.
Billing and limits
- Pay per result. You are billed per developer record returned via the
resultevent. Optional AI add-ons (ai_lead_score,ai_profile_summary) bill only when they produce output, and only on paid Apify plans. - No charge on failure. Empty runs, errors and no-match runs return an informational row and are not billed.
- Free plan cap. Free Apify accounts are capped at 10 records per run. Upgrade for larger jobs.
- Spend cap respected. Set
maxTotalChargeUsdand the actor stops emitting billable records once the limit is reached. - Rate limits. GitHub's public API allows 60 requests per hour without a token and 5,000 per hour with one. Large repositories and searches run faster and further with a
githubToken. The actor backs off and retries automatically when GitHub throttles.
FAQ and troubleshooting
Why are some emails null? Many developers keep their email private on GitHub and use a noreply commit address. We return the public profile email when present and mine public commit metadata for a real address, but we never invent one. Use onlyWithEmail to keep only records where an email was recovered.
Do you use the login-only or private data? No. Everything is public GitHub data (public REST API and public profile pages). No login, cookies or private scopes are used.
How do I search developers by location and language? Set userLanguage, userLocation and minFollowers, or pass a raw userSearchQuery. GitHub user search returns up to 1,000 matches per query.
Can I process many repositories or orgs in one run? Yes. repos, usernames and orgs are lists, and results are deduplicated across all sources.
What is the difference from a plain contributors lister? Beyond the login and contribution count, this actor recovers emails, verified social accounts, top languages, total stars, pinned repos and organisations, so each row is an outreach-ready lead.
Do I need a GitHub token? No, but adding one raises the rate limit from 60 to 5,000 requests per hour, which matters for large repos and searches.
Related scrapers
- LinkedIn, company and people data scrapers for B2B enrichment
- Email finder and contact enrichment actors
- Other developer and package registry scrapers
More scrapers at scrapers.lat
Browse the full catalog of company, contact, finance and developer data scrapers at scrapers.lat.
This is an independent actor and is not affiliated with, endorsed by, or sponsored by GitHub, Inc.
