Y Combinator Jobs Scraper
Pricing
Pay per event
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
Maintained by CommunityActor 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?
| Field | Description |
|---|---|
id | YC job posting ID |
title | Job title |
url | Public YC job URL |
applyUrl | Apply URL exposed by YC |
companyName | YC company name |
companySlug | Company slug from YC URL |
companyBatch | YC batch, for example W21 or S21 |
companyOneLiner | YC one-line company description |
location | Location text from YC |
isRemote | Boolean derived from the location text |
type | Employment type |
role | YC role code |
roleSpecificType | More specific role subtype |
prettyRole | Human-readable role category |
salaryRange | Salary range when present |
equityRange | Equity range when present |
minExperience | Minimum experience text |
minSchoolYear | School year requirement when present |
visa | Visa requirement text |
skills | Skills/tags listed by YC |
createdAt | Relative posting age shown by YC |
lastActive | Relative company/activity metadata shown by YC |
scrapedAt | Timestamp 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
- Open the actor on Apify.
- Set
maxItemsto the number of jobs you want. - Optionally add a keyword such as
software engineer,sales, orremote. - Optionally filter by role, job type, YC batch, or remote-only jobs.
- Run the actor.
- 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 ApifyClientclient = 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().itemsprint(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.
Related scrapers
Explore related actors by Automation Lab:
- https://apify.com/automation-lab/ycombinator-scraper
- https://apify.com/automation-lab/linkedin-company-scraper
- https://apify.com/automation-lab/company-funding-tracker
- https://apify.com/automation-lab/google-jobs-scraper
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.