Y Combinator Scraper: YC Companies, Founders & Email Pattern
Pricing
from $8.00 / 1,000 company (with founders and jobs)s
Y Combinator Scraper: YC Companies, Founders & Email Pattern
Scrape the Y Combinator startup directory: YC companies, founders and open jobs with website, domain, LinkedIn, team size, batch, founder LinkedIn and bio, salaries. Plus each company's email pattern from real evidence and an MX check. Latin America by default, any region.
Pricing
from $8.00 / 1,000 company (with founders and jobs)s
Rating
0.0
(0)
Developer
Oswaldo Carabano
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
21 days ago
Last modified
Categories
Share
Scrape the Y Combinator startup directory (YC companies list): companies, founders and open jobs, with each company's website, domain, LinkedIn, team size, batch and location, founders' LinkedIn, bio and past companies, job salaries and hiring managers, and the company's email pattern (first.last@, first@…) worked out from emails the company really published, plus a DNS MX check. Latin America by default; any region, batch, industry or tag.
Built for people who reach out to startups: developers looking for a job, recruiters, founders looking for peers, sales, lead generation and partnerships teams. Export YC startups, YC founders and YC jobs (the same roles as Work at a Startup) to JSON, CSV or Excel, or call it as an API.
No login, no cookies, no browser: the actor reads only public pages, so runs are fast and cheap.
What you get
One run produces one type of row (outputType):
| Output | One row is | Typical use |
|---|---|---|
companies (default) | A YC company with its founders and jobs inside | Build a target list of startups |
founders | One founder, with the company's domain, size and location | Write to the decision maker |
jobs | One open role, with salary, hiring manager and the company's founders | Apply where you fit |
Every row includes the company domain. With inferEmailPattern (on by default) it also includes the emailPattern block: the pattern, a confidence score, the evidence it is based on, alternatives, MX servers and the email provider (Google Workspace, Microsoft 365…), and an email candidate for every founder and hiring manager.
Measured coverage (1 Oct 2026)
The public directory lists 6,267 companies; 221 in Latin America (Mexico 86, Brazil 51, Colombia 31, Argentina 21, Chile 20, Peru 10) and 1,487 hiring worldwide (18 in Latin America).
Fill rates measured in this actor's own output (80 Latin American companies with details, 80 founders, 60 jobs):
| Field | Latin America | Notes |
|---|---|---|
| Website and domain | 100% | |
| Company LinkedIn | 93.8% | |
| Founders listed | 98.8% of companies | 2.3 founders per company |
| Founder LinkedIn | 99.4% of founders | |
| Founder bio | 93.9% | |
| Founder past companies | 48.3% | From Work at a Startup |
| Company X/Twitter, Crunchbase | 48.8%, 48.8% | |
| GitHub organization | 11.3% | |
| Hiring and tech descriptions | 40%, 32.5% | |
| Emails the company published | 25% | Launch posts, descriptions |
| Email pattern backed by evidence | 7.5% (6 of 80) | 12% on 1,000 companies worldwide |
| Domain with valid MX | 92.5% | 87.5% use Google Workspace |
| Email candidate per founder | 91.1% | Most are inferred (see FAQ) |
| Jobs: full description and hiring manager | 100% | When the job page is read |
| Jobs: numeric salary | 95% (Latin America), 70% (Remote) |
Wider sample from the source itself (310 companies): company LinkedIn 88.1%, team size 99.7%, year founded 94.5%, news coverage 47.4%, Launch posts 23.5%, open jobs 30% of companies.
Speed and cost (measured on the Apify platform, 2 Oct 2026)
All runs at the default 512 MB memory, from Apify's own servers, without proxy. 0 of 2,177 requests blocked or rate limited across 14 runs.
| Input | Rows | Time | Peak memory | You pay |
|---|---|---|---|---|
{} (default: 50 Latin American companies with founders and jobs) | 50 | 10 s | 78 MB | $0.45 (50 × $0.008 + 5 patterns × $0.01) |
{"outputType": "founders", "maxItems": 40} | 40 | 6 s | 63 MB | $0.19 (40 × $0.004 + 3 patterns) |
{"outputType": "jobs", "maxItems": 30} (with job descriptions) | 30 | 8 s | 67 MB | $0.18 (30 × $0.006) |
{"outputType": "jobs", "regions": ["Remote", "Fully Remote"], "includeJobDetails": false, "maxItems": 30} | 30 | 5 s | 65 MB | $0.09 (30 × $0.003) |
Directory only (includeFounders and includeJobs off), batch Winter 2024, 40 rows | 40 | 3 s | 55 MB | $0.12 (40 × $0.003) |
Whole directory, "regions": [], "maxItems": 500 | 500 | 83 s | 132 MB | $4.38 (500 × $0.008 + 38 patterns) |
Founders, whole directory, maxItems 300 with a $0.50 spending limit | 109 | 10 s | 66 MB | $0.496 (109 × $0.004 + 6 patterns): stopped cleanly at the limit |
Earlier local tests: 1,000 companies with details in 74 s (peak 183 MB) and 2,500 directory-only rows in 18 s, so the default 512 MB is plenty.
Pricing (pay per event)
| Event | Price | When |
|---|---|---|
| Actor start | $0.00001 | Once per run |
| Company (directory data) | $0.003 | Company row without its page (founders and jobs off) |
| Company (with founders and jobs) | $0.008 | Company row with its page read (default) |
| Founder | $0.004 | One founder row |
| Job posting | $0.003 | One job row from the company page |
| Job posting with full description | $0.006 | One job row with its job page read |
| Company email pattern | $0.01 | Once per domain, only when backed by an observed email |
Each row is charged one row event (by depth, never added up) and at most one email pattern per domain. A pattern that is only a guess (no evidence) is free and marked inferred: true. Error rows are never charged. Example: the default run (50 Latin American companies with details) cost $0.45 on 2 Oct 2026 (50 × $0.008 + 5 evidence-backed patterns × $0.01). See the table above for more measured examples.
| You want | Approximate cost |
|---|---|
| 100 YC companies with founders and jobs | $0.80 + about $0.08 of email patterns (7.6% of domains had evidence in the 500-company run) |
| 1,000 YC founders | $4.00 + email patterns |
| 1,000 YC jobs with full description | $6.00 |
| The whole directory, directory data only (6,268 companies) | about $18.80 |
Input
| Field | Default | What it does |
|---|---|---|
outputType | companies | companies, founders or jobs |
regions | ["Latin America"] | YC region tags; empty = whole directory |
query | Free text, as in the directory search box | |
batches | Winter 2024 or W24, S25, F24, X25 (Spring) | |
industries, tags, status, stages | Optional filters | |
onlyHiring, topCompaniesOnly | false | Only hiring companies / only YC top companies |
minTeamSize, maxTeamSize | Team size range | |
sortBy | relevance | Or launchDate (newest first) |
includeFounders, includeJobs | true | Companies output: open the company page |
includeJobDetails | true | Jobs output: open each job page |
inferEmailPattern | true | Email pattern, MX check and email candidates |
includePersonalEmails | false | Keep gmail/outlook/yahoo-style addresses |
includeEuPersons | false | Include people of EU/EEA/UK/Swiss companies |
maxItems | 50 | Rows to deliver (and charge) |
maxConcurrency | 4 | Company pages read at the same time (1 to 8) |
Input examples
Fintech startups in Mexico, with founders and jobs:
{ "outputType": "companies", "regions": ["Mexico"], "industries": ["Fintech"], "maxItems": 100 }
Founders of the latest YC batch, worldwide:
{ "outputType": "founders", "regions": [], "batches": ["Fall 2026"], "maxItems": 250 }
Remote jobs at YC AI startups that are hiring, newest companies first:
{ "outputType": "jobs", "regions": ["Remote", "Fully Remote"], "tags": ["Artificial Intelligence"], "onlyHiring": true, "sortBy": "launchDate", "maxItems": 200 }
Output examples
A real company row from the default run on the Apify platform (2 Oct 2026), shortened. Founder details are left out here; in your dataset each founder has name, title, bio, LinkedIn, X, past companies and an email candidate.
{"rowType": "company","companyId": 755,"name": "Bright","url": "https://www.ycombinator.com/companies/bright","website": "https://www.thinkbright.mx/","domain": "thinkbright.mx","oneLiner": "Sunrun for the developing world","batch": "Winter 2015","batchCode": "W15","status": "Active","stage": "Growth","teamSize": 100,"industry": "Industrials","industries": ["Industrials", "Energy"],"tags": ["Fintech", "Solar Power", "Climate"],"regions": ["United States of America", "Mexico", "America / Canada", "Latin America", "Remote", "Fully Remote"],"location": "New York City, NY","country": "US","yearFounded": 2014,"linkedinUrl": "https://www.linkedin.com/company/9506733/","crunchbaseUrl": "https://www.crunchbase.com/organization/bright-3","newsItems": [{ "title": "Bright raises $32M to expand rooftop solar in Mexico", "url": "https://www.axios.com/pro/climate-deals/2023/07/27/bright-31-million-jonah-greenberger-sdg-ifu-solar-mexico", "date": "Jul 27, 2023" }],"foundersCount": 1,"founders": ["…"],"jobsCount": 0,"waasUrl": "https://www.workatastartup.com/companies/bright","emailPattern": {"domain": "thinkbright.mx","pattern": "first.last","confidence": 0.1,"inferred": true,"evidenceCount": 0,"mxValid": true,"mxHosts": ["aspmx.l.google.com", "alt1.aspmx.l.google.com"],"emailProvider": "Google Workspace","catchAll": null,"billable": false},"detailFetched": true}
This company published no email, so the pattern is a free guess (inferred: true, billable: false). When the company did publish emails, the block also lists the evidence and inferred is false, as in the example below.
The next examples use fictitious data, to show every field of a person without publishing a real one.
A company row with an evidence-backed pattern (outputType: companies), shortened:
{"rowType": "company","companyId": 30001,"name": "Acme Pay","url": "https://www.ycombinator.com/companies/acme-pay","website": "https://acmepay.example.com","domain": "acmepay.example.com","oneLiner": "Payments infrastructure for Latin America","batch": "Winter 2025","batchCode": "W25","status": "Active","isHiring": true,"teamSize": 12,"location": "Mexico City, Mexico","country": "MX","industries": ["Fintech", "Payments"],"linkedinUrl": "https://www.linkedin.com/company/acme-pay-example","founders": [{"fullName": "Ana Example","title": "Founder/CEO","linkedinUrl": "https://www.linkedin.com/in/ana-example","pastCompanies": "Engineer at Example Corp","emailCandidate": "ana@acmepay.example.com","emailCandidateConfidence": 0.75,"emailCandidateInferred": false}],"jobs": [{ "jobId": 70001, "title": "Senior Backend Engineer", "location": "Remote (MX; CO)", "remote": true, "salaryMin": 60000, "salaryMax": 90000, "salaryCurrency": "USD" }],"contactEmails": ["ana@acmepay.example.com", "hello@acmepay.example.com"],"emailPattern": {"pattern": "first","example": "first@acmepay.example.com","confidence": 0.75,"inferred": false,"evidenceCount": 2,"evidence": [{ "email": "ana@acmepay.example.com", "kind": "known-person-match", "matchedPatterns": ["first"], "source": "launch" }],"mxValid": true,"emailProvider": "Google Workspace","catchAll": null},"detailFetched": true}
A founder row (outputType: founders):
{"rowType": "founder","founderKey": "30001:900001","fullName": "Ana Example","title": "Founder/CEO","linkedinUrl": "https://www.linkedin.com/in/ana-example","bio": "Second-time founder, ex payments engineer.","latestYcCompany": { "name": "Acme Pay", "url": "https://www.ycombinator.com/companies/acme-pay" },"emailCandidate": "ana@acmepay.example.com","emailCandidateConfidence": 0.75,"emailCandidateInferred": false,"companyName": "Acme Pay","domain": "acmepay.example.com","batch": "Winter 2025","teamSize": 12,"country": "MX","isHiring": true}
A job row (outputType: jobs, fictitious; real job rows also carry the full description, interview process, office and applicant locations and the company's founders):
{"rowType": "job","jobId": 70001,"title": "Senior Backend Engineer","url": "https://www.ycombinator.com/companies/acme-pay/jobs/abc123-senior-backend-engineer","location": "Remote (MX; CO)","remote": true,"type": "Full-time","prettyRole": "Engineering","salaryMin": 60000,"salaryMax": 90000,"salaryCurrency": "USD","visa": "Will sponsor","datePosted": "2026-09-12","hiringManager": { "fullName": "Ana Example", "emailCandidate": "ana@acmepay.example.com", "emailCandidateConfidence": 0.75 },"companyName": "Acme Pay","domain": "acmepay.example.com"}
How the email pattern works
- The actor collects every email the company itself published on its YC pages (Launch posts, descriptions, hiring text, job descriptions).
- It matches them against the founders' and hiring managers' names to find the format (23 patterns:
first,first.last,flast,firstlast,last…). - Confidence grows with evidence: one matching email gives 0.5, two give 0.75, three give 0.88. Without a valid MX record the confidence is halved.
- It checks the domain's mail servers by DNS (MX) and names the provider. It never connects to a mail server (no SMTP probing), so
catchAllis alwaysnull. - With no evidence, it gives the most common format measured for the provider (first.last@ in most cases), marked
inferred: truewith confidence 0.05 to 0.10. That guess is free.
Privacy
- Emails at personal domains (gmail.com, outlook.com, yahoo.com and similar) are removed everywhere, including inside descriptions, unless you enable
includePersonalEmails. - For companies based in the EU, EEA, UK or Switzerland, founder and hiring manager names, bios, links, photos and email candidates are withheld (
personalDataWithheld: trueon company and job rows; withoutputType: foundersthose founders are skipped) unless you enableincludeEuPersons. If you enable it, you are responsible for having a lawful basis under GDPR. - Image links are delivered without their temporary signature. Video links are not delivered at all (they only work with a temporary signed link).
- The actor never logs in, never creates accounts and never solves CAPTCHAs. It only reads public pages.
FAQ
Are the email candidates verified?
No. They are built from the company's pattern. When emailCandidateInferred is false, the pattern comes from real emails the company published; when it is true, it is a guess. Check emailCandidateConfidence before you write, and never send bulk email.
Why is the founder's email not included directly?
YC does not publish founder emails. The profile only says that an email exists (hasEmail).
Can I get every YC company?
Yes. Leave regions empty and set maxItems up to 10,000. The directory search reaches 1,000 results per query, so the actor splits large searches by YC batch automatically (measured: 6,267 of 6,267 reachable).
Why do some jobs have no numeric salary? The company did not list one. When the job page is read, the actor uses the structured salary the page provides; otherwise it parses the listed range (for example "$84K - $120K").
Does it apply to jobs for me?
No. It only reads public data. applyUrl takes you to YC's own application page.
What happens if I set a spending limit? The run stops cleanly when the next row would exceed it. Within a run, every delivered row is charged once and nothing is charged twice, also when the platform resumes the run after a migration. Separate runs are independent: a company delivered by two runs is charged in each.
Do I need a proxy? No. On 2 Oct 2026, 2,177 requests from Apify's servers got 0 blocks and 0 rate limits. If the site ever starts blocking, the actor switches to a fresh session by itself.
Can I run it on a schedule?
Yes. Save your input as a task and schedule it daily or weekly to catch new YC companies, new founders and new jobs (sort by launchDate to see the newest first).
What does a run with no results mean? Your filters matched no companies. The run ends successfully with one explanatory error row; no row is charged (only the $0.00001 actor start event).
Support
Questions, a field you need, or a removal request: use the Issues tab of this actor.