Y Combinator Startups Scraper
Pricing
from $1.99 / 1,000 results
Y Combinator Startups Scraper
Y Combinator Startups Scraper extracts YC company profiles - name, website, one-liner, long description, team size, batch, status, industries, regions, locations, tags, badges and hiring flag. ๐ For VC research and startup datasets.
Pricing
from $1.99 / 1,000 results
Rating
0.0
(0)
Developer
Scrapers Hub
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
๐ Y Combinator Startups Scraper โ YC Companies, Batches & Hiring Data
The Y Combinator Startups Scraper extracts the full YC company directory into a structured dataset โ company names, batches, one-liners, long descriptions, websites, team sizes, industries, regions, locations, status and hiring flags. Search by keyword, filter by company status, restrict to firms that are currently hiring or that YC has marked as a top company, and get back clean records ready for a CRM, a market map or an investment pipeline.
This YC startup scraper is aimed at venture investors, business development teams, recruiters and startup researchers who need the Y Combinator portfolio as data rather than as a browsable web page. Every record carries a stable numeric id, a URL-friendly slug, the canonical ycUrl and a scrapedAt timestamp, so datasets from different runs can be joined and compared without ambiguity.
๐ What Data Can You Extract with This Y Combinator Startups Scraper?
Each record is one YC company. The fields group into six categories that map onto how investors and researchers actually filter a portfolio.
| Category | Fields | What it tells you |
|---|---|---|
| ๐ท๏ธ Company identity | id, name, slug, website, ycUrl, smallLogoUrl | Stable identifiers, the company's own site, its YC directory page and its logo |
| ๐ Description | oneLiner, longDescription | The elevator pitch and the fuller narrative the company submitted to YC |
| ๐ YC context | batch, status, isTopCompany, badges | Which cohort the company came from, whether it is still active, and any YC-assigned distinctions |
| ๐ญ Classification | industries, tags | The sector labels YC applies, plus additional descriptive tags |
| ๐ Geography | regions, locations | Broad regions and specific city-level locations for the company |
| ๐ฅ Team & hiring | teamSize, isHiring | Headcount as reported to YC and whether the company is currently recruiting |
| โฑ๏ธ Provenance | scrapedAt | The exact moment the record was captured, for building time series |
The combination worth building workflows around is batch with teamSize and isHiring. Batch tells you company age precisely โ F25 is a very different proposition from W16 โ and reading headcount growth and hiring status against that age is the fastest way to spot which cohorts and which companies are actually scaling.
๐ Key Features of the Y Combinator Startups Scraper
| Feature | Description |
|---|---|
| ๐ Free-text search | searchQuery matches against company name, one-liner and description at once, so a term like "fintech" catches companies that never use it in their name |
| ๐ฆ Status filtering | status narrows to Active, Inactive, Acquired or Public companies, or leaves all statuses in |
| ๐ผ Hiring filter | isHiring restricts results to companies currently recruiting โ the single most useful filter for recruiters and job seekers |
| ๐ Top company filter | isTopCompany returns only companies YC itself has flagged as top performers |
| ๐งฎ Volume control | maxCompanies caps the run at a predictable number of records, defaulting to 20 |
| ๐ญ Rich classification | Every record carries industries, tags and badges arrays, giving several independent ways to segment the portfolio |
| ๐ Geographic detail | regions and locations arrays support both broad market analysis and city-level targeting |
| ๐ Stable join keys | id, slug and ycUrl are all persistent, so repeated runs deduplicate and merge cleanly |
| ๐ก๏ธ Automatic proxy rotation | Requests are routed through rotating proxies automatically, with no proxy configuration needed |
๐ Why Choose This Y Combinator Startups Scraper?
Search across descriptions, not just names. searchQuery is matched against the company name, the one-liner and the long description together. That is how you find every YC company working on developer tooling or climate tech, including the many whose names give no clue about what they do.
Hiring signal is a first-class filter. isHiring is available both as an input filter and as an output field, so you can pull a live list of YC companies recruiting right now, or track how hiring intent moves across a cohort over successive runs.
Records that merge cleanly across runs. Company names change and websites get replaced, but the numeric id and the slug persist. Combined with scrapedAt, that makes it straightforward to build a longitudinal dataset showing which companies changed status, grew headcount or stopped hiring.
Three independent classification systems. industries gives YC's own sector taxonomy, tags adds finer descriptive labels, and badges captures distinctions YC awards. Between them you can slice the portfolio at whatever granularity your analysis needs without building your own classifier.
๐ฅ Input
{"searchQuery": "AI","status": "Active","isHiring": true,"isTopCompany": false,"maxCompanies": 20}
๐ง Y Combinator Startups Scraper Input Fields
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
searchQuery | string | No | "" | Free-text query matched against company name, one-liner, and description (e.g. "AI", "fintech"). Leave empty to skip text filtering. |
status | string | No | "" | Filter by company status. One of "" (Any), Active, Inactive, Acquired, Public. Leave empty for all statuses. |
isHiring | boolean | No | false | Only return companies that are currently hiring. |
isTopCompany | boolean | No | false | Only return companies YC has flagged as a "top company". |
maxCompanies | integer | No | 20 | Maximum number of companies to scrape. |
๐ก Input Examples
Fintech companies still operating
{"searchQuery": "fintech","status": "Active","maxCompanies": 100}
YC top companies, no keyword filter
{"isTopCompany": true,"maxCompanies": 200}
Companies hiring right now in developer tooling
{"searchQuery": "developer tools","status": "Active","isHiring": true,"maxCompanies": 50}
๐ค Output
{"id": 30837,"name": "AirCaps","slug": "aircaps","website": "https://aircaps.com","smallLogoUrl": "https://bookface-images.s3.amazonaws.com/small_logos/839111803eb4ccce6e6e411847617a96d8d7d880.png","oneLiner": "The AI copilot for in-person conversations.","longDescription": "\"AirCaps is bringing AI assistance to in-person conversations. \\r\\n\\r\\nOur AI-copilot provides live โฆ","teamSize": 5,"ycUrl": "https://www.ycombinator.com/companies/aircaps","batch": "F25","status": "Active","industries": ["Consumer"],"regions": ["United States of America", "America / Canada"],"locations": ["San Francisco"],"tags": [],"badges": [],"isHiring": true,"isTopCompany": false,"scrapedAt": "2026-08-11T04:03:21.217069+00:00"}
๐งพ Y Combinator Startups Output Fields
| Field | Type | Description |
|---|---|---|
id | integer | null | Unique identifier of the item. |
name | string | null | Name of the item. |
slug | string | null | URL-friendly identifier. |
website | string | null | Website address. |
smallLogoUrl | string | null | URL of the item's small logo. |
oneLiner | string | null | One liner of the item. |
longDescription | string | null | Long description of the item. |
teamSize | integer | null | Team size of the item. |
ycUrl | string | null | URL of the item's yc. |
batch | string | null | Batch of the item. |
status | string | null | Status of the item. |
industries | array | null | Industries values collected for the item. |
regions | array | null | Regions values collected for the item. |
locations | array | null | Locations values collected for the item. |
tags | array | null | Tags attached to the item. |
badges | array | null | Badges values collected for the item. |
isHiring | boolean | null | Whether is hiring. |
isTopCompany | boolean | null | Whether is top company. |
scrapedAt | string | null | When this record was scraped. |
Array fields are frequently empty rather than null โ tags and badges in particular are empty arrays for many companies, as the real sample above shows. Plan for both empty arrays and nulls when loading into a strict schema.
๐ป How to Use the Y Combinator Startups Scraper (Step by Step)
Step 1: Decide what your search question actually is
Before touching the input, be clear about whether you are mapping a sector, building a recruiting list or tracking portfolio health. Sector mapping wants a searchQuery and a high maxCompanies with no status filter, so you see failures alongside successes. A recruiting list wants isHiring set to true and status set to Active. Portfolio health tracking wants no filters at all and a large cap, refreshed on a schedule. The same actor serves all three, but the input differs considerably.
Step 2: Craft the search query
searchQuery runs against company name, oneLiner and longDescription together, which makes it far more effective than a name-only search. Short, category-level terms such as "AI", "fintech", "biotech" or "logistics" give good recall. Longer phrases narrow results sharply because every word must find a match somewhere in the text. Leave the field empty to skip text filtering entirely and pull the directory unfiltered.
Step 3: Apply the status filter
status accepts Active, Inactive, Acquired and Public, or an empty value meaning any. The choice matters more than it first appears. Filtering to Active gives you a working prospect list; including Inactive gives you survivorship data, which is what you need if you are studying cohort outcomes rather than selling to current companies. Acquired and Public together form the exit set โ a small but analytically valuable slice of any batch.
Step 4: Add hiring and top-company filters
isHiring restricts results to companies currently recruiting. For recruiters and job seekers, this single flag turns the whole YC directory into a live opportunity list. isTopCompany returns only companies YC has flagged as top performers, which is a useful proxy for traction when you have no revenue data. Both filters are additive with the status filter and with the search query, so combining all four narrows results quickly.
Step 5: Set the record limit
maxCompanies defaults to 20, which is deliberately small โ enough to check that your filters behave as expected without running a large job. Once you are satisfied with a sample, raise it to whatever your analysis needs. Because the YC directory contains thousands of companies, a broad query with no filters and a high limit will produce a substantial dataset, so increase the cap in steps rather than jumping straight to the maximum you can imagine wanting.
Step 6: Run the scraper and review the sample
Start the actor from the Console or through the API. When results appear, check a handful of records against what you expected: does batch cover the cohorts you wanted, are industries populated, does teamSize look plausible? If isHiring was enabled, confirm every row has it set to true. Catching a mis-set filter on a 20-record run is far cheaper than discovering it after a full directory crawl.
Step 7: Export, join and schedule
Export as CSV, JSON, XLSX or XML from the Console, or read the dataset over the API. Join against your existing CRM or portfolio records on id or slug, both of which are stable across runs. For ongoing tracking, create an Apify Schedule with the same input and append each run to a history table keyed on id and scrapedAt โ that history is what lets you detect status changes, headcount growth and hiring shifts over time.
๐ API Access & Integrations
Run the Y Combinator startups scraper and receive the dataset in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers-hub~y-combinator-startups-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"searchQuery": "AI","status": "Active","isHiring": true,"maxCompanies": 50}'
The same run with the Python client:
from apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")run = client.actor("scrapers-hub/y-combinator-startups-scraper").call(run_input={"searchQuery": "fintech","status": "Active","isTopCompany": False,"maxCompanies": 200,})for company in client.dataset(run["defaultDatasetId"]).iterate_items():print(company["name"], company["batch"], company["teamSize"], company["isHiring"])
Finished datasets connect to Zapier, Make, Google Sheets and Slack, and Apify webhooks can push each completed YC scraping run straight into your own systems.
๐ก Best Use Cases for Y Combinator Startup Data
๐ธ Venture deal sourcing
Pull recent batches by filtering on status set to Active and scanning batch values for the latest cohorts, then read oneLiner and longDescription to shortlist companies in your thesis. teamSize gives an immediate sense of stage, and website plus ycUrl provide the two links an analyst needs to start diligence.
๐ฏ B2B sales prospecting
YC companies are early adopters of developer tools, infrastructure and back-office software. Filter to Active companies in your target industries, use teamSize to qualify by company size, and treat isHiring as a growth signal โ companies recruiting are the ones with budget and expanding needs.
๐งโ๐ผ Recruiting and job hunting
Setting isHiring to true produces a live list of YC companies actively recruiting. locations and regions let you narrow to a commutable market or a remote-friendly region, and teamSize tells candidates whether they would be employee number five or fifty.
๐บ๏ธ Market and competitive mapping
Run a searchQuery for your category with no status filter and a high maxCompanies, then group by batch to see when the category started attracting funding and by status to see how many attempts survived. industries and tags add secondary axes for building a proper landscape chart.
๐ Cohort and survivorship analysis
Because status distinguishes Active, Inactive, Acquired and Public, and batch identifies the cohort precisely, you can calculate survival and exit rates per batch across the whole directory. Repeating the run on a schedule and diffing on id reveals status transitions as they happen.
๐ค Partnership and ecosystem research
industries, tags and badges together describe what a company does and what YC recognises it for. Filtering on complementary rather than competing industries surfaces partnership candidates, and regions and locations show where an ecosystem is concentrated geographically.
๐ Academic and journalistic research
The YC directory is one of the best-documented startup cohorts available. batch, teamSize, status, industries and regions, combined with scrapedAt for reproducibility, support quantitative work on accelerator outcomes, sector cycles and geographic concentration in venture-backed entrepreneurship.
โ๏ธ Tips for Better Y Combinator Startup Scraping Results
- Start with
maxCompaniesat the default 20. Confirm your filters produce the shape of result you expect before scaling to hundreds of records. It takes seconds and avoids wasted runs. - Prefer short search queries.
searchQuerymatches text across three fields, so single category words give strong recall. Long phrases require every word to match somewhere and often return almost nothing. - Do not filter on status when studying outcomes. Excluding Inactive companies introduces survivorship bias into any cohort analysis. Pull all statuses and filter afterwards so you keep the denominator.
- Join on
id, never onname. Companies rebrand, and names collide across batches. The numericidand theslugare the stable keys for deduplication and for merging successive runs. - Keep
scrapedAtin your stored dataset. It is what turns repeated runs into a time series and lets you prove when a status change or headcount shift was first observed. - Handle empty arrays explicitly.
tagsandbadgesare commonly empty, andindustries,regionsandlocationscan hold multiple values. Flatten them deliberately rather than assuming a single value per field.
๐ ๏ธ Troubleshooting
Why did my Y Combinator startups scraper run return no companies?
The most likely cause is an over-restrictive filter combination. A narrow searchQuery together with isTopCompany, isHiring and a specific status can eliminate every company in the directory. Remove filters one at a time until results appear, then reintroduce them selectively.
Why did I get exactly 20 records?
That is the default value of maxCompanies. Raise it to collect more. The cap applies regardless of how many companies match your filters.
tags and badges are empty on most rows.
This reflects the source data. Many YC companies carry no tags or badges at all, as the real sample record shows. Use industries as your primary classification field and treat tags and badges as optional enrichment.
Why does teamSize look wrong for a company I know?
Team size is self-reported by the company to YC and is not always kept current, particularly for older batches. Treat it as an indication of scale rather than an authoritative headcount, and cross-check against the company's own site via the website field where accuracy matters.
Results differ between two runs with the same input.
The YC directory changes as companies update their profiles, change status or start and stop hiring. scrapedAt on every record is there precisely so you can treat each run as a dated snapshot rather than a fixed truth.
โ Frequently Asked Questions About Y Combinator Startups Scraping
What does the Y Combinator Startups Scraper collect? One record per YC company containing the identifiers, name, slug, website, logo URL, one-liner, long description, team size, YC directory URL, batch, status, industries, regions, locations, tags, badges, hiring flag, top-company flag and a scrape timestamp.
Can I search YC companies by keyword?
Yes. searchQuery is matched against the company name, the one-liner and the long description simultaneously, so a term like "AI" or "fintech" finds companies working in that space regardless of what they are called.
How do I find YC companies that are hiring?
Set isHiring to true. Every returned record will also carry isHiring in the output so you can verify the filter, and locations and regions let you narrow by geography afterwards.
Can I filter YC startups by batch?
There is no batch input filter, but batch is returned on every record โ values look like F25, W16 or S21. Pull a broad result set and filter on batch in your own tooling to isolate specific cohorts.
What company statuses are available?
Active, Inactive, Acquired and Public, plus an empty value meaning any status. The same values appear in the status output field.
What does isTopCompany mean?
It indicates that Y Combinator has flagged the company as a top company. Using it as an input filter returns only those companies; the field is also present on every output record.
How many YC companies can I scrape at once?
As many as maxCompanies allows. It defaults to 20, and you can raise it to cover a much larger portion of the directory. Increase it in steps so you can gauge dataset size as you go.
Do I need a Y Combinator account or API key? No. The actor reads the public YC company directory, so there is no account, no API key and no developer quota involved.
Is scraping Y Combinator company data legal? The scraper collects only publicly published company directory information. Public data collection is broadly permissible in many jurisdictions, but you remain responsible for complying with Y Combinator's Terms of Service and any laws or contractual obligations that apply to you.
What is the difference between regions and locations?
regions holds broad geographic groupings โ the sample record shows "United States of America" and "America / Canada" โ while locations holds specific places such as "San Francisco". Both are arrays and a company can appear in several of each.
Can I export YC startup data to Excel or Google Sheets? Yes. Apify datasets export to CSV, XLSX, JSON and XML from the Console, and the dataset API endpoint can be read directly into Google Sheets or any BI tool that consumes CSV or JSON over HTTP.
How do I track changes to the YC portfolio over time?
Create an Apify Schedule with a fixed input and append each run's records to a history table keyed on id and scrapedAt. Diffing consecutive snapshots reveals status changes, headcount movement and hiring starts and stops.
Which field should I use as a primary key?
id, the numeric identifier. slug is a good secondary key and is human-readable. Avoid name, which changes when companies rebrand.
Are proxies configurable? Proxy rotation is handled automatically by the actor, so there is nothing for you to configure.
Does the scraper return founder names or contact details? No. The output covers company-level attributes โ identity, description, classification, geography, team size, status and hiring flag. Founder identities and contact details are not part of the field set.
๐ Support & Feedback
If the Y Combinator startups scraper stops behaving as documented โ a field goes empty, a filter stops applying, or the directory layout changes โ report it on the actor's Issues tab so it can be tracked and fixed.
Need something bespoke? Additional fields, founder-level detail, batch-specific crawling, or an output schema that maps onto your CRM โ email scraperhubapi@gmail.com and describe the workflow you are building.
If this YC startup scraper is useful in your sourcing or research work, please leave a rating and a short review on the actor page. It helps other investors, recruiters and researchers find it, and it guides what gets improved next.
โ๏ธ Disclaimer
This Y Combinator startups scraper collects only publicly available company information published in the YC company directory. It does not access private accounts, internal YC systems, or any data behind authentication.
You are responsible for how the extracted data is used, including compliance with Y Combinator's Terms of Service, applicable copyright in the descriptive text companies publish, and any contractual restrictions that apply to your organisation.
The fields returned describe companies rather than individuals. Where a record nonetheless relates to an identifiable person โ a solo-founder company whose name is a personal name, for instance โ you act as the data controller for that record and must comply with the GDPR, the UK GDPR, the CCPA or the equivalent regime that applies to you, including establishing a lawful basis, limiting retention and honouring data subject requests. If you use this data for outreach, follow the marketing rules that apply in your recipients' jurisdictions.
This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Y Combinator. To request removal of data collected through this actor, contact scraperhubapi@gmail.com with the relevant details and the request will be handled promptly.