GitHub Repo Audience Scraper — Forkers & Watchers avatar

GitHub Repo Audience Scraper — Forkers & Watchers

Pricing

from $1.50 / 1,000 results

Go to Apify Store
GitHub Repo Audience Scraper — Forkers & Watchers

GitHub Repo Audience Scraper — Forkers & Watchers

Export the developers engaged with any GitHub repository — the people who forked, watch, or contributed to it — enriched with name, company, location, website and X/Twitter. Build high-intent developer lead lists. No token needed for forkers and contributors.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

Haketa

Haketa

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

2 days ago

Last modified

Features

Limited permissions

Share

🎯 GitHub Repo Audience Scraper — Forkers, Watchers & Contributors as Developer Leads

Apify Actor Maintenance Data Format Pagination GitHub Token

Export the developers who forked, watch, or contributed to any repository on GitHub — as an enriched, spreadsheet-ready developer lead list with 1,000+ deep pagination unlocked.

This high-performance GitHub scraper extracts the real engineers actively building with any open-source framework or developer tool. Every developer is enriched with full name, current company, geographical location, personal website, X/Twitter handle, follower count, and public email (optional). No login or token required for forkers and contributors — just paste a repo and press Start.

Export every developer record directly to JSON, CSV, Excel, or API.

Built for dev-tool & SaaS marketers, technical sourcers, DevRel teams, open-source founders, B2B sales development representatives (SDRs), and tech market researchers seeking high-intent developer audiences.


⚡ At a glance

FeatureCapabilityDetails
Target PlatformGitHubWorld's premier software collaboration network
Audience SignalsForkers, Watchers, ContributorsHighest-intent developer engagement mechanisms
AuthenticationOptional TokenForkers & contributors require zero token; token unlocks watchers
Pagination Scale1,000+ developers per runUncapped multi-page pagination (maxItems: 0 = unlimited)
Profile EnrichmentAutomatic Data MiningCompany, bio, location, website, Twitter, follower counts
Deduplication EngineMulti-Source DeduplicationCross-engagement deduplication merges duplicates into unified rows
Extraction Speed~50 profiles / 20sConcurrent profile resolution and batched GraphQL API
Multi-Repo SupportBatch Category SweepsMine multiple repos in one run with automatic per-repo quotas
Output FormatsJSON, CSV, Excel, XMLApify Dataset, REST API, Webhooks, Google Sheets, Make, Zapier

🔎 Why scrape GitHub repo audiences?

GitHub is the global registry of developer talent and software adoption. While starring a repository is a passive, low-commitment action, forking, watching, and contributing represent unmistakable proof of active technical evaluation:

  • 🍴 Forkers: Engineers who cloned the codebase to customize, build, or deploy. This is the single highest-intent buyer and user signal for developer tooling.
  • 👁️ Watchers: Developers actively tracking releases, breaking changes, and issues, indicating architectural investment in that ecosystem.
  • 💻 Contributors: Experienced practitioners who have written and committed production code to the project.

Collecting this developer audience manually is tedious. Fork lists are paginated, profiles must be clicked individually, and rate limits obstruct bulk research.

A dedicated GitHub repo audience data extractor automates this entire pipeline:

  • 🎯 High-Intent Dev-Tool Lead Generation: Target engineers who forked competitor repositories or complementary libraries (e.g. scrape forkers of supabase/supabase if offering database tools).
  • 🧲 Technical Recruiting & Executive Sourcing: Discover talent with proven hands-on expertise in specific frameworks (e.g., PyTorch, Rust, LangChain), filtered by corporate affiliation and city.
  • 🚀 Developer Relations (DevRel) & Community Engagement: Identify your project's power users, top advocates, and most prolific forkers to invite them to community programs or beta tests.
  • 📊 Ecosystem & Market Share Analytics: Quantify the overlap between competing frameworks (e.g., Next.js vs. Remix vs. SvelteKit) by cross-referencing active forkers.
  • 🏢 B2B Account Mapping & Tech Stack Discovery: Map corporate adoption by grouping forkers by their @company handle to uncover hidden enterprise usage.

✨ Key features & capabilities

  • ✅ Three Distinct Audience Segments: Choose any combination of forkers, watchers, and contributors depending on your intent criteria.
  • ✅ Token-Free Operation: Extract hundreds of forkers and contributors without configuring a GitHub Personal Access Token.
  • ✅ Deep 1,000+ Pagination: Multi-page crawling across cursor-based GraphQL endpoints and REST pagination without artificial limits.
  • ✅ Automatic Profile Enrichment: Enriches usernames with display name, bio, company handle, location, website, Twitter, follower count, and hireable status.
  • ✅ Engagement Tagging: Merges multi-action users into a single deduplicated row with unified tags (forker,contributor).
  • ✅ Multi-Repository Batch Mining: Supply multiple repositories (e.g. facebook/react, vercel/next.js, sveltejs/svelte) to build comprehensive ecosystem rosters.
  • ✅ Balanced Per-Repo Caps: Use maxPerRepo to ensure multi-repo runs collect a balanced cross-section across different projects.
  • ✅ Rate-Limit Resilience: Incorporates exponential backoff and proxy rotation to gracefully navigate GitHub API rate limits.

🎯 High-impact use cases

1. Developer Tool Lead Generation

Dev-tool founders can export the forkers of an open-source project in their category. If you offer a monitoring tool for Next.js, scrape the forkers of vercel/next.js to build an outbound email and social outreach campaign.

2. High-Precision Technical Recruiting

Sourcers can discover candidates based on real code engagement rather than self-reported LinkedIn keywords. Filter by location (e.g. London, Berlin, San Francisco) and company to identify engineers working at elite tech firms.

3. Open-Source Ecosystem Research

Venture capital investors can analyze the velocity and caliber of developers engaging with emerging open-source repositories to identify break-out infrastructure startups.

4. Account-Based Marketing (ABM) for Tech Infrastructure

B2B sales teams can detect developer groundswell inside Fortune 500 targets by identifying employees using company handles (@google, @microsoft, @stripe) to fork specific open-source components.


🔍 Understanding developer engagement signals

Not all GitHub activities convey equal intent. Here is how to evaluate each signal for commercial and recruiting campaigns:

SignalEffort LevelTechnical IntentBest For
StarsLow (Single Click)Curiosity / BookmarkingBroad awareness lists
WatchersMedium (Notification Subscription)Long-term TrackingEcosystem monitoring, beta product feedback
ForkersHigh (Repository Clone & Workspace Setup)Active Building & EvaluationDirect Dev-Tool Sales, High-Value Outreach
ContributorsVery High (Code Creation & PR Merges)Core Domain ExpertiseSenior Technical Recruiting, Advisory Roles

By prioritizing Forkers and Contributors, technical recruiters and B2B SDRs avoid wasting time on passive lurkers and focus solely on builders.


⚙️ Step-by-step tutorial

  1. Select Target Repositories: Identify 1 to 5 repositories whose audience matches your ideal developer profile (e.g., langchain-ai/langchain for AI engineers).
  2. Configure Audience Types: Choose forkers and contributors for high-intent builders, or tick watchers (adding your token) for continuous community members.
  3. Set Quotas: Define your maxItems (e.g. 1000 for deep sweeps) and optional maxPerRepo to keep multi-repo comparisons balanced.
  4. Run the Actor: Click Start on the Apify Console. Monitor live enrichment status in the run log.
  5. Export Your Dataset: Download the results as a CSV, Excel, or JSON file.
  6. Integrate with CRM or Email Tools: Upload your enriched developer roster into Apollo, HubSpot, Clay, or your internal ATS.

📥 Input parameters

The Actor is pre-configured for immediate execution. Provide one or more repositories and choose your audience filters.

ParameterTypeDefaultDescription
reposarray["facebook/react"]Repositories to analyze. Enter as owner/repo (e.g. facebook/react) or paste full repository URLs.
audienceTypesarray["forkers", "watchers", "contributors"]Types of engaged users to collect: forkers, watchers, contributors.
githubTokenstring""Optional personal access token. Unlocks watchers audience and captures public emails.
maxItemsinteger50Maximum total developers to collect across all repos. Set 0 for auto/unlimited.
maxPerRepointeger0Maximum developers to collect per individual repository. 0 = no limit.
enrichProfilesbooleantrueFetch rich profile metadata (name, company, location, social links). Disable for fast username-only lists.
proxyConfigurationobject{ "useApifyProxy": true }Standard Apify Datacenter proxy configuration for request rotation.

Sample Input JSON

{
"repos": [
"facebook/react",
"vercel/next.js"
],
"audienceTypes": [
"forkers",
"contributors"
],
"maxItems": 200,
"maxPerRepo": 100,
"enrichProfiles": true,
"proxyConfiguration": {
"useApifyProxy": true
}
}

📤 Output dataset & field structure

Each record represents an individual developer enriched with firmographics, social handles, and engagement tags.

Real Output Example

{
"username": "acdlite",
"name": "Andrew Clark",
"bio": "React core team, Next.js, Vercel",
"company": "@vercel",
"location": "New York",
"websiteUrl": "https://andrewclark.io",
"email": "andrew@example.com",
"twitter": "acdlite",
"followersCount": 15200,
"followingCount": 140,
"hireable": null,
"avatarUrl": "https://avatars.githubusercontent.com/u/3624098?v=4",
"profileUrl": "https://github.com/acdlite",
"type": "User",
"repo": "facebook/react",
"engagements": "contributor,forker"
}

📊 Extracted fields & data coverage

👤 Core Developer Identity

Field NameTypeCoverageDescription
usernamestring🟢 High (100%)Developer's GitHub username handle
namestring🟢 High (~80%)Full display name set on the public profile
profileUrlstring🟢 High (100%)Direct link to their GitHub profile
typestring🟢 High (100%)Entity classification: User, Organization, or Bot
avatarUrlstring🟡 Conditional (~75%)CDN URL to their profile avatar image

🏢 Professional & Geographical Details

Field NameTypeCoverageDescription
companystring🟡 Conditional (~40%)Corporate employer or organization (often formatted as @handle)
locationstring🟡 Conditional (~55%)Self-reported residential or office location
biostring🟡 Conditional (~50%)Personal biography / developer summary
hireableboolean🟡 Conditional (~20%)Indicates whether developer flagged their profile open to work

🌐 Online Presence & Social Handles

Field NameTypeCoverageDescription
websiteUrlstring🟡 Conditional (~40%)Link to personal portfolio, blog, or company website
twitterstring🟡 Conditional (~25%)X / Twitter handle linked directly on the profile
emailstring🟡 Conditional (~10%)Public developer email (requires token with user:email scope)

📊 Influence & Engagement Signals

Field NameTypeCoverageDescription
followersCountnumber🟢 High (~75%)Total followers on GitHub (key developer influence metric)
followingCountnumber🟢 High (~85%)Total accounts followed
repostring🟢 High (100%)Target repository where engagement was detected (owner/repo)
engagementsstring🟢 High (100%)Detected activities: forker, watcher, contributor

💻 Developer integration examples

Node.js / JavaScript (Apify Client)

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({
token: 'YOUR_APIFY_TOKEN',
});
// Run GitHub Repo Audience Scraper
const run = await client.actor('haketa/github-repo-audience-scraper').call({
repos: ['facebook/react', 'vercel/next.js'],
audienceTypes: ['forkers', 'contributors'],
maxItems: 300,
enrichProfiles: true,
});
// Fetch dataset items
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Collected ${items.length} developers.`);
items.forEach((dev) => {
console.log(`${dev.username} (${dev.name || 'N/A'}) | ${dev.company || 'Independent'} | ${dev.engagements}`);
});

Python (Apify Client)

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run_input = {
"repos": ["supabase/supabase", "prisma/prisma"],
"audienceTypes": ["forkers"],
"maxItems": 250,
"maxPerRepo": 125,
"enrichProfiles": True,
}
run = client.actor("haketa/github-repo-audience-scraper").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"@{item.get('username')} — {item.get('company')} — {item.get('location')}")

cURL (Apify REST API)

curl "https://api.apify.com/v2/acts/haketa~github-repo-audience-scraper/runs?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"repos": ["facebook/react"],
"audienceTypes": ["forkers", "contributors"],
"maxItems": 100,
"enrichProfiles": true
}'

📈 DevRel & Outbound Outreach Strategies

1. Reaching Out to Forkers

When contacting engineers who forked a repository, acknowledge their active project engagement:

"Hi [Name], noticed you recently forked [Repository]. We built an open-source extension that simplifies [Key Pain Point, e.g. state management or local caching] for that exact architecture. Would love your candid technical feedback on whether this solves [Specific Problem]."

2. Sourcing Candidates by Code Ownership

When recruiting for specialized roles, cross-reference engagements === "contributor" with followersCount:

  • Engineers who contributed to complex open-source infrastructure (e.g. Kubernetes, Chromium, or Rust compilers) possess verified systems architecture capabilities.
  • Personal websites and X/Twitter handles provide direct channels for non-recruiter outreach that yield significantly higher response rates than generic LinkedIn InMails.

💡 Pro tips & best practices

  • 💡 Focus on Forkers for Commercial Lead-Gen: Forkers have taken active steps to clone code to their personal namespace. They are actively evaluating tools and building solutions.
  • 💡 Filter by Company for Account-Based Marketing: Export results to CSV or Excel and filter by company containing @company_name to identify shadow IT or developer interest within target enterprise logos.
  • 💡 Sort by followersCount for Influencer Sourcing: Sort your export descending by follower count to discover the most respected engineering voices in that technology stack.
  • 💡 Use Personal Access Tokens for Large Jobs: While forkers and contributors work without a token, adding a personal access token unlocks GraphQL batching (~80 profiles per call) and dramatically accelerates multi-thousand record sweeps.
  • 💡 Turn Off Enrichment for High-Speed Sweeps: If you only need a list of GitHub usernames for custom matching, toggle enrichProfiles: false to harvest thousands of handles in seconds.
  • 💡 Target Complementary Libraries: Instead of only scraping direct competitors, scrape the audience of complementary libraries your target audience uses (e.g. scrape tailwindlabs/tailwindcss if you offer UI component kits).
  • 💡 Geographical Filtering for Local Dev Events: Filter by location (e.g. Berlin, Tokyo, Austin) to invite local developers to meetups, hackathons, or regional developer conferences.

❓ Frequently Asked Questions (FAQ)

Do I need a GitHub token to use this scraper?

No. Collecting forkers and contributors works 100% token-free out of the box. Adding a free Personal Access Token unlocks the watchers audience and enables faster batch profile enrichment.

How many developers can I collect from a single repository?

You can collect up to thousands of developers. The Actor paginates through entire audience lists until your maxItems or maxPerRepo cap is reached.

Does this Actor extract developer emails?

GitHub only exposes emails that developers choose to make publicly visible on their profiles. Supplying a token with the user:email scope allows extraction of public email addresses.

Are bot accounts excluded?

The type field distinguishes between User, Organization, and Bot. You can easily filter out bots during downstream processing.

Can I run this scraper on multiple repositories at once?

Yes. Add multiple repositories in the repos array. Use maxPerRepo to ensure the collection remains evenly balanced across all targets.

How do I generate a free GitHub Personal Access Token?
  1. Log in to GitHub and navigate to Settings → Developer settings.
  2. Select Personal access tokens → Tokens (classic).
  3. Click Generate new token (classic).
  4. You do not need to check any administrative scopes for basic reading; check user:email if you wish to collect public email addresses.
  5. Copy the generated token and paste it into the githubToken input field.
What are the GitHub API rate limits?

Without a token, GitHub limits unauthenticated requests to 60 per hour per IP. The Actor automatically uses Apify Proxy to rotate IPs, allowing significant data collection without limits. With a personal token, GitHub grants 5,000 requests per hour, allowing you to enrich tens of thousands of developer profiles rapidly.

What export formats are supported?

JSON, CSV, Excel, and XML formats are supported directly through the Apify Console. You can also integrate the dataset stream into Google Sheets, Airtable, Zapier, Make, n8n, and custom webhooks.

Can I enrich existing lists of GitHub usernames?

Yes! If you already have a list of usernames, you can pass them into our companion GitHub Developer Scraper to extract full biographical and social profiles.



📋 Changelog

  • v1.2 (2026-11):
    • 🔓 Unlocked 1,000+ deep pagination: Standardized maxItems: 0 for auto/unlimited audience collection and removed artificial batch caps.
    • ⚡ Optimized prefill execution: Configured default test prefill to 50 for rapid platform verification in under 30 seconds.
    • 🛠️ Refined field normalization: Improved parsing for multi-engagement combinations, social handles, and location cleaning.
    • 🛡️ Enhanced rate-limit backoff: Upgraded retry policies and proxy failover for high-volume GitHub API calls.
  • v1.1 (2026-10):
    • Added support for multi-repository quota balancing (maxPerRepo).
    • Integrated concurrent token-free HTML profile enrichment fallback.
  • v1.0 (2026-09):
    • Initial public release featuring forkers, watchers, and contributors extraction.
⌂ 换网址