Y Combinator Jobs Scraper — Work at a Startup
Pricing
Pay per usage
Y Combinator Jobs Scraper — Work at a Startup
Extract live startup openings from Y Combinator's Work at a Startup: engineering, product, design and GTM roles across YC companies. Records include title, company, YC batch, location, salary/equity hints and apply URL. The direct line into YC startup hiring.
Fetch live openings at Y Combinator startups from Work at a Startup (workatastartup.com) as structured JSON.
What Y Combinator jobs data does this scraper extract?
Each result is one flat JSON record per job posting:
| Field | Meaning |
|---|---|
title | Job title as posted |
company | Hiring company / organisation |
companySlug | Company's slug on Work at a Startup |
companyBatch | YC batch code (e.g. S23) |
location | Location / duty station (may include remote hints) |
roleType | Role category as tagged by the source (e.g. Engineering) |
jobType | Employment type (e.g. Full-time) |
salary | Salary text where the source provides it |
url | Direct link to the posting |
postedAt | Always null — the YC Work at a Startup search API exposes no posting date |
snippet | Short description excerpt |
id | Stable source-side identifier |
source | Fixed value "ycombinator_was" |
How to scrape Y Combinator jobs with this Actor
- Click Try for free / Run — no login to the target site, no cookies, no proxies to configure.
- Adjust the input (keyword, filters,
maxItems) or keep the defaults. - Run it and export the dataset as JSON, CSV or Excel, or read it over the API.
Run it from your own code:
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("nomad-agent/ycombinator-was-scraper").call(run_input={"maxItems": 50})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["title"], "—", item["company"], item["url"])
Or a single HTTP call that runs the Actor and returns items in one response:
curl -X POST \"https://api.apify.com/v2/acts/nomad-agent~ycombinator-was-scraper/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \-H "Content-Type: application/json" \-d '{"maxItems": 50}'
Integrations
Chain this Actor with Zapier, Make, Slack, Airtable and Google Sheets via Apify's built-in integrations, schedule recurring runs with the Apify Scheduler, or pull results straight into your own pipeline with the Apify API.
Input
| Field | Type | Default | Notes |
|---|---|---|---|
queries | array | "" | List of role-specific search terms to fan out across. Each query fetches an independent page of results… |
titleExclude | array | "" | Skip postings whose title contains any of these terms (case-insensitive), applied on top of queries. |
maxItems | integer | 50 | Maximum number of unique job postings to return. Set to 0 for no limit (all deduplicated results across… |
cacheTtlSeconds | integer | 1800 | Cache the upstream fetch in the key-value store for this many seconds; re-runs within the window skip the… |
Output example
{"id": "73211","title": "Founding Engineer","company": "Lindy","companySlug": "lindy","companyBatch": "S23","location": "San Francisco / Remote","roleType": "Engineering","jobType": "Full-time","salary": "$150K–$220K + equity","postedAt": null,"snippet": "AI executive assistant for busy professionals. Engineering | Full-time | YC S23","url": "https://www.workatastartup.com/jobs/73211","source": "ycombinator_was"}
postedAt is always null — the YC Work at a Startup search API does not expose a posting date for listings.
Pricing
Pay per event: $0.05 per Actor start and $0.004 per job returned. 100 jobs ≈ $0.45. No subscription, no rental — you pay only for what you fetch.
Use cases
- Startup job boards and newsletters
- Tracking YC-company hiring by batch
- Sourcing candidates who want startup roles
- VC portfolio talent intelligence
FAQ
Is it legal to scrape Y Combinator jobs? This Actor reads only publicly available job postings — data any visitor can see without logging in. No personal data behind authentication is touched. Review the target site's terms and your local regulations for your specific use case.
Do I need an account on the target site? No. Postings are fetched from public pages/APIs — no login, cookies or session tokens.
How fresh is the data?
Every run fetches live listings. Results are cached for cacheTtlSeconds (default 30 min, set 0 to always hit the source live).
How many jobs can I get?
maxItems caps the run (set 0 where supported for no cap). Most sources paginate from newest to oldest.
Something broken or missing? Open an issue on the Actor's Issues tab — it is monitored and reliability fixes ship fast.