YCombinator Companies Scraper | 5,900+ YC Startup Directory
Pricing
from $1.00 / 1,000 results
YCombinator Companies Scraper | 5,900+ YC Startup Directory
Y Combinator companies scraper & API: export the YC startup directory by batch, industry & status — company name, description, website, batch, team size, location, founders, tags and YC profile URL. Startup intelligence, VC research and B2B lead lists — fast, no login.
Pricing
from $1.00 / 1,000 results
Rating
1.0
(1)
Developer
Haketa
Maintained by CommunityActor stats
2
Bookmarked
163
Total users
12
Monthly active users
4 days ago
Last modified
Categories
Features
Share
Extract the complete Y Combinator startup directory (5,900+ funded companies from Summer 2005 to 2026) — including company name, website domain, one-liner, full description, YC batch, status, funding stage, team size, industry, tags, regions, and active hiring flag.
⚡ At a glance
| Feature | Details |
|---|---|
| Target Directory | Y Combinator Startup Directory (5,900+ YC-backed startups, 2005–2026) |
| Execution Modes | Batch Mode (Dataset export up to all 5,900+ companies) & Standby Mode (instant live HTTP API for AI agents) |
| Built-In Filters | Keyword query, batches (45+ cohorts), statuses, industries, regions (90+ countries/regions), stages, hiringOnly, topCompaniesOnly |
| Scale & Pagination | Automatic multi-page traversal + automatic 45-batch fan-out when maxRecords > 1000 or maxRecords: 0 |
| Data Completeness | 25+ normalized camelCase fields per startup with companyId deduplication (0% duplicates) |
| Speed & Cost | Pure-HTTP engine (no browser, no proxy needed) — 500 companies in ~5–15s, full directory in under 60s |
| Export Formats | JSON, CSV, Excel (XLSX), JSONL, XML, HTML Table, Apify REST API, and Standby HTTP JSON |
This Y Combinator scraper extracts structured startup intelligence from the Y Combinator Companies Directory — returning company name, website URL, YC profile link, one-liner pitch, full description, YC batch cohort, operating status (Active, Acquired, Public, Inactive), funding stage (Seed, Early, Growth), team size, primary industry, sub-industry, tags, headquarters location, regions, active hiring flag (isHiring), Top Company badge (topCompany), former names, launch date, and logo URL.
Run it as a classic batch job to export 100 to 5,900+ startups to JSON, CSV, or Excel, or query it in Apify Standby Mode as a sub-second live HTTP endpoint for AI agents, MCP servers, and real-time CRM enrichment.
Built for B2B SaaS outbound sales teams, RevOps & GTM engineers, technical recruiters, venture capital analysts, corporate development / M&A scouts, and market researchers who want clean, ICP-ready YC startup data in seconds.
🔎 Why scrape the Y Combinator startup directory?
Y Combinator has funded nearly 6,000 startups since 2005 — including Stripe, Airbnb, OpenAI, Coinbase, DoorDash, Deel, Rippling, Brex, GitLab, Supabase, Retool, and Linear, alongside thousands of fast-growing Seed, Early, and Growth-stage companies in every new cohort.
For B2B sales, recruiting, and investment teams, the YC directory is the highest-signal list of funded technology buyers on the internet:
- Every company in the directory has raised capital and is actively buying cloud infrastructure, developer tools, AI APIs, security compliance, payroll, finance, and GTM software.
- Scrolling
ycombinator.com/companiesmanually in a browser is slow, cannot be exported to CSV/Excel, and truncates single searches at 1,000 results. - Plain HTML scraping fails because the directory is a client-rendered JavaScript application.
This Y Combinator companies scraper solves every limitation automatically:
- It queries the live directory index directly over pure HTTP with self-healing authentication (zero browser overhead, no proxies required).
- When you request more than 1,000 companies (e.g.,
maxRecords: 2000ormaxRecords: 0for the entire directory), it automatically fans out across all 45+ YC batches (Summer 2005throughFall 2026), breaking past the 1,000-result single-query limit and de-duplicating every startup bycompanyId. - It outputs 25+ normalized camelCase columns ready to drop straight into Clay, HubSpot, Salesforce, Apollo, Snowflake, Postgres, or Google Sheets.
Common reasons teams scrape Y Combinator companies
- B2B SaaS sales prospecting & ABM — build hyper-targeted lists of active B2B and Fintech YC startups (
statuses: ["Active"],stages: ["Early", "Growth"]) with direct website URLs, headcount (teamSize), and descriptions. - Technical recruiting & job boards — filter by
hiringOnly: trueto extract every YC startup actively hiring engineers, designers, and GTM talent right now. - Venture capital & deal-flow intelligence — track new cohorts (
Winter 2026,Spring 2026,Summer 2026,Fall 2026), analyze sector concentration (AI agents, robotics, fintech, healthcare, climate), and monitor batch-over-batch team growth. - M&A and corporate development — identify
SeedandEarlystartups in specific sub-industries (B2B -> Engineering, Product and Design) for partnership or acquisition outreach. - Founder & domain enrichment — pair the extracted
websitecolumn with an Email Finder or Contact Scraper to reach founders and executives at newly funded YC startups. - Real-time AI agent lookups (Standby Mode) — let LLM agents and workflows query YC companies on the fly via a single HTTP
GETrequest.
✨ What this Y Combinator scraper does
- ✅ Extracts up to all 5,900+ YC companies — set
maxRecords: 0(or1000+) and the Actor automatically fans out across cohorts to break the 1,000-result per-query ceiling, returning a 100% de-duplicated dataset. - ✅ Full keyword & facet filtering — filter by free-text
query(e.g.,"AI","developer tools","fintech"),batches(45+ cohorts fromSummer 2005toFall 2026),statuses(Active,Acquired,Public,Inactive),industries,regions(90+ countries and regions),stages(Seed,Early,Growth),hiringOnly, andtopCompaniesOnly. - ✅ Legacy & modern batch code normalization — accepts both full cohort names (
"Winter 2025","Spring 2026","Fall 2025") and shorthand codes ("W25","S24","F25","Sp26"). - ✅ 25+ rich startup fields —
companyId,name,slug,ycProfileUrl,website,oneLiner,longDescription,logoUrl,location,regions,batch,status,stage,teamSize,industry,subindustry,industries,tags,topCompany,isHiring,nonprofit,formerNames,launchedAt, andlaunchedAtUnix. - ✅ Self-healing live credentials — automatically refreshes public search credentials from the live YC directory page whenever keys rotate, with a built-in fallback key for uninterrupted reliability.
- ✅ Dual-mode architecture (Batch + Standby HTTP Server) — works as a standard one-shot Apify Actor AND as an always-warm Standby HTTP API that responds to
GET /?query=AI&hiringOnly=truein milliseconds. - ✅ Blazing-fast pure HTTP — requires no headless browser and no paid proxies; scrapes 100–500 companies in a few seconds at minimal compute cost.
🎯 High-value use cases
| Team / Role | Workflow | Key fields used |
|---|---|---|
| B2B SaaS Sales & SDRs | Pull all Active B2B startups in recent batches with 10+ employees to feed outbound sequences. | name, website, oneLiner, batch, stage, teamSize, industry, location |
| Recruiters & Talent Agencies | Extract startups with isHiring: true in the US, Europe, India, or Remote to pitch recruiting services. | name, website, ycProfileUrl, isHiring, teamSize, stage, regions |
| VC & Market Analysts | Compare cohort trends across Winter 2024–Fall 2026 by industry, sub-industry, and tags. | batch, industry, subindustry, tags, status, topCompany, launchedAt |
| GTM & Clay Engineers | Enrich CRM domains with YC cohort provenance, rebrand history (formerNames), and team size. | companyId, name, formerNames, website, batch, status, stage |
| AI Agents & MCP Builders | Query the Actor's Standby URL in real time to answer questions about YC startups. | All fields via JSON HTTP response { count, companies } |
📥 Input configuration
All inputs are optional. Use the dropdown pickers in the Apify Console or pass JSON via the API.
| Field | Type | Default / Prefill | Description |
|---|---|---|---|
query | string | "" (prefill "AI") | Optional keyword search across company name, one-liner, description, industry, and tags (e.g., "AI", "devtools", "fintech"). Leave empty to browse all companies matching your filters. |
batches | array<string> | [] | One or more YC cohorts ("Fall 2026", "Summer 2026", "Spring 2026", "Winter 2026", "Fall 2025", ..., "Summer 2005", or short codes like "W24", "S24"). Leave empty to search all batches. |
statuses | array<string> | [] | Filter by operating status: "Active", "Acquired", "Public", "Inactive". Empty = all statuses. |
industries | array<string> | [] | Filter by primary industry: "B2B", "Consumer", "Fintech", "Healthcare", "Education", "Government", "Industrials", "Real Estate and Construction". |
regions | array<string> | [] | Filter by region or country ("United States of America", "Europe", "India", "Latin America", "United Kingdom", "Canada", "Remote", "Fully Remote", etc.). |
stages | array<string> | [] | Filter by company stage: "Seed", "Early", "Growth". Empty = all stages. |
hiringOnly | boolean | false | Set true to return only companies with isHiring: true. |
topCompaniesOnly | boolean | false | Set true to return only companies on YC's curated Top Companies list (topCompany: true). |
maxRecords | integer | 100 (prefill 100) | Maximum number of companies to return. Set 0 for unlimited (up to all 5,900+ companies via automatic batch fan-out), or any number like 1000 / 2500. |
hitsPerPage | integer | 1000 | Number of records fetched per page request (10–1000; keep at 1000 for fastest execution). |
requestDelay | integer | 300 | Polite pause between multi-batch requests in milliseconds (100–10000). |
proxyConfiguration | object | { "useApifyProxy": false } | Optional Apify Proxy configuration. Off by default — not needed for normal runs. |
Example 1 — Scrape 1,500+ active B2B & AI startups
{"query": "","industries": ["B2B"],"statuses": ["Active"],"maxRecords": 1500,"hitsPerPage": 1000}
Example 2 — Export the ENTIRE 5,900+ Y Combinator startup directory (maxRecords: 0)
{"query": "","maxRecords": 0,"hitsPerPage": 1000,"requestDelay": 250}
Example 3 — Find actively hiring Early & Growth-stage YC companies
{"statuses": ["Active"],"stages": ["Early", "Growth"],"hiringOnly": true,"maxRecords": 500}
Example 4 — Specific recent YC cohorts (Winter 2025 through Summer 2026)
{"batches": ["Summer 2026","Spring 2026","Winter 2026","Fall 2025","Summer 2025","Spring 2025","Winter 2025"],"maxRecords": 0}
📤 Output schema & field reference
Each dataset record is a clean, flat JSON object representing one unique YC startup.
Sample JSON output
{"companyId": 29533,"name": "Indemni","slug": "indemni","ycProfileUrl": "https://www.ycombinator.com/companies/indemni","website": "http://www.indemni.com","oneLiner": "Cargo Theft and Fraud Prevention Platform","longDescription": "We are building a safer supply chain. Cargo Theft has been increasing yearly, and the supply chain industry is urgently looking for ways to solve this...","logoUrl": "https://bookface-images.s3.amazonaws.com/small_logos/5e66c11bb21c9a5ccdcf4a475ed7e48693b41f2b.png","location": "San Francisco, CA, USA","regions": ["United States of America","America / Canada","Remote","Partly Remote"],"batch": "Winter 2024","status": "Active","stage": "Early","teamSize": 7,"industry": "B2B","subindustry": "B2B -> Supply Chain and Logistics","industries": ["B2B","Supply Chain and Logistics"],"tags": ["Identity","Logistics","Supply Chain","Fraud Prevention","Fraud Detection"],"topCompany": false,"isHiring": true,"nonprofit": false,"formerNames": ["Alacrity"],"launchedAt": "2024-02-15T20:40:36.000Z","launchedAtUnix": 1708029636,"searchQuery": null,"searchBatch": "Winter 2024","scrapedAt": "2026-11-08T15:40:33.239Z"}
🆔 Company Identity & Profile Fields
| Field | Type | Coverage | Description |
|---|---|---|---|
companyId | integer | 🟢 High (100%) | Stable numeric Y Combinator company ID — primary deduplication key. |
name | string | 🟢 High (100%) | Official startup name. |
slug | string | 🟢 High (100%) | URL-safe company slug. |
ycProfileUrl | string | 🟢 High (100%) | Canonical YC company profile URL (https://www.ycombinator.com/companies/<slug>). |
website | string|null | 🟢 High (~99%) | Company website URL. |
oneLiner | string|null | 🟢 High (~99%) | Short one-sentence elevator pitch. |
longDescription | string|null | 🟢 High (~95%) | Full multi-paragraph company overview and product description. |
logoUrl | string|null | 🟢 High (~99%) | Direct URL to the company's logo image on YC's CDN. |
formerNames | array<string>|null | 🟡 Conditional (~60%) | Previous company/brand names if the startup rebranded (null when unchanged). |
📊 Cohort, Stage, Team & Industry Classification
| Field | Type | Coverage | Description |
|---|---|---|---|
batch | string | 🟢 High (100%) | YC cohort name (e.g., "Winter 2024", "Summer 2025", "Spring 2026"). |
status | string | 🟢 High (100%) | Operating status: "Active", "Acquired", "Public", or "Inactive". |
stage | string | 🟢 High (100%) | Growth stage: "Seed", "Early", or "Growth". |
teamSize | integer|null | 🟢 High (~98%) | Reported employee headcount as an integer. |
industry | string | 🟢 High (100%) | Primary industry vertical (e.g., "B2B", "Fintech", "Healthcare", "Consumer"). |
subindustry | string|null | 🟢 High (~96%) | Granular sub-vertical (e.g., "B2B -> Engineering, Product and Design"). |
industries | array<string> | 🟢 High (100%) | Array of all industry categories assigned to the startup. |
tags | array<string>|null | 🟢 High (~85%) | Descriptive topic and technology tags (e.g., ["Artificial Intelligence", "Developer Tools", "SaaS"]). |
🌍 Geography, Signals & Provenance Fields
| Field | Type | Coverage | Description |
|---|---|---|---|
location | string|null | 🟢 High (~97%) | Headquarters city, state, and country string (e.g., "San Francisco, CA, USA"). |
regions | array<string> | 🟢 High (100%) | Normalized geographic and remote-work tags (["United States of America", "Remote"]). |
isHiring | boolean | 🟢 High (100%) | true when the company has active job openings listed on YC's Work at a Startup board. |
topCompany | boolean | 🟢 High (100%) | true when featured on YC's Top Companies list. |
nonprofit | boolean | 🟢 High (100%) | true if registered as a non-profit organization. |
launchedAt | string|null | 🟡 Conditional (~75%) | ISO 8601 launch timestamp when recorded ("2024-02-15T20:40:36.000Z"). |
launchedAtUnix | integer|null | 🟡 Conditional (~75%) | Launch timestamp as Unix epoch seconds. |
searchQuery / searchBatch | string|null | 🟢 High (Provenance) | Records the query and batch task that matched the company. |
scrapedAt | string | 🟢 High (100%) | ISO 8601 extraction timestamp. |
🔁 Pagination, automatic batch fan-out & 1,000+ scale
A single search query against the YC directory index is capped at 1,000 hits. This Actor overcomes that ceiling automatically so you can extract 1,000 to 5,900+ companies in a single run:
- Direct 1,000-per-page retrieval (
hitsPerPage: 1000): Runs requesting up to 1,000 matching companies finish in a single HTTP request (~2–4 seconds). - Automatic 45+ batch fan-out for 1,000+ runs: Whenever you set
maxRecordsabove1000(e.g.,maxRecords: 2000ormaxRecords: 0for unlimited) — even if you leavebatchescompletely empty — the Actor automatically fans out across every YC cohort fromFall 2026down toSummer 2005, collecting and de-duplicating every startup until yourmaxRecordstarget (or the entire 5,900+ catalog) is reached! - Guaranteed 0% duplicates: Every company is de-duplicated in memory by
companyIdbefore being pushed to the dataset.
⚙️ How to use (Batch Mode & Standby HTTP API)
Option A — Batch Run (Apify Console or API)
- Open YCombinator Companies Scraper in the Apify Console.
- Enter an optional
query(e.g."AI") or select filters from thebatches,statuses,industries,regions, andstagesdropdowns. - Set
maxRecords(e.g.,100for a quick sample,1500for a deep slice, or0for the entire directory) and click Start. - Export your results to CSV, Excel, JSON, or JSONL from the Dataset tab.
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("haketa/ycombinator-companies-scraper").call(run_input={"query": "AI","statuses": ["Active"],"hiringOnly": True,"maxRecords": 500,})for company in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{company['name']} ({company['batch']}) | Team: {company['teamSize']} | {company['website']}")
Option B — Live Standby Mode (Instant HTTP API)
This Actor supports Apify Standby Mode, staying warm as an HTTP microservice that returns JSON immediately without spinning up a new container per request:
curl "https://<your-standby-url>/?query=fintech&statuses=Active&hiringOnly=true&maxRecords=50" \-H "Authorization: Bearer YOUR_APIFY_TOKEN"
Response format:
{"count": 50,"companies": [ ... ]}
Standby query parameters reference
| Query Parameter | Example | Description |
|---|---|---|
query | ?query=AI+agents | Free-text search keyword across company name, one-liner, description, and tags. |
batches (or batch) | ?batches=Winter+2025,Spring+2026 | Comma-separated list of YC batches (or short codes like W25,S25). |
statuses | ?statuses=Active,Public | Comma-separated company statuses (Active, Acquired, Public, Inactive). |
industries | ?industries=B2B,Fintech | Comma-separated primary industries. |
regions | ?regions=United+States+of+America,Remote | Comma-separated regions or countries. |
stages | ?stages=Early,Growth | Comma-separated company stages (Seed, Early, Growth). |
hiringOnly | ?hiringOnly=true | Set to true to filter for actively hiring startups. |
topCompaniesOnly | ?topCompaniesOnly=true | Set to true to filter for YC Top Companies. |
maxRecords | ?maxRecords=100 | Maximum number of companies returned in the JSON payload (default 100 in Standby). |
Node.js (apify-client) batch example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('haketa/ycombinator-companies-scraper').call({query: '',industries: ['B2B', 'Fintech'],statuses: ['Active'],stages: ['Early', 'Growth'],hiringOnly: true,maxRecords: 1500,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Fetched ${items.length} active, hiring YC startups`);
🔌 Outbound GTM & VC intelligence workflows
- Automated YC Cohort Launch Alerts: Schedule this Actor to run weekly with
batches: ["Winter 2026", "Spring 2026", "Summer 2026", "Fall 2026"]andmaxRecords: 0. DiffcompanyIdagainst your database or Google Sheet to alert your sales or investment team the moment a new YC company launches. - Website → Founder Email Waterfall: Export the
websitecolumn from your YC dataset and pass those domains into Bulk Company Name to Domain Finder or Email & Contact Extractor to build a complete outreach table with emails and social profiles. - AI Agent / MCP Tool Integration: Connect your LLM agent or MCP server to the Actor's Standby URL so users can ask natural-language questions like "List all active YC healthcare startups in Europe with 10+ employees that are currently hiring."
💡 Pro tips for B2B sales & VC research
- Get the entire 5,900+ YC directory in one click: Clear the
queryfield, leave all filter dropdowns empty, and set"maxRecords": 0. The Actor will automatically fan out across all cohorts and export the entire YC startup database in under a minute. - High-converting SaaS outbound filter: Combine
industries: ["B2B"],statuses: ["Active"],stages: ["Early", "Growth"], andhiringOnly: trueto isolate funded startups with budget and active hiring momentum. - Use shorthand or full batch names interchangeably: Both
"W25"and"Winter 2025"(or"Sp26"and"Spring 2026") are automatically normalized to YC's canonical cohort format.
⚠️ Honest limitations
- Company-level directory data: The public YC company directory provides company-level metadata (
website,oneLiner,longDescription,teamSize,batch,stage,isHiring, etc.) and does not expose personal founder email addresses or phone numbers. To get founder/company emails, feed the extractedwebsitecolumn into our Email & Contact Extractor or Email Pattern Finder. - Client-side
stagesfiltering: Becausestage(Seed,Early,Growth) is stored as a record attribute rather than a server-side search facet, the Actor appliesstagesfiltering immediately after fetching each page.
❓ Frequently Asked Questions (FAQ)
Do I need a Y Combinator login, Bookface account, or proxies?
No. This Actor extracts public directory data keyless and without any proxy overhead.
How can I export all 5,900+ YC companies without the 1,000-result limit?
Simply set "maxRecords": 0 (or any number above 1000, such as 5000) and clear query. The Actor automatically fans out across all 45+ YC batches (Fall 2026 back to Summer 2005) and de-duplicates every record by companyId.
How fast is this scraper?
A 100- to 1,000-company run completes in 2 to 6 seconds. A full-directory 5,900+ company fan-out run completes in ~25 to 45 seconds.
Does it include the new Spring and Fall YC batches?
Yes — all four annual cohorts (Winter, Spring, Summer, Fall) through 2026 are included in the batches dropdown and automatic fan-out list.
🔗 Related B2B & startup intelligence scrapers
- BuiltIn Tech Companies Scraper — scrape funded tech companies, tech stacks, employee counts, and perks.
- ProductHunt Launches & Makers Scraper — extract daily startup launches, upvotes, maker profiles, and websites.
- Bulk Company Name to Domain Finder — resolve any list of company names into verified domains and logos.
- Email & Contact Extractor — crawl your YC
websitelist to extract business emails and social links. - D&B (Dun & Bradstreet) Company Scraper — enrich startups with DUNS numbers, revenue estimates, and corporate filings.
- Levels.fyi Scraper — benchmark engineering and PM compensation across tech startups.
📋 Changelog
- v1.2 (2026-11) — Unlocked 1,000+ to 5,900+ full-directory pagination: removed the
EMPTY_RUN_CAP = 100clamp whenmaxRecordsis explicitly provided by the user, and added automatic 45-cohortALL_YC_BATCHESfan-out whenevermaxRecords === 0ormaxRecords > 1000(even whenbatchesis left empty). - v1.1 (2026-10) — Added Apify Standby Mode HTTP server with readiness probe (
x-apify-container-server-readiness-probe), self-healing live credential refresh, and Spring/Fall 2025–2026 cohort support. - v1.0 (2026-09) — Initial release with 25+ normalized startup fields, facet filtering, shorthand batch normalization, and
companyIddeduplication.