Y Combinator’s accelerator alumni list is one of the most concentrated sources of high-value startup data on the public web. Every batch ships a fresh cohort of vetted founders, sector bets, and team-size data points that VC associates, growth-fund sourcing analysts, executive recruiters, and B2B sellers all want to operationalize. The problem: YC’s official directory at ycombinator.com/companies is paginated, JavaScript-rendered, and offers no bulk export. This post walks through how to extract the full YC directory cleanly, what fields you get, and how to wire the output into a sourcing pipeline, a recruiter target list, or a market-mapping deck.
The problem: YC’s directory is unscrapeable by hand
Anyone who has tried to compile a workable list from ycombinator.com/companies has hit the same wall. The page renders on the client, paginates infinitely as you scroll, and exposes no CSV button, no public API, and no per-batch download. Browser-based copy-paste falls apart past the first hundred rows, and the underlying JSON endpoint rotates structure often enough that an in-house scraper turns into a maintenance liability inside a quarter.
For a VC associate trying to build a follow-on pipeline across the last four batches, that means hours of manual collection per refresh, with no guarantee of completeness. A growth-stage sourcing analyst building a sector watchlist (say, every YC fintech from W20 onward) faces the same tax. Executive recruiters mapping founder talent for portfolio searches, sales reps targeting funded startups, and operators doing competitive-landscape work all run into the same constraint: the data is public, but it is not portable.
The cost compounds. A typical sourcing analyst spends two to three afternoons per quarter on YC list-building that could be a five-minute job. That time would be better spent on first-call diligence, founder warm intros, or partner-meeting prep. And because the manual list inevitably misses companies, the downstream pipeline is undercount-biased exactly where the bias hurts most: early-stage, low-team-size companies that haven’t yet shown up in Crunchbase or PitchBook. Those are the targets a follow-on investor or seed-stage GP most wants to see first.
The fix is to treat YC’s directory the way you’d treat any other structured public data source: extract it once, schedule a delta refresh, and pipe it into the system of record where your analysts and reps already work.
Why this data matters: who uses it and what it powers
The buyer for YC directory data isn’t a single role. It’s a spread of adjacent personas who all converge on the same fields.
VC associates and sourcing analysts use the directory to build follow-on pipelines and seed-deal flow. The standard workflow is to pull every company from the last two to four batches that matches a sector thesis (vertical SaaS, climate, vertical AI, fintech infra), dedupe against the firm’s CRM, and route fresh names to partners. Batch theses (the kind of pattern recognition that says “the last three YC summer batches have been heavy on AI-agent infra”) fall out of this data directly.
Growth-fund analysts use it as a leading indicator. YC companies typically raise their seed within six to twelve months of demo day. Tracking the cohort lets growth funds pre-position relationships before companies are on Crunchbase’s radar, and before they’re priced into a competitive Series A round.
Executive recruiters who staff portfolio searches across YC-heavy firms (Sequoia, Initialized, Soma, General Catalyst) use the directory as a founder-talent pool. A search for a VP Engineering at a portfolio company often pulls candidates from the same batch, and the recruiter needs a clean, sortable list with team size and hiring-status data.
B2B sales reps targeting funded startups use the directory as an ICP-tight prospect list. A fintech-tooling vendor selling to early-stage YC fintech companies wants every active YC fintech with five to twenty-five employees, exported to CSV, loaded into Outreach or Apollo, and sequenced.
Founders and competitive-intel analysts use it for market mapping. Before raising, founders want to know which adjacent YC companies are operating in their space, what their one-liners say, and how their team size compares.
What the YC Companies Directory Scraper extracts
The YC Companies Directory Scraper returns one JSON row per YC company, covering every batch from S05 to the most recent. The field list below is what comes back on every row (some fields are null when YC hasn’t published them for a given company).
| Field | Type | Description |
|---|---|---|
| id | string | YC’s internal company identifier |
| name | string | Company name |
| slug | string | URL slug at ycombinator.com/companies/{slug} |
| website | string | Company website URL |
| oneLiner | string | Short pitch line from the directory card |
| longDescription | string | Full company description from detail page |
| batch | string | YC batch code (W23, S22, IK12, X25, etc.) |
| batchYear | integer | Year of the batch for easy filtering |
| status | string | Active, Acquired, Public, or Inactive |
| teamSize | integer | Headcount when published |
| industries | array | Vertical tags (Fintech, AI, Healthcare, Climate, etc.) |
| regions | array | Geographic region tags |
| locations | array | City / state / country strings |
| isHiring | boolean | Active hiring flag from YC Work at a Startup |
| isTopCompany | boolean | YC’s top-company badge |
| logoUrl | string | CDN logo URL |
A representative record looks like this:
{
"id": "27892",
"name": "Acme AI",
"slug": "acme-ai",
"website": "https://acme.ai",
"oneLiner": "AI-native CRM for vertical SaaS teams.",
"longDescription": "Acme AI replaces the legacy CRM stack for vertical SaaS companies with an agent-driven workflow layer...",
"batch": "W26",
"batchYear": 2026,
"status": "Active",
"teamSize": 4,
"industries": ["B2B", "AI", "Sales"],
"regions": ["America / Canada"],
"locations": ["San Francisco, CA, USA"],
"isHiring": true,
"isTopCompany": false,
"logoUrl": "https://bookface-images.s3.amazonaws.com/logos/acme.png"
}Example workflow: from batch filter to CRM-ready list
Here is the four-step worked example a sourcing analyst would run on a Monday morning to refresh their YC pipeline for the latest summer batch.
Step 1 β Define the input. The actor takes a JSON input that filters by batch, status, and industry. For a sourcing analyst tracking the most recent batch in the fintech vertical, the input would be:
{
"batches": ["S25"],
"statuses": ["Active"],
"industries": ["Fintech"]
}Leave batches empty to pull every batch from S05 to the current one (the “All Active Companies” equivalent). Leave industries empty to pull every vertical. The filters are additive β every condition must match for a row to be included.
Step 2 β Run the actor. Trigger it from the Apify console (Try for free, paste input, hit Run), from the Apify CLI (apify call nexgendata/yc-companies-directory-scraper), or programmatically with the Python or Node Apify Client. A typical batch-filtered run finishes in two to six minutes depending on row count.
Step 3 β Export the dataset. When the run completes, Apify stores results in a dataset that exports natively to CSV, JSON, JSONL, Excel, or HTML. For CRM workflows, CSV is the right pick. For warehouse ingest, JSONL streams cleanly into BigQuery, Snowflake, or Postgres via the standard Apify-to-S3 sync.
Step 4 β Load and segment. Open the CSV in Sheets or Excel (or pipe to your BI tool) and segment. The most useful column for early-stage sourcing is teamSize: filter to one through five for pre-seed and seed targets where the founding team is still complete and a partner intro lands with the people who matter. Filter on isHiring = true to surface companies actively scaling, which is a soft proxy for recently closed or about-to-close rounds. Cross-reference industries against your sector thesis. Drop the cleaned list into HubSpot, Salesforce, Affinity, or Attio as the new sourcing queue for the week.
The whole loop, from input to CRM-loaded list, is under fifteen minutes. Schedule it weekly with Apify Scheduler and dedupe on the stable id field to get a continuous delta of net-new YC companies as batches roll out.
Use cases
- VC sourcing pipeline build β Quarterly refresh of every YC company in your thesis sectors, deduped against your CRM and routed to investors for first-call.
- Follow-on tracking β Monitor portfolio-adjacent YC companies for the indication that a competitor is rising, informing follow-on decisions.
- Executive recruiter target lists β Founder-and-team enrichment for portfolio searches at YC-heavy firms; sortable by batch, vertical, and team size.
- Sales prospecting β ICP-matched YC-only prospect lists (e.g. “Fintech YC companies with five to twenty-five employees”) loaded into Outreach, Apollo, or HubSpot Sequences.
- Market mapping by sector β Build a complete picture of every YC vertical AI company since W20 for a competitive landscape slide or partner-meeting memo.
- Batch-over-batch trend analysis β Track which verticals are growing batch-over-batch; the kind of pattern recognition that drives a batch thesis or a sector deep-dive.
- Competitive landscape diligence β Before a term sheet, pull every YC company in the target’s space to size the competitive set and pressure-test the moat narrative.
- Founder enrichment for CRM β Append YC batch and one-liner to existing CRM records to give every founder profile better context for sales reps and partners.
- Hiring-status prospecting β Filter on
isHiring = trueto find YC companies actively scaling, often a proxy for fresh capital. - Acqui-hire pipeline β Track
statustransitions to “Inactive” for talent-acquisition opportunities the moment a YC team becomes available. - Market entry research β A non-US fund or operator entering a new vertical can use the directory to map every YC entrant in that vertical in an afternoon.
- Press and journalism research β Anniversary coverage, “where are they now” pieces, and outcome-by-batch analysis all start with a clean directory pull.
Run the scraper
The fastest way to put this into production is to run the actor directly. Run the YC Companies Directory Scraper on Apify β it runs on pay-per-event pricing at roughly $0.04-0.05 per company row, no subscription, no per-minute compute charges, and Apify’s $5/month free tier covers most experimental runs. Paste your batch and industry filters into the input form, hit Run, and your CSV is ready in minutes. Pair it with Apify Scheduler for weekly delta refreshes, or webhook the output into Slack, Zapier, Make, or n8n the moment new rows materialize.
Related actors and further reading
For complete coverage of the early-stage and venture-capital sourcing universe, pair the YC scraper with these adjacent actors:
- Founders Fund Portfolio Scraper β Peter Thiel-era growth and frontier-tech portfolio for follow-on and competitive mapping.
- Lightspeed Portfolio Scraper β Enterprise SaaS, fintech, and consumer growth-stage portfolio.
- Index Ventures Portfolio Scraper β European and US growth-stage portfolio coverage.
- Greylock Portfolio Scraper β Reid Hoffman-era enterprise and consumer portfolio.
- Bessemer Venture Partners Portfolio Scraper β Cloud, vertical SaaS, and healthcare portfolio across stages.
- Browse the full Company & Startup Intelligence Tools category for adjacent sourcing actors.
- Related: Build a Daily Series A/B Funding Tracker from SEC Form D + TechCrunch.
- Related: Crunchbase Pro Alternative: 4 Free Sources for Real-Time Funding Data.
FAQ
Is YC Companies Directory data free?
YC’s directory itself is free to browse at ycombinator.com/companies, but YC doesn’t offer a bulk export, an API, or a CSV download. The scraper is the bridge between the public-but-unstructured directory and a portable CSV or JSON dataset you can actually use. Scraper pricing is pay-per-event at roughly $0.04-0.05 per company row, with no subscription.
Can I export to CSV or Google Sheets?
Yes. Apify datasets export to CSV, JSON, JSONL, Excel, and HTML out of the box. For Google Sheets specifically, you can either download the CSV and import it manually, or wire the dataset to Sheets via Apify’s native Zapier or Make connectors so each run appends rows automatically.
How fresh is the data?
The scraper reads YC’s live directory at run time, so every run reflects the current state of the directory. For a continuously fresh dataset, schedule the actor daily or weekly with Apify Scheduler and dedupe on the stable id field. YC updates the directory regularly as new batches launch and as company statuses change.
What fields does the scraper return?
Every row includes id, name, slug, website, oneLiner, longDescription, batch, batchYear, status, teamSize, industries, regions, locations, isHiring, isTopCompany, and logoUrl. See the field table above for the full schema and types.
Can I filter by batch or sector?
Yes. The actor accepts a batches array (e.g. [“W26”, “S25”]), a statuses array (Active, Acquired, Public, Inactive), and an industries array (Fintech, AI, Healthcare, Climate, etc.). Filters are additive β every condition must match for a row to be returned. Leave any array empty to skip that filter.
Does it work for non-active companies?
Yes. The directory covers every YC company since S05 regardless of status. Pass "statuses": ["Acquired", "Public", "Inactive"] to pull historical outcomes for outcome research, acqui-hire pipeline tracking, or batch-by-batch hit-rate analysis.
How do I integrate with my CRM?
Three common patterns. First, manual CSV import into HubSpot, Salesforce, Affinity, or Attio for ad-hoc lists. Second, Zapier or Make automations that fire on new dataset items and push them as records into your CRM. Third, direct warehouse ingest (Apify to S3 to BigQuery or Snowflake) for analyst teams that prefer to enrich and route from the warehouse layer.
Is this allowed under YC’s terms?
YC’s company directory is public and indexed by Google, so scraping public listings for research, sourcing, and competitive-intelligence purposes is generally accepted practice β the same data is freely viewable in any browser. This is not legal advice; if your use case is high-volume or commercial-redistribution, review YC’s terms and consult counsel. The scraper is built to be respectful: it rate-limits requests, uses standard browser-grade behavior, and is designed for analyst-volume use rather than abusive crawl rates.
Factual public data — not financial or investment advice.
We cover AI agents, automation, and the tools that make them work. Our mission is to make AI accessible to everyone.