How to Export the Y Combinator Companies List (Startups, Founders and Jobs)

The Y Combinator directory is one of the few complete, public lists of a well-known startup batch system: names, websites, one-liners, batches, industries and whether a company is hiring. People regularly look for a 'Y Combinator companies list' they can sort and filter in a spreadsheet. This guide shows how to export that directory, and how to optionally add founders, LinkedIn profiles and open jobs.

You will use the Y Combinator Companies Scraper on Apify. A basic row includes website, one-liner, batch, status, industry, team size, location and a hiring flag. Detailed mode adds founders (with LinkedIn and X), company socials, year founded, open jobs and news. Filters cover batch, industry, region, status and team size.

By the end of this article you will have a CSV or JSON file on your machine, and a short Python snippet you can rerun or schedule. The same Actor is also callable from JavaScript and from AI agents through the Apify MCP server.

What you need

  • An Apify account. The Free plan is enough to try a small run.
  • A list of inputs for the Actor (URLs, IDs or search terms — details in the steps below).
  • Optional: Python 3 with the apify-client package if you want to automate the run.

No YC account is required. Start with a single batch and details turned off so you can inspect the list cheaply.

How to run it in the Apify Console

Step 1: Open the Actor

Go to https://apify.com/veenkes/veenkes-yc-companies and click Try for free.

Step 2: Filter the directory

Example: set batches to W25, or filter by industry, region, status, hiring-only or team size. A search query narrows by name or one-liner.

Step 3: Decide on details

Leave include details off for a companies list. Turn it on only when you need founders, socials, jobs or news — that mode is billed as a separate event per company.

Step 4: Export

Set a max results cap for the first run, start it, and download CSV or JSON.

Sorting can be newest launches first or YC's relevance ranking. You can export a broad list first, then re-run details on a shorter, hand-filtered set of companies if you want to control cost.

How to run it from Python

Install the official client and call the Actor by its Store id veenkes/veenkes-yc-companies. Replace YOUR_APIFY_TOKEN with a token from Apify Console > Integrations. Do not commit the token to a public repository.

pip install apify-client 
from apify_client import ApifyClient client = ApifyClient("YOUR_APIFY_TOKEN") run = client.actor("veenkes/veenkes-yc-companies").call(run_input={ "batches": [ "W25" ], "includeDetails": False, "maxResults": 100 }) # Write every dataset item, then export from the Console or keep going in code. for item in client.dataset(run["defaultDatasetId"]).iterate_items(): print(item) 

The JavaScript client (apify-client on npm) uses the same Actor id and the same input object. You can also start the run with a plain HTTP POST to the Apify API if you prefer.

Sample output

Here is a shortened example of one dataset record (field values are illustrative of the schema, taken from a real sample run shape):

{ "name": "Lemma", "slug": "uselemma", "url": "https://www.ycombinator.com/companies/uselemma", "website": "https://www.uselemma.ai/", "oneLiner": "Production Monitoring for AI agents", "description": "Lemma is production monitoring for AI agents. We catch the silent failures your observability tools and evals miss (think bad tool calls, lost context, and infinite loops) before y…", "batch": "Fall 2025", "status": "Active", "stage": "Early", "industry": "B2B", "subindustry": "B2B -> Engineering, Product and Design", "industries": [ "B2B", "Engineering, Product and Design" ], "tags": [ "Developer Tools", "Analytics", "Infrastructure" ], "teamSize": 2, "locations": "San Francisco, CA, USA", "regions": [ "United States of America", "America / Canada" ], "isHiring": true, "topCompany": false, "nonprofit": false, "formerNames": [], "launchedAt": "2025-10-29T02:01:28.000Z", "logo": "https://bookface-images.s3.amazonaws.com/small_logos/335dca5772b36d447d2e1c9b0f730539813d1846.png", "ycId": 30969, "yearFounded": 2025, "city": "San Francisco", "country": "US", "linkedinUrl": "https://www.linkedin.com/company/uselemma", "twitterUrl": "https://x.com/uselemma_ai", "facebookUrl": null, "crunchbaseUrl": null, "githubUrl": null, "groupPartner": "Nicolas Dessaigne", "founders": [ { "name": "Jerry Zhang", "title": "Founder/CEO", "bio": "Co-founder @ Lemma (YC F25) | Reliability platform for AI agents", "linkedinUrl": "https://www.linkedin.com/in/jerry-n-zhang/", … } 

Once the run has finished, open the dataset in the Console and use Export > CSV if a spreadsheet is your destination. JSON is usually better for code and for language models.

What to use the data for

Investors and scouts build a batch watchlist. Recruiters find YC companies that are hiring. Sales and partnerships teams use websites and founder LinkedIn profiles for outreach. Founders study which industries a batch leaned into. Journalists start from a filtered list instead of copying the directory by hand.

Pricing

Pay-per-result pricing starts at $2.00 per 1,000 company rows on the Apify Free plan. Optional founder, social, jobs and news details are a separate event (from $4.00 per 1,000). There is also a small per-run start fee. Always check the live pricing on the Actor page, because plans and unit prices can change. For a first test, keep the input tiny so you can inspect the schema before you scale up.

Scheduling and automations

In the Apify Console you can schedule the Actor (daily or hourly) and leave the same input in place. For incremental jobs, prefer a "since" or "posted after" style filter when the Actor offers one, so you are not paying to re-collect old rows. When a run finishes you can send a webhook, or connect the Actor in Zapier, Make or n8n. AI agents can discover and call veenkes/veenkes-yc-companies through Apify's MCP server using the same input.

Good practices and limits

The directory is published by Y Combinator and changes as companies update their profiles. Use contact data for legitimate, lawful outreach. The Actor is not affiliated with Y Combinator.

If a run returns fewer rows than you expected, check the input caps, language or country filters, and the Actor log. A zero-row run is usually a filter or an unavailable source, not a silent crash — read the log before you increase limits.

Next step

Open the Actor and run a small job: Y Combinator Companies Scraper: YC Directory, Founders & Jobs.

If you later want this on a schedule, save the input that worked, add a date filter where it applies, and export CSV automatically from the dataset or from the API snippet above.