Y Combinator Jobs Scraper avatar

Y Combinator Jobs Scraper

Pricing

Pay per event

Go to Apify Store
Y Combinator Jobs Scraper

Y Combinator Jobs Scraper

Extract public YC Work at a Startup jobs with company, batch, location, salary, equity, visa, skills, and apply URLs.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Extract public job postings from YC Work at a Startup.

What does Y Combinator Jobs Scraper do?

Y Combinator Jobs Scraper collects the public job postings currently embedded on the YC jobs page at https://www.ycombinator.com/jobs.

It returns a clean dataset with job titles, company names, YC batches, locations, role categories, salary ranges, equity ranges, visa requirements, experience requirements, skills, public job URLs, and apply URLs.

Use it when you want a fast, HTTP-only way to monitor publicly visible roles at YC-backed startups.

Who is it for?

Recruiters can use it to watch hiring demand across YC companies.

Startup analysts can track which YC batches and sectors are actively hiring.

Job-board operators can enrich startup job feeds with YC-specific company metadata.

Candidates can export the currently public YC jobs list for research and shortlisting.

Sales and partnership teams can find recently hiring startups that may need recruiting, payroll, developer tooling, finance, or HR products.

Why use this actor?

⚡ It is HTTP-only and lightweight.

🏢 It includes YC company context, not just raw job titles.

💼 It extracts compensation and role metadata when YC exposes it.

🔎 It supports keyword, role, type, batch, and remote filters.

📦 It produces a flat dataset that is easy to export to CSV, JSON, Google Sheets, or your own pipeline.

What data can I extract?

FieldDescription
idYC job posting ID
titleJob title
urlPublic YC job URL
applyUrlApply URL exposed by YC
companyNameYC company name
companySlugCompany slug from YC URL
companyBatchYC batch, for example W21 or S21
companyOneLinerYC one-line company description
locationLocation text from YC
isRemoteBoolean derived from the location text
typeEmployment type
roleYC role code
roleSpecificTypeMore specific role subtype
prettyRoleHuman-readable role category
salaryRangeSalary range when present
equityRangeEquity range when present
minExperienceMinimum experience text
minSchoolYearSchool year requirement when present
visaVisa requirement text
skillsSkills/tags listed by YC
createdAtRelative posting age shown by YC
lastActiveRelative company/activity metadata shown by YC
scrapedAtTimestamp of the actor run

How much does it cost to scrape YC jobs?

This actor uses pay-per-event pricing.

You pay a small run start event plus one result event for each YC job posting saved to the dataset.

The default intended price is $0.50 per 1,000 job results, plus the run start event.

Because the scraper is HTTP-only and does not use a browser, typical runs are designed to be inexpensive.

How to scrape YC jobs

  1. Open the actor on Apify.
  2. Set maxItems to the number of jobs you want.
  3. Optionally add a keyword such as software engineer, sales, or remote.
  4. Optionally filter by role, job type, YC batch, or remote-only jobs.
  5. Run the actor.
  6. Export the dataset as JSON, CSV, Excel, XML, or HTML.

Input options

maxItems

Maximum number of matching jobs to save.

Start with 25 for a quick test.

query

A free-text search across title, company, one-liner, location, role, salary, equity, experience, visa, and skills.

role

Filter by YC role/category. Examples include eng, Engineering, product, sales, design, or operations.

jobType

Filter by employment type such as Full-time, Internship, or Cofounder.

remoteOnly

When enabled, only jobs whose location text includes Remote are saved.

companyBatch

Filter to a YC batch such as W24, S21, or F24.

includeIncomplete

YC marks some listings as incomplete. This is disabled by default so the output stays cleaner.

Example input

{
"maxItems": 25,
"query": "software engineer",
"remoteOnly": false
}

Example output

{
"id": 93174,
"title": "Forward Deployed Engineer",
"url": "https://www.ycombinator.com/companies/confido/jobs/XgiWhOL-forward-deployed-engineer",
"companyName": "Confido",
"companyBatch": "S21",
"location": "NYC Office",
"isRemote": false,
"type": "Full-time",
"prettyRole": "Engineering",
"salaryRange": "$150K - $200K",
"equityRange": "0.05% - 0.10%",
"minExperience": "3+ years",
"visa": "US citizen/visa only"
}

Tips for better results

Use a broad query if you want to search multiple fields at once.

Use companyBatch when you want to focus on a specific YC cohort.

Use remoteOnly for candidate sourcing workflows.

Leave includeIncomplete disabled unless you specifically need all public rows YC exposes.

Use small maxItems values for scheduled monitoring runs.

Integrations

Send new YC jobs to Google Sheets for recruiting dashboards.

Load the dataset into Airtable to build a startup hiring tracker.

Connect Apify webhooks to Slack to notify your team when matching jobs appear.

Export JSON to enrich your own job-board database.

Use the Apify API to run daily monitoring jobs from cron or CI.

API usage with Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/ycombinator-jobs-scraper').call({
maxItems: 25,
query: 'software engineer'
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

API usage with Python

from apify_client import ApifyClient
client = ApifyClient('MY-APIFY-TOKEN')
run = client.actor('automation-lab/ycombinator-jobs-scraper').call(run_input={
'maxItems': 25,
'query': 'software engineer',
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

API usage with cURL

curl -X POST 'https://api.apify.com/v2/acts/automation-lab~ycombinator-jobs-scraper/runs?token=MY-APIFY-TOKEN' \
-H 'Content-Type: application/json' \
-d '{"maxItems":25,"query":"software engineer"}'

MCP integration

Use this actor through Apify MCP with Claude Code or Claude Desktop.

MCP server URL:

https://mcp.apify.com/?tools=automation-lab/ycombinator-jobs-scraper

Claude Code setup:

$claude mcp add apify-yc-jobs https://mcp.apify.com/?tools=automation-lab/ycombinator-jobs-scraper

Claude Desktop JSON config:

{
"mcpServers": {
"apify-yc-jobs": {
"url": "https://mcp.apify.com/?tools=automation-lab/ycombinator-jobs-scraper"
}
}
}

Example prompts:

  • “Run the YC jobs scraper for remote software engineer roles and summarize the companies.”
  • “Find public YC jobs with salary ranges and export them as a CSV.”
  • “Compare YC batches represented in the latest public jobs dataset.”

Scheduling

You can schedule this actor daily or weekly to monitor public YC hiring signals.

For monitoring workflows, keep maxItems modest and use a keyword or role filter.

Data freshness

The actor reads the public YC jobs page at run time.

Fields such as createdAt and lastActive are relative strings as displayed by YC.

The scrapedAt field records when your run collected the row.

Limitations

The actor does not log in to YC or Work at a Startup.

It only extracts job data visible in the public HTML response.

Apply URLs may lead to YC account or candidate profile flows.

If YC changes the embedded page structure, the actor may need an update.

Legality

This actor collects publicly visible information from YC pages.

Use the data responsibly and respect applicable laws, website terms, and privacy requirements.

Do not use scraped data for spam or abusive outreach.

FAQ and troubleshooting

Why did I get fewer jobs than maxItems?

Your filters may match fewer public postings than requested, or the public YC page may expose fewer rows at that moment.

Why is applyUrl an account URL?

YC may route applications through an account or candidate profile flow. The actor records the URL exposed publicly by YC.

Why are salary or equity fields empty?

Not every posting includes compensation details.

Explore related actors by Automation Lab:

Changelog

0.1

Initial build for public YC job postings.

Support

If the actor stops returning public YC jobs, open an issue with your run URL and input.

Summary

Y Combinator Jobs Scraper is a lightweight way to collect structured hiring data from public YC job listings.