# YC Jobs Scraper - Startup Hiring Data (`benthepythondev/yc-jobs-scraper`) Actor

Scrape Y Combinator Jobs / Work at a Startup listings: title, company, batch, salary, equity, skills, visa, location and URLs.

- **URL**: https://apify.com/benthepythondev/yc-jobs-scraper.md
- **Developed by:** [Ben](https://apify.com/benthepythondev) (community)
- **Categories:** Jobs, Business, Lead generation
- **Stats:** 3 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.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/docs.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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

## YC Jobs Scraper - Startup Hiring Data

Scrape job listings from **Y Combinator Jobs / Work at a Startup** in one run. Get startup job titles, YC company names, batch, one-liner, salary range, equity range, role, skills, visa signal, location, company URL, logo URL and apply URL. Export to JSON, CSV or Excel, run it on a schedule, call it from an API, or connect the results to Make, Zapier, n8n, Airtable, Google Sheets or your own recruiting database.

### What is the YC Jobs Scraper?

Y Combinator is one of the strongest startup hiring signals on the web. Its jobs marketplace lists roles from YC-backed companies across engineering, product, design, growth, operations, sales, data and leadership. These companies are often early-stage or scaling quickly, which makes the data useful for recruiters, candidates, sales teams, investors, market researchers and job-board operators.

This actor turns YC Jobs search results into clean structured records. You can paste a search URL from `ycombinator.com/jobs`, or provide a keyword such as `python`, `founding engineer`, `sales`, `product manager`, `ai`, `data`, `devops` or `designer`. The scraper fetches the public search page over plain HTTP and reads the structured job payload rendered by YC. It does not require a YC account, browser automation, proxies or an API key, so runs are fast, inexpensive and reliable for scheduled monitoring.

### What data does it extract?

- **Job title**
- **YC company name**
- **YC batch** such as S21 or W24
- **Company one-liner**
- **Company profile URL**
- **Company logo URL**
- **Direct job URL**
- **Apply URL**
- **Location**
- **Employment type**
- **Role category** and role-specific type
- **Skills**
- **Salary min, max, currency and raw range**
- **Equity min, max and raw range**
- **Minimum experience**
- **Visa signal**
- **Created / last active text**
- **Hiring manager object when present**
- **Search URL used**

### Input

| Field | Type | Description |
|-------|------|-------------|
| `searchUrls` | array | YC Jobs search URLs to scrape exactly. |
| `query` | string | Keyword or role search when no URL is supplied. |
| `role` | string | Optional YC role filter slug. |
| `location` | string | Optional location filter. |
| `maxResults` | integer | Maximum jobs returned per search. |

### Example input

```json
{
  "query": "python",
  "maxResults": 50
}
````

You can also paste a filtered YC Jobs URL:

```json
{
  "searchUrls": ["https://www.ycombinator.com/jobs?query=founding%20engineer"],
  "maxResults": 100
}
```

### Output

Each dataset item is one YC job listing:

```json
{
  "job_id": "93172",
  "title": "Staff Software Engineer",
  "company": "Confido (S21)",
  "company_name": "Confido",
  "company_batch": "S21",
  "company_one_liner": "AI-enabled financial automation and intelligence for CPG Brands",
  "company_url": "https://www.ycombinator.com/companies/confido",
  "company_logo_url": "https://bookface-images.s3.amazonaws.com/small_logos/example.png",
  "url": "https://www.ycombinator.com/companies/confido/jobs/S9erJ9O-staff-software-engineer",
  "apply_url": "https://account.ycombinator.com/authenticate?continue=...",
  "location": "NYC Office",
  "employment_type": "Full-time",
  "role": "Engineering",
  "role_specific_type": "Full stack",
  "skills": ["Ruby on Rails"],
  "salary_min": 300000,
  "salary_max": 330000,
  "salary_currency": "USD",
  "salary_range": "$300K - $330K",
  "equity_min_percent": 0.1,
  "equity_max_percent": 0.25,
  "equity_range": "0.10% - 0.25%",
  "min_experience": "11+ years",
  "visa": "US citizen/visa only",
  "created_at": "3 months",
  "last_active": "about 1 hour",
  "search": "https://www.ycombinator.com/jobs?query=python"
}
```

### Use cases

- **Startup recruiting** - find YC companies hiring for a specific role, skill or seniority.
- **Founder and sales lead generation** - hiring is a strong growth signal for tools, recruiting services, infrastructure, AI products and B2B software.
- **Salary and equity research** - collect compensation bands from startup roles where YC publishes salary or equity ranges.
- **Job-board aggregation** - add YC-backed startup jobs to a niche job board, newsletter or internal career portal.
- **Market intelligence** - monitor which YC companies are hiring in AI, fintech, healthcare, developer tools, climate, robotics and other sectors.
- **Candidate sourcing** - identify fast-growing startups with current openings and link directly to the role.
- **Investor research** - track hiring momentum and role mix across YC cohorts.

### Why use this actor?

The actor is designed for reliable Apify Store usage. It reads the structured server-rendered page data instead of relying on fragile visual selectors, browser automation or a private API. That makes it faster and cheaper than a browser scraper and more suitable for daily auto-tests, scheduled runs and API workflows. It returns normalized fields that are ready for spreadsheets, enrichment systems and lead lists.

The output includes both hiring details and company context. For each role, you can see the YC batch, company one-liner, profile URL, salary range, equity range, role category, skills and visa note. That makes it useful beyond basic job aggregation: it can power sales prospecting, funding-market analysis, recruiting dashboards and startup hiring alerts.

### Tips

- Use `query` for simple searches such as `python`, `ai engineer`, `sales`, `designer` or `founding engineer`.
- Paste a YC Jobs URL when you want to preserve filters exactly as selected on the website.
- Keep `maxResults` small for frequent scheduled monitoring and raise it for larger one-off exports.
- Use Apify schedules to monitor a role every day and send new rows to a webhook or automation workflow.
- Combine the dataset with company enrichment tools when you need domains, founders, emails or funding metadata.

### FAQ

**Does this require a YC account?** No. It scrapes public YC Jobs search results and does not log in.

**Does it use a browser or proxy?** No. The actor uses plain HTTP and parses the structured page payload, so it is fast and low-cost.

**Can I search by keyword?** Yes. Use the `query` input, or paste a full YC Jobs search URL into `searchUrls`.

**Does it include salary and equity?** Yes, when YC includes those ranges on the listing. The actor returns both parsed numeric min/max fields and the original raw range.

**Does it include company data?** Yes. It returns company name, YC batch, one-liner, company profile URL and logo URL.

**Can I export the results?** Yes. Apify supports JSON, CSV, Excel, API access, webhooks and integrations with common automation tools.

**Is it useful for lead generation?** Yes. YC companies with active hiring are strong buying-signal leads for recruiting, developer tools, AI tooling, cloud infrastructure, sales software, compliance services and startup services.

**Will it work on a schedule?** Yes. The actor is designed to run without manual browser sessions, cookies or accounts.

### You might also like

- [StepStone Scraper](https://apify.com/benthepythondev/stepstone-scraper) for European job listings.
- [HiringCafe Scraper](https://apify.com/benthepythondev/hiring-cafe-scraper) for enriched global job-search data.
- [BuiltIn Jobs Scraper](https://apify.com/benthepythondev/builtin-jobs-scraper) for tech-company jobs and salary ranges.
- [Greenhouse Jobs Scraper](https://apify.com/benthepythondev/greenhouse-jobs-scraper) for company career pages.
- [Lever Jobs Scraper](https://apify.com/benthepythondev/lever-jobs-scraper) for Lever-powered roles.

### Keywords

YC Jobs scraper, Y Combinator jobs scraper, Work at a Startup scraper, startup jobs API, YC company jobs, startup hiring data, startup salary data, startup equity data, startup recruiting leads, YC batch hiring, startup lead generation, Apify jobs scraper, scrape Y Combinator jobs, export YC jobs to CSV, startup job board data.

### Support and feedback

If this Actor saves time in your workflow, please leave a short Apify Store review. Reviews help other users evaluate the tool and help prioritize maintenance. If a source changes or a field stops populating, open an Actor issue with the run ID, public input, and expected field. Never include passwords, private cookies, or confidential data.

# Actor input Schema

## `searchUrls` (type: `array`):

Paste Y Combinator Jobs / Work at a Startup search URLs to scrape exactly.

## `query` (type: `string`):

Keyword or role to search when no search URL is supplied.

## `role` (type: `string`):

Optional YC role slug, such as software-engineer, product-manager, sales or designer.

## `location` (type: `string`):

Optional YC location slug or location query.

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

Maximum number of jobs to return per URL or query.

## Actor input object example

```json
{
  "searchUrls": [
    "https://www.ycombinator.com/jobs?query=python"
  ],
  "query": "python",
  "maxResults": 10
}
```

# Actor output Schema

## `results` (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 = {
    "searchUrls": [
        "https://www.ycombinator.com/jobs?query=python"
    ],
    "query": "python",
    "maxResults": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("benthepythondev/yc-jobs-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 = {
    "searchUrls": ["https://www.ycombinator.com/jobs?query=python"],
    "query": "python",
    "maxResults": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("benthepythondev/yc-jobs-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 '{
  "searchUrls": [
    "https://www.ycombinator.com/jobs?query=python"
  ],
  "query": "python",
  "maxResults": 10
}' |
apify call benthepythondev/yc-jobs-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "YC Jobs Scraper - Startup Hiring Data",
        "description": "Scrape Y Combinator Jobs / Work at a Startup listings: title, company, batch, salary, equity, skills, visa, location and URLs.",
        "version": "1.0",
        "x-build-id": "xjDpWNRWhQgAgry1m"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/benthepythondev~yc-jobs-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-benthepythondev-yc-jobs-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/benthepythondev~yc-jobs-scraper/runs": {
            "post": {
                "operationId": "runs-sync-benthepythondev-yc-jobs-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/benthepythondev~yc-jobs-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-benthepythondev-yc-jobs-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": {
                    "searchUrls": {
                        "title": "YC Jobs search URLs",
                        "type": "array",
                        "description": "Paste Y Combinator Jobs / Work at a Startup search URLs to scrape exactly.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "query": {
                        "title": "Search query",
                        "type": "string",
                        "description": "Keyword or role to search when no search URL is supplied.",
                        "default": "python"
                    },
                    "role": {
                        "title": "Role filter",
                        "type": "string",
                        "description": "Optional YC role slug, such as software-engineer, product-manager, sales or designer."
                    },
                    "location": {
                        "title": "Location filter",
                        "type": "string",
                        "description": "Optional YC location slug or location query."
                    },
                    "maxResults": {
                        "title": "Max results per search",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum number of jobs to return per URL or query.",
                        "default": 10
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
