# Y Combinator Companies Scraper: YC Directory, Founders & Jobs (`veenkes/veenkes-yc-companies`) Actor

Export the Y Combinator directory: website, one-liner, batch, status, industry, team size, location and hiring flag. Optional founders with LinkedIn/X, company socials, year founded, open jobs and news. Filter by batch, industry, region, status and team size.

- **URL**: https://apify.com/veenkes/veenkes-yc-companies.md
- **Developed by:** [veenkes](https://apify.com/veenkes) (community)
- **Categories:** Lead generation, Jobs
- **Features:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 company saveds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Y Combinator Companies Scraper: YC Directory, Founders & Jobs

Export a **Y Combinator companies list** from the public **YC directory**: website, one-liner, batch, status, industry, team size, location and hiring flag. Optionally add founders (with LinkedIn and X), company socials, year founded, open jobs and news.

Filter by batch, industry, region, status and team size. No login.

### Why use this YC scraper?

- 🚀 **The whole directory:** more than 1,000 results are split automatically by batch, so you can export all 6,000+ companies.
- 👥 **Founders with LinkedIn and X:** ready for outreach, recruiting or investor research.
- 💼 **Open jobs** with role, location, salary, equity and visa info.
- 🎯 **Precise filters** that match how YC organises the directory.
- 🆕 **Newest launches first** by default, great for weekly "new YC startups" monitoring.
- 💸 **$1–2 per 1,000 companies.** Founder details are an optional add-on.

### Who is it for?

- **B2B sales and SDR teams:** well-funded startups as leads, with founders' LinkedIn profiles.
- **Recruiters and job seekers:** which YC startups are hiring, for what roles and at what salary.
- **Investors and analysts:** batch composition, industries, survival and acquisition stats.
- **Founders and marketers:** competitor research and partnership lists.

### What data does it extract?

| Field | Example |
|---|---|
| `name`, `slug`, `url`, `website`, `logo` | `Bezel`, `https://www.trybezel.com/` |
| `oneLiner`, `description` | `Digital AI humans that model clothes for e-commerce brands.` |
| `batch`, `status`, `stage` | `Winter 2025`, `Active`, `Early` |
| `industry`, `subindustry`, `industries`, `tags` | `B2B`, `["Generative AI", "Marketing"]` |
| `teamSize`, `locations`, `regions` | `1`, `New York City, NY, USA` |
| `isHiring`, `topCompany`, `nonprofit`, `formerNames`, `launchedAt` | flags and dates |
| **With details:** `founders[]` | `name`, `title`, `bio`, `linkedinUrl`, `twitterUrl` |
| **With details:** company socials | `linkedinUrl`, `twitterUrl`, `facebookUrl`, `crunchbaseUrl`, `githubUrl` |
| **With details:** `yearFounded`, `city`, `country`, `groupPartner` | `2025`, `New York City`, `US`, `Aaron Epstein` |
| **With details:** `openJobs[]`, `news[]` | title, location, type, role, salary, equity, experience, visa, URL |

### How to use it

1. Optionally enter a **search** and **filters** (batches, industries, regions, status, team size, hiring).
2. Turn on **Include founders and details** if you need founders, socials and jobs.
3. Set **max companies** and click **Start**. Export to CSV, Excel, JSON or Google Sheets, or schedule weekly.

### Run it from the API

You can start this Actor from any language with the official [Apify API client](https://docs.apify.com/api/client/python). Replace `YOUR_APIFY_TOKEN` with a token from [Apify Console > Integrations](https://console.apify.com/account/integrations). Never put the token in a public repo.

#### Python

```python
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
})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)
```

#### JavaScript

```javascript
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('veenkes/veenkes-yc-companies').call({
    "batches": [
        "W25"
    ],
    "includeDetails": false,
    "maxResults": 100
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

Schedule the Actor, send results to a webhook, or connect it in Zapier, Make or n8n. Store page: <https://apify.com/veenkes/veenkes-yc-companies>.

### Use from AI agents (Apify MCP)

AI agents can run this Actor through the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp). Connect Claude, Cursor or any MCP-compatible client to Apify, then ask the agent to call `veenkes/veenkes-yc-companies` with an input like the example above. The agent discovers the tool from the Actor title and description.

### How much does it cost?

| Apify plan tier | Per 1,000 companies | Founders and details add-on, per 1,000 |
|---|---|---|
| FREE | $2.00 | +$4.00 |
| BRONZE | $1.50 | +$3.00 |
| SILVER | $1.20 | +$2.50 |
| GOLD and above | $1.00 | +$2.00 |

There is also a $0.00005 start fee per run. The details add-on is charged only for companies whose page loaded successfully.

### Input example

```json
{
    "batches": ["W25", "S25"],
    "industries": ["Fintech"],
    "regions": ["United States of America"],
    "statuses": ["Active"],
    "hiringOnly": true,
    "includeDetails": true,
    "maxResults": 500
}
```

### Output example

```json
{
    "name": "Bezel",
    "url": "https://www.ycombinator.com/companies/bezel",
    "website": "https://www.trybezel.com/",
    "oneLiner": "Digital AI humans that model clothes for e-commerce brands.",
    "batch": "Winter 2025",
    "status": "Active",
    "industry": "B2B",
    "teamSize": 1,
    "locations": "New York City, NY, USA",
    "yearFounded": 2025,
    "linkedinUrl": "https://www.linkedin.com/company/bezelai",
    "founders": [
        {
            "name": "Kashyap Achar",
            "title": "Founder",
            "linkedinUrl": "https://www.linkedin.com/in/kashyapachar/",
            "twitterUrl": "https://x.com/_kashrocks"
        }
    ],
    "openJobs": []
}
```

The key-value store record `SUMMARY` shows how many companies matched, how many were saved and how many details loaded.

### Why this one?

Directory rows and optional founder/job details are priced separately, so you can export a filtered companies list first and enrich only the records you need. Filters for batch, industry, region, status, hiring and team size are built in.

### FAQ

**Does it include founder emails?**
No. YC does not publish founder emails. Use the LinkedIn and X links, or pair the company websites with our [Website Contacts Scraper](https://apify.com/veenkes/veenkes-website-contacts).

**How fresh is the data?**
It is read live from YC's public directory on every run.

**Is it legal?**
It collects only information that YC publishes publicly about its companies and founders. Please follow data protection laws (such as GDPR) and anti-spam rules when you contact people.

***

### Integrations

- **Apify API** — Python and JavaScript clients (examples above), plus a REST API.
- **AI agents** — run it via the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp).
- **Automation tools** — Zapier, Make, n8n, or an Apify webhook when a run finishes.
- **Export** — download the dataset as JSON, CSV, Excel or XML, or load it from a scheduled run.

[Open the Actor in Apify Store](https://apify.com/veenkes/veenkes-yc-companies).

*Not affiliated with or endorsed by Y Combinator.*

# Actor input Schema

## `searchQuery` (type: `string`):

Free-text search across names and descriptions, e.g. 'AI agents', 'fintech Brazil'. Leave empty for all companies.

## `batches` (type: `array`):

YC batches such as 'Winter 2025', 'Summer 2024', 'Spring 2026', 'Fall 2025' or short codes W25, S24, X26, F25.

## `industries` (type: `array`):

E.g. 'B2B', 'Fintech', 'Healthcare', 'Developer Tools', 'Security', 'Climate'. Case-insensitive.

## `regions` (type: `array`):

E.g. 'United States of America', 'Europe', 'India', 'Latin America', 'Remote'.

## `statuses` (type: `array`):

Filter by YC company status (for example Active or Inactive). Leave empty to include every status.

## `hiringOnly` (type: `boolean`):

Keep only companies with the 'hiring' flag.

## `topCompaniesOnly` (type: `boolean`):

Keep only companies on YC's Top Companies list.

## `minTeamSize` (type: `integer`):

Minimum number of employees.

## `maxTeamSize` (type: `integer`):

Maximum number of employees.

## `sortBy` (type: `string`):

Order of results: newest launches first, or YC's default relevance ranking.

## `includeDetails` (type: `boolean`):

If enabled, also fetch founders (LinkedIn/X), socials, year founded, open jobs and news. This is billed as a separate details event per company.

## `maxResults` (type: `integer`):

Maximum number of companies to save after filters are applied.

## Actor input object example

```json
{
  "batches": [
    "W25"
  ],
  "hiringOnly": false,
  "topCompaniesOnly": false,
  "sortBy": "launch_date",
  "includeDetails": true,
  "maxResults": 20
}
```

# Actor output Schema

## `companies` (type: `string`):

No description

## `summary` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "batches": [
        "W25"
    ],
    "includeDetails": true,
    "maxResults": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("veenkes/veenkes-yc-companies").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "batches": ["W25"],
    "includeDetails": True,
    "maxResults": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("veenkes/veenkes-yc-companies").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "batches": [
    "W25"
  ],
  "includeDetails": true,
  "maxResults": 20
}' |
apify call veenkes/veenkes-yc-companies --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,veenkes/veenkes-yc-companies"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/GF4T5fswButcmJtwa/builds/8PAzG9SW5JYvZV1KF/openapi.json
