# Y Combinator Scraper (`solidcode/ycombinator-scraper`) Actor

\[💰 $2.0 / 1K] Extract YC-funded companies, founders, and open jobs from the Y Combinator startup directory. Filter by batch, industry, region, status, team size, or hiring activity — or paste any directory URL with filters pre-applied.

- **URL**: https://apify.com/solidcode/ycombinator-scraper.md
- **Developed by:** [SolidCode](https://apify.com/solidcode) (community)
- **Categories:** Jobs, Lead generation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Y Combinator Scraper

Pull every YC-funded company, founder, and open job from ycombinator.com/companies at scale — complete with batch codes, industry verticals, hiring flags, founder LinkedIn and X profiles, salary and equity ranges, and seven social handles per company. Built for VC sourcing teams, recruiters, and B2B sales teams who need a fresh, structured YC alumni dataset without hand-crafting filter URLs or stitching together founder bios one tab at a time.

### Why This Scraper?

- **Full directory coverage — 44 batches from W05 through F25** — every cohort in YC's public alumni list, from the 2005 founding class to the latest Fall batch, all in one run.
- **Eight industry verticals, six team-size bands, eleven regions** — multi-select filters for B2B, Consumer, Fintech, Healthcare, Industrials, Education, Government, Real Estate & Construction, plus team-size bands from solo founder up to 500+ and regions including the auto-expanding "Asia" group (covers South Asia, Southeast Asia, and East Asia in one click).
- **Founders embedded on every row** — full name, title, bio, LinkedIn URL, and X (Twitter) URL for every co-founder, typically 1 to 4 per company, no extra credits charged.
- **Open jobs with salary and equity ranges** — when a company is hiring, every posting comes with title, location, role, salary range, equity range, required skills, years of experience, and visa-sponsorship status.
- **Seven social handles per company** — website, LinkedIn, X, Facebook, Crunchbase, GitHub, plus the canonical YC profile URL.
- **`isHiring` quick-filter** — flip a single toggle to return only companies actively recruiting today, no URL building required.
- **Three input modes in one actor** — paste filter URLs (`?batch=W24&industry=B2B`), paste single-company URLs (`/companies/airbnb`), or use the guided multi-select filters. Mix all three in the same run.
- **Free-text search across the directory** — search by company name, tagline, or technology keyword (`"AI agents"`, `"developer tools"`) and get exactly what the YC search box returns.
- **camelCase output, ready for production** — clean, predictable field names that drop straight into databases, dashboards, and CRMs without renaming.

### Use Cases

**VC Sourcing & Pipeline Building**
- Track every new batch the moment it goes live and triage by vertical
- Build a watchlist of Active companies in your thesis area
- Surface acquired and public alumni to study exit patterns and founder follow-ons

**Recruiting & Talent Sourcing**
- Pull every YC company actively hiring with `isHiring: true` plus `includeJobs: true`
- Filter by team-size band (51 to 200) to target Series A-stage startups
- Capture founder LinkedIn URLs to map alumni networks for warm intros

**B2B Sales & ABM**
- Build a YC-backed account list for go-to-market motions targeting startup buyers
- Segment by industry vertical (B2B, Fintech) and team size to qualify ICPs
- Refresh on a schedule to catch new launches before competitors do

**Competitive & Market Research**
- Map every company in a vertical (e.g. all 2024 fintech batch graduates)
- Track industry composition trends across batches over time
- Build adjacency maps from the `tags` and `industries[]` fields

**Press & Media Monitoring**
- Watch for newly launched companies tagged Top Company
- Build founder profile lookups across batches for feature pieces
- Monitor acquisition status changes for scoop coverage

### Getting Started

#### Quick Start

The simplest possible run — fetches the first 100 companies from the full YC directory with founders embedded:

```json
{}
````

#### Filter by Batch, Industry, and Hiring Activity

Pull every B2B startup from the two most recent winter and summer batches that's actively hiring:

```json
{
    "batches": ["W24", "S24"],
    "industries": ["B2B"],
    "isHiring": true,
    "maxResults": 200
}
```

#### Free-Text Search by Region

Search for AI-agent companies headquartered in the United States:

```json
{
    "searchQuery": "AI agents",
    "regions": ["United States of America"],
    "maxResults": 50
}
```

#### Search by URL with Full Job Postings

Paste any YC directory URL with filters pre-applied — the actor parses the querystring and runs the same search. Add `includeJobs: true` to capture the full open-jobs list:

```json
{
    "startUrls": [
        "https://www.ycombinator.com/companies?batch=W24&industry=Fintech&isHiring=true"
    ],
    "includeJobs": true,
    "maxResults": 100
}
```

#### Single-Company Deep-Dive

Paste one or more individual company URLs to pull just those rows with full founder and job detail:

```json
{
    "startUrls": [
        "https://www.ycombinator.com/companies/airbnb",
        "https://www.ycombinator.com/companies/stripe"
    ],
    "includeFounders": true,
    "includeJobs": true
}
```

### Input Reference

#### Sources

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `startUrls` | string\[] | `[]` | YC directory URLs (`https://www.ycombinator.com/companies?...`) or individual company URLs (`https://www.ycombinator.com/companies/<slug>`). Mix any combination. Leave empty to use the guided filters below. |
| `searchQuery` | string | null | Free-text query against the YC directory. Matches company name, tagline, and tags. |

#### Filters

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `batches` | string\[] | `[]` | Funding cohorts. Multi-select from 44 batches (Winter 2005 through Fall 2025, plus Imagine K12). Leave empty for all batches. |
| `status` | string\[] | `[]` | Operating status: Active, Public, Acquired, or Inactive. Leave empty for all statuses. |
| `regions` | string\[] | `[]` | Headquarters region. 11 options including United States, Canada, Europe, United Kingdom, Asia, India, Latin America, Africa, Middle East, Oceania, and Remote. |
| `industries` | string\[] | `[]` | Industry vertical: B2B, Consumer, Education, Fintech, Government, Healthcare, Industrials, or Real Estate and Construction. |
| `teamSize` | string\[] | `[]` | Team-size band: 1 (solo founder), 2 to 10, 11 to 50, 51 to 200, 201 to 500, or 500+. |
| `isHiring` | boolean | `false` | If on, return only companies with at least one open job listed on YC. |

#### What to Extract

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `includeFounders` | boolean | `true` | Embed each company's founders on the result row — name, title, bio, LinkedIn, and X profile. |
| `includeJobs` | boolean | `false` | Embed each company's open job listings on the result row — title, location, salary, equity, required skills, years of experience, and visa sponsorship. |

#### Limits

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `maxResults` | integer | `100` | Hard cap on total company rows. Set to 0 for no cap (an internal upper limit of 10,000 still applies). The actor stops requesting new pages once this number is reached but keeps the full final page even if it slightly overshoots. |

### Output

One row per company. `founders[]` and `jobs[]` ride along as embedded arrays controlled by the toggles above.

```json
{
    "companyId": "1234",
    "name": "Airbnb",
    "slug": "airbnb",
    "url": "https://www.ycombinator.com/companies/airbnb",
    "logo": "https://bookface-images.s3.amazonaws.com/...",
    "shortDescription": "Book accommodations around the world.",
    "longDescription": "Founded in August of 2008 and based in San Francisco...",
    "batch": "Winter 2009",
    "status": "Public",
    "industry": "Consumer",
    "subindustry": "Travel, Leisure and Tourism",
    "industries": ["Consumer", "Travel, Leisure and Tourism"],
    "tags": ["Marketplace", "Travel"],
    "location": "San Francisco, CA, USA",
    "regions": ["United States of America"],
    "country": "USA",
    "yearFounded": 2008,
    "teamSize": 6132,
    "primaryPartner": "Paul Graham",
    "website": "http://airbnb.com",
    "linkedin": "https://www.linkedin.com/company/airbnb",
    "twitter": "https://twitter.com/airbnb",
    "facebook": "https://www.facebook.com/airbnb",
    "crunchbase": "https://www.crunchbase.com/organization/airbnb",
    "github": null,
    "isHiring": false,
    "openJobsCount": 0,
    "nonprofit": false,
    "topCompany": true,
    "launchedAt": 1234567890,
    "founders": [
        {
            "id": 5678,
            "name": "Brian Chesky",
            "title": "Co-Founder & CEO",
            "bio": "Brian Chesky is the co-founder and CEO of Airbnb...",
            "linkedin": "https://www.linkedin.com/in/brianchesky",
            "twitter": "https://twitter.com/bchesky"
        }
    ],
    "jobs": [],
    "scrapedAt": "2026-05-02T14:30:00Z"
}
```

#### Core Fields

| Field | Type | Description |
|-------|------|-------------|
| `companyId` | string | YC's internal company identifier |
| `name` | string | Company name |
| `slug` | string | URL slug used in `/companies/<slug>` |
| `url` | string | Canonical YC profile URL |
| `batch` | string | Batch name (e.g. `Winter 2024`, `Fall 2025`) |
| `status` | string | Active, Public, Acquired, or Inactive |
| `industry` | string | Top-level industry vertical |
| `subindustry` | string | More specific industry category |
| `industries` | string\[] | All industry tags applied by YC |
| `tags` | string\[] | Topic tags (e.g. `Developer Tools`, `AI`, `Marketplace`) |
| `teamSize` | number | Self-reported employee count |
| `nonprofit` | boolean | Whether the company is a nonprofit |
| `topCompany` | boolean | YC's "Top Company" badge flag |

#### Description & Branding

| Field | Type | Description |
|-------|------|-------------|
| `shortDescription` | string | One-line tagline as shown in the directory |
| `longDescription` | string | Full company blurb from the YC profile page |
| `logo` | string | Company logo URL |
| `primaryPartner` | string | YC partner attached to the company |
| `yearFounded` | number | Founding year |
| `launchedAt` | number | Unix epoch when the YC profile went live |

#### Location

| Field | Type | Description |
|-------|------|-------------|
| `location` | string | Headquarters city and region |
| `regions` | string\[] | YC region tags (e.g. `United States of America`, `Remote`) |
| `country` | string | Headquarters country parsed from the location string |

#### Hiring

| Field | Type | Description |
|-------|------|-------------|
| `isHiring` | boolean | Whether the company is actively hiring on YC |
| `openJobsCount` | number | Number of open jobs at scrape time |
| `jobs` | object\[] | Open job postings (when `includeJobs: true`) |

Each `jobs[]` entry contains:

| Field | Type | Description |
|-------|------|-------------|
| `id` | string | YC job posting identifier |
| `title` | string | Job title |
| `location` | string | Posted location |
| `remote` | boolean | Whether the role is remote-friendly |
| `type` | string | Full-time, part-time, intern, contract, or co-founder |
| `role` | string | Engineering, Design, Product, etc. |
| `salaryMin` / `salaryMax` | string | Salary range as published |
| `equityMin` / `equityMax` | string | Equity range as published |
| `skills` | string\[] | Required skills tags |
| `yearsExperienceMin` | number | Minimum years of experience |
| `visaSponsorship` | boolean | Whether the company sponsors work visas |
| `applyUrl` | string | Direct application link |
| `description` | string | Full job description body |

#### Founders

When `includeFounders: true`, each row carries a `founders[]` array (1 to 4 entries typical).

| Field | Type | Description |
|-------|------|-------------|
| `id` | string | YC founder identifier |
| `name` | string | Full name |
| `title` | string | Title at the company (e.g. `Co-Founder & CEO`) |
| `bio` | string | Founder biography from the YC profile |
| `linkedin` | string | Founder LinkedIn URL |
| `twitter` | string | Founder X (Twitter) URL |

#### Social & Web Links

| Field | Type | Description |
|-------|------|-------------|
| `website` | string | Company website |
| `linkedin` | string | Company LinkedIn URL |
| `twitter` | string | Company X (Twitter) URL |
| `facebook` | string | Company Facebook URL |
| `crunchbase` | string | Company Crunchbase URL |
| `github` | string | Company GitHub URL |
| `scrapedAt` | string | ISO-8601 UTC timestamp of the run |

### Tips for Best Results

- **Combine `batches` and `industries` for tighter cohorts** — for example, "all W24 + S24 fintech startups" is one filter combination away.
- **Use `searchQuery` for fuzzy matching** — works across company names, taglines, and tags. Great for thematic sweeps like `"developer tools"` or `"AI agents"`.
- **Founder emails are not publicly listed by Y Combinator** — the actor returns LinkedIn and X URLs instead, which are typically more useful for warm outreach anyway.
- **Turn `includeJobs` on for hiring sweeps** — captures full job descriptions, salary ranges, equity ranges, and visa-sponsorship status in a single pass. Skip it when you only need company and founder data for a faster, leaner run.
- **Logo URLs are short-lived signed links** — expect them to expire about an hour after the run. Download or rehost the images promptly if you plan to display them yourself.
- **Mix URL inputs and guided filters in one run** — paste a YC filter URL alongside a few specific `/companies/<slug>` URLs and the guided filters; the actor handles all three input modes in the same dataset.
- **For full coverage of one batch, set `maxResults: 0`** — the actor automatically fans out across the directory's per-query ceiling and returns every company in the cohort.

### Pricing

**$2.00 per 1,000 companies returned.** No compute charges — you only pay per result returned.

| Companies | Estimated Cost |
|-----------|----------------|
| 100 | $0.20 |
| 1,000 | $2.00 |
| 10,000 | $20.00 |
| 100,000 | $200.00 |

A "result" is one company row, regardless of how many founders or open jobs ride along in the embedded arrays. Platform fees (compute, storage) are additional and depend on your Apify plan.

### Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

- **Zapier** / **Make** / **n8n** — Workflow automation
- **Google Sheets** — Direct spreadsheet export
- **Airtable** — Structured database sync
- **Slack** / **Email** — Notifications on new results
- **Webhooks** — Trigger custom APIs on run completion
- **Apify API** — Full programmatic access via REST, JavaScript, and Python SDKs

### Legal & Ethical Use

This actor is designed for legitimate sourcing, recruiting, market research, and competitive analysis use cases. The data extracted is published openly by Y Combinator on its public alumni directory at ycombinator.com/companies. Users are responsible for complying with applicable laws and Y Combinator's terms of service. Do not use extracted data for spam, harassment, or any illegal purpose. Be mindful of personal-data and outreach-consent regulations (GDPR, CCPA, CAN-SPAM) when contacting founders found in the dataset.

# Actor input Schema

## `startUrls` (type: `array`):

Paste one or more Y Combinator URLs. Accepts directory pages with filters pre-applied (e.g. https://www.ycombinator.com/companies?batch=W24\&industry=B2B), individual company URLs (https://www.ycombinator.com/companies/airbnb), or a mix. Leave empty to use the guided filters below — or to scrape the full unfiltered directory if no filters are set.

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

Optional free-text search across the YC directory (matches the search box on ycombinator.com/companies). Combines with the filters below.

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

Funding cohorts to include. Multi-select. Leave empty to include all batches.

## `status` (type: `array`):

Operating status. Multi-select. Leave empty for all statuses.

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

Headquarters region. Multi-select. Leave empty for all regions.

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

Industry vertical. Multi-select. Leave empty for all industries.

## `teamSize` (type: `array`):

Self-reported employee count. Multi-select. Leave empty for any size.

## `isHiring` (type: `boolean`):

If on, return only companies with at least one open job listed on YC. Useful for recruiting and lead generation.

## `includeFounders` (type: `boolean`):

Embed each company's founders on the result row — name, title, bio, LinkedIn, and X. Disable for faster, cheaper runs that return only company-level data. (Note: Y Combinator does not publish founder emails publicly — `email` and `emailStatus` are always null.)

## `includeJobs` (type: `boolean`):

Embed each company's open job listings on the result row — title, location, remote, salary, equity, required skills, years of experience, and visa sponsorship. Disable when you only need company and founder data. (Tip: turn off both Founders and Jobs for the fastest, cheapest runs — only company-level fields are returned.)

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

Hard cap on total company rows. Default 100 — increase for bigger runs, or set to 0 for no cap (an internal upper limit of 10,000 still applies to prevent runaway pagination). The actor stops requesting new pages once this number is reached but keeps the full final page even if it slightly overshoots.

## Actor input object example

```json
{
  "startUrls": [],
  "batches": [],
  "status": [],
  "regions": [],
  "industries": [],
  "teamSize": [],
  "isHiring": false,
  "includeFounders": true,
  "includeJobs": false,
  "maxResults": 100
}
```

# Actor output Schema

## `overview` (type: `string`):

Table of YC companies with the most useful columns at a glance.

## `details` (type: `string`):

Full per-company rows including founders, jobs, and all profile fields.

# 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 = {
    "startUrls": [],
    "batches": [],
    "status": [],
    "regions": [],
    "industries": [],
    "teamSize": [],
    "isHiring": false,
    "includeFounders": true,
    "includeJobs": false,
    "maxResults": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("solidcode/ycombinator-scraper").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 = {
    "startUrls": [],
    "batches": [],
    "status": [],
    "regions": [],
    "industries": [],
    "teamSize": [],
    "isHiring": False,
    "includeFounders": True,
    "includeJobs": False,
    "maxResults": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("solidcode/ycombinator-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "startUrls": [],
  "batches": [],
  "status": [],
  "regions": [],
  "industries": [],
  "teamSize": [],
  "isHiring": false,
  "includeFounders": true,
  "includeJobs": false,
  "maxResults": 100
}' |
apify call solidcode/ycombinator-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=solidcode/ycombinator-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Y Combinator Scraper",
        "description": "[💰 $2.0 / 1K] Extract YC-funded companies, founders, and open jobs from the Y Combinator startup directory. Filter by batch, industry, region, status, team size, or hiring activity — or paste any directory URL with filters pre-applied.",
        "version": "1.0",
        "x-build-id": "HLVW08ys6AsdstheP"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/solidcode~ycombinator-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-solidcode-ycombinator-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/solidcode~ycombinator-scraper/runs": {
            "post": {
                "operationId": "runs-sync-solidcode-ycombinator-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/solidcode~ycombinator-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-solidcode-ycombinator-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "startUrls": {
                        "title": "YC Directory or Company URLs",
                        "type": "array",
                        "description": "Paste one or more Y Combinator URLs. Accepts directory pages with filters pre-applied (e.g. https://www.ycombinator.com/companies?batch=W24&industry=B2B), individual company URLs (https://www.ycombinator.com/companies/airbnb), or a mix. Leave empty to use the guided filters below — or to scrape the full unfiltered directory if no filters are set.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "searchQuery": {
                        "title": "Search Query",
                        "type": "string",
                        "description": "Optional free-text search across the YC directory (matches the search box on ycombinator.com/companies). Combines with the filters below."
                    },
                    "batches": {
                        "title": "YC Batches",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Funding cohorts to include. Multi-select. Leave empty to include all batches.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "F25",
                                "S25",
                                "W25",
                                "F24",
                                "S24",
                                "W24",
                                "S23",
                                "W23",
                                "S22",
                                "W22",
                                "S21",
                                "W21",
                                "S20",
                                "W20",
                                "S19",
                                "W19",
                                "S18",
                                "W18",
                                "S17",
                                "W17",
                                "S16",
                                "W16",
                                "S15",
                                "W15",
                                "S14",
                                "W14",
                                "S13",
                                "W13",
                                "S12",
                                "W12",
                                "S11",
                                "W11",
                                "S10",
                                "W10",
                                "S09",
                                "W09",
                                "S08",
                                "W08",
                                "S07",
                                "W07",
                                "S06",
                                "W06",
                                "S05",
                                "IK12"
                            ],
                            "enumTitles": [
                                "Fall 2025",
                                "Summer 2025",
                                "Winter 2025",
                                "Fall 2024",
                                "Summer 2024",
                                "Winter 2024",
                                "Summer 2023",
                                "Winter 2023",
                                "Summer 2022",
                                "Winter 2022",
                                "Summer 2021",
                                "Winter 2021",
                                "Summer 2020",
                                "Winter 2020",
                                "Summer 2019",
                                "Winter 2019",
                                "Summer 2018",
                                "Winter 2018",
                                "Summer 2017",
                                "Winter 2017",
                                "Summer 2016",
                                "Winter 2016",
                                "Summer 2015",
                                "Winter 2015",
                                "Summer 2014",
                                "Winter 2014",
                                "Summer 2013",
                                "Winter 2013",
                                "Summer 2012",
                                "Winter 2012",
                                "Summer 2011",
                                "Winter 2011",
                                "Summer 2010",
                                "Winter 2010",
                                "Summer 2009",
                                "Winter 2009",
                                "Summer 2008",
                                "Winter 2008",
                                "Summer 2007",
                                "Winter 2007",
                                "Summer 2006",
                                "Winter 2006",
                                "Summer 2005",
                                "Imagine K12"
                            ]
                        },
                        "default": []
                    },
                    "status": {
                        "title": "Company Status",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Operating status. Multi-select. Leave empty for all statuses.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "Active",
                                "Public",
                                "Acquired",
                                "Inactive"
                            ],
                            "enumTitles": [
                                "Active",
                                "Public",
                                "Acquired",
                                "Inactive"
                            ]
                        },
                        "default": []
                    },
                    "regions": {
                        "title": "Regions",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Headquarters region. Multi-select. Leave empty for all regions.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "United States of America",
                                "Canada",
                                "Latin America",
                                "Europe",
                                "United Kingdom",
                                "Asia",
                                "India",
                                "Africa",
                                "Middle East",
                                "Oceania",
                                "Remote"
                            ],
                            "enumTitles": [
                                "United States",
                                "Canada",
                                "Latin America",
                                "Europe",
                                "United Kingdom",
                                "Asia",
                                "India",
                                "Africa",
                                "Middle East",
                                "Oceania",
                                "Remote"
                            ]
                        },
                        "default": []
                    },
                    "industries": {
                        "title": "Industries",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Industry vertical. Multi-select. Leave empty for all industries.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "B2B",
                                "Consumer",
                                "Education",
                                "Fintech",
                                "Government",
                                "Healthcare",
                                "Industrials",
                                "Real Estate and Construction"
                            ],
                            "enumTitles": [
                                "B2B",
                                "Consumer",
                                "Education",
                                "Fintech",
                                "Government",
                                "Healthcare",
                                "Industrials",
                                "Real Estate and Construction"
                            ]
                        },
                        "default": []
                    },
                    "teamSize": {
                        "title": "Team Size",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Self-reported employee count. Multi-select. Leave empty for any size.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "1",
                                "2-10",
                                "11-50",
                                "51-200",
                                "201-500",
                                "500+"
                            ],
                            "enumTitles": [
                                "1 (solo founder)",
                                "2 to 10",
                                "11 to 50",
                                "51 to 200",
                                "201 to 500",
                                "500+"
                            ]
                        },
                        "default": []
                    },
                    "isHiring": {
                        "title": "Hiring Only",
                        "type": "boolean",
                        "description": "If on, return only companies with at least one open job listed on YC. Useful for recruiting and lead generation.",
                        "default": false
                    },
                    "includeFounders": {
                        "title": "Include Founders",
                        "type": "boolean",
                        "description": "Embed each company's founders on the result row — name, title, bio, LinkedIn, and X. Disable for faster, cheaper runs that return only company-level data. (Note: Y Combinator does not publish founder emails publicly — `email` and `emailStatus` are always null.)",
                        "default": true
                    },
                    "includeJobs": {
                        "title": "Include Open Jobs",
                        "type": "boolean",
                        "description": "Embed each company's open job listings on the result row — title, location, remote, salary, equity, required skills, years of experience, and visa sponsorship. Disable when you only need company and founder data. (Tip: turn off both Founders and Jobs for the fastest, cheapest runs — only company-level fields are returned.)",
                        "default": false
                    },
                    "maxResults": {
                        "title": "Max Results",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Hard cap on total company rows. Default 100 — increase for bigger runs, or set to 0 for no cap (an internal upper limit of 10,000 still applies to prevent runaway pagination). The actor stops requesting new pages once this number is reached but keeps the full final page even if it slightly overshoots.",
                        "default": 100
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
