DEV Community

Ava Torres
Ava Torres

Posted on

How to Find Developer Leads on GitHub (Emails, Repos, Stargazers)

If you're selling developer tools, recruiting engineers, or doing B2B outreach to technical founders, GitHub is the richest source of developer contact data that exists. Over 100 million profiles, many with public email addresses, locations, bios, Twitter handles, and websites.

The problem is that GitHub's search is limited. You can't filter by email availability, you can't bulk export, and the API has aggressive rate limits (60 requests/hour unauthenticated, 5,000 authenticated).

Here's how to actually extract usable lead data from GitHub at scale.

What You Can Get

Every GitHub user profile can include:

  • Name and username
  • Email address (if public -- roughly 25% of active users)
  • Location (city, country)
  • Bio (job title, company, interests)
  • Website/blog URL
  • Twitter handle
  • Company name
  • Follower count and public repo count

Combined with repository data (stars, language, topics), you can build highly targeted lead lists. For example: "Python developers in San Francisco with 100+ stars on ML repos who have public email addresses."

Four Ways to Search

1. Repository Search

Search by topic, language, or keyword. Then enrich repo owners with full profile data.

Example: Find owners of popular React repositories.

2. Stargazer Extraction

Pick a popular repo in your target niche and extract everyone who starred it. Stargazers of langchain-ai/langchain are almost certainly building AI applications.

3. Organization Members

Extract all public members of a GitHub organization. Great for recruiting from specific companies.

4. User Search

Search users directly by location, language, or follower count.

The Rate Limit Problem

GitHub's REST API allows 5,000 requests/hour with a token. Each enriched profile is one request. So extracting 5,000 leads with full profile data takes about an hour.

Without a token, you're limited to 60 requests/hour -- roughly one lead per minute.

The trick is batching search requests (which return 100 results each) and only enriching profiles you actually want.

Automating It

I built an Apify actor that handles all four search modes, automatic profile enrichment, and pagination: GitHub Developer Leads.

It runs on Apify's cloud so you don't need to manage rate limits, proxies, or infrastructure. Output is structured JSON that you can export to CSV, Google Sheets, or pipe into your CRM.

Example input:

{
  "searchType": "repoSearch",
  "query": "machine learning",
  "language": "python",
  "minStars": 100,
  "enrichProfiles": true,
  "maxResults": 50
}
Enter fullscreen mode Exit fullscreen mode

Example output fields:

Field Example
login huggingface
name Hugging Face
email hello@huggingface.co
location New York
bio The AI community building the future.
followers 61,059
repoStars 142,000
repoLanguage Python
twitterUsername huggingface

Use Cases

  • Developer tool sales: Find developers using competing tools (stargazers of competitor repos)
  • Recruiting: Extract engineers from target companies via org member search
  • Open source sponsorship: Find maintainers of popular projects in your stack
  • Market research: Understand who builds what, in which languages, and where

Tips for Better Results

  1. Use stargazer extraction for the most targeted lists. People who star a repo actively chose to engage with that technology.
  2. Filter by minStars to focus on experienced developers, not tutorial-followers.
  3. Set enrichProfiles: true -- without it, you only get usernames. With it, you get emails, bios, locations, and social links.
  4. Keep maxResults reasonable (50-200) for your first run to validate the data before scaling up.

GitHub is one of the few platforms where high-quality professional contact data is genuinely public. The developers are there, the data is structured, and the API is well-documented. The only hard part is doing it at scale -- which is what automation tools are for.

Top comments (0)