Work at a Startup Jobs & Company Data
Pricing
from $1.50 / 1,000 results
Work at a Startup Jobs & Company Data
Collect live startup jobs and YC company profiles from Work at a Startup: listings by role and keyword, full company profiles with founders and open roles, plus lead details and real-time webhooks. Structured JSON streams to your dataset.
Pricing
from $1.50 / 1,000 results
Rating
0.0
(0)
Developer
Emmanuel
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
Work at a Startup Real-Time Data
Live startup jobs and YC company profiles from Work at a Startup (Y Combinator's startup jobs board) — structured JSON streamed straight to your dataset. Search the live jobs board by role and keyword, resolve companies to full profiles with founders and open roles, and push everything to your CRM, sheets, or Slack in real time.
Free-trial notice: on the Apify free plan each run returns a small sample (2 results). Upgrade to a paid Apify plan for full, unlimited data.
Who this is for
- Recruiters & sourcing teams building YC-startup talent pipelines
- Job boards & aggregators keeping startup listings fresh
- Founders & operators tracking who is hiring, for what, and where
- Investors & researchers mapping YC hiring activity by batch, industry, and role
- Agencies & CRMs enriching startup company records with founders and open roles
Use cases
- Startup sourcing lists — collect engineering, product, and GTM openings across YC batches with salary ranges and locations.
- Hiring-signal intel — watch which startups are growing (open-roles count, team size, batch) for sales and fundraising outreach.
- Founder discovery — get founder names, bios, and LinkedIn links per company for partnership and recruiting outreach.
- Remote-job feeds — filter to remote-only roles for remote job boards and talent newsletters.
- Market mapping — compare roles, salaries, and locations across startups by keyword and role.
- CRM enrichment — feed company profiles (website, socials, industry, founders) into your startup database.
Features
| Feature | What you get | Default |
|---|---|---|
| 💼 Jobs | Live job listings: title, salary range, location, workplace type, company, batch, posting age | ✅ On (10 per search) |
| 🏢 Companies | Full YC company profiles: batch, industry, location, team size, founders, open roles, website/socials | ✅ On (cap 10) |
| 🔗 Scrape by URL | Individual job (/jobs/...) or company (/companies/...) URLs as their own rows with full details | Off |
| 🎯 Lead details | Adds full posting text, visa/experience notes (jobs) and founders, open roles, links (companies) in place — nothing dropped | Off |
| 🌐 Connection | Apify residential US proxy by default; country picker supported | Residential US |
| 🔔 Webhooks | JSON or Slack push per record, in addition to the dataset | Off |
| 💰 Pricing | Pay-per-result (result event) + spend-cap safe; 2-result free-plan sample | — |
Every discovered item is exported. Turning lead details on enriches the same row (detailsFetched: true) — it never creates a second row and never drops partial records.
Input reference
| Field | Type | Default | Notes |
|---|---|---|---|
enableJobs | checkbox | true | Collect live job listings. |
jobKeywords | string list | ["AI engineer"] | Text filter on board cards — every word must appear in the card (title, role, tagline, company). Empty = latest listings. Stored on each row as context. |
jobRoles | string list | ["all"] | Board roles (one view per role): all, software-engineer, designer, product-manager, data-scientist, data-analyst, devops-engineer, marketing, sales, operations, finance, legal, recruiting, customer-support, science. |
feedMaxJobs | number | 10 | Jobs collected per role board view, after keyword filtering (total can reach this × number of roles). 0 = no cap. Main cost lever for jobs. |
feedRemoteOnly | checkbox | false | Keep only remote job rows. |
enableCompanies | checkbox | true | Resolve companies from this run's listings to full profiles. |
companyKeywords | string list | [] | Extra discovery keywords (one extra board view each on the all role) + context on company rows. |
feedMaxCompanies | number | 10 | Cap on company rows. 0 = no cap. Main cost lever for companies. |
enableScrapeByUrl | checkbox | false | Enable URL collection below. |
jobUrls | string list | [] | e.g. https://www.workatastartup.com/jobs/103090 |
companyUrls | string list | [] | e.g. https://www.workatastartup.com/companies/parameter |
enableLeadDetails | checkbox | false | Full details in place. Adds a little extra time per record. |
webhookUrl | text | "" | Extra real-time push target (dataset always written). |
webhookFormat | select | json | json = full record; slack = Slack-friendly message. |
proxyConfiguration | proxy | Residential US | Change only for a different country or custom proxies. |
Empty input still runs a useful demo: the latest board listings (10 jobs).
Validation: enabling Scrape by URL without URLs, or disabling everything with no URLs, returns a clear error before any collection starts.
Output reference
Job row
| Field | Example |
|---|---|
featureType | jobs_feed / scrape_by_url |
recordType | job |
jobId / jobUrl | 103090 / https://www.workatastartup.com/jobs/103090 |
title | Search Engineer |
companyName / companyBatch / companyProfileUrl | Firecrawl / S22 / …/companies/firecrawl |
location / workplaceType / remote | San Francisco HQ; Toronto Hub / Remote (US) / Hybrid / true |
jobType / roleType | Full-time / Full stack |
salary / salaryRange / equityRange | $190K - $260K / … / … |
sponsorsVisa / minExperience | US citizen/visa only / 3+ years |
description | Full posting text (lead details on) |
postedAt | Posting age as shown (about 7 hours ago) |
searchQuery / detailsFetched / scrapedAt | context + flags |
Company row
| Field | Example |
|---|---|
featureType | company_profiles / scrape_by_url |
recordType | company |
name / slug / profileUrl | Parameter / parameter / …/companies/parameter |
batch / industry / industries | W26 / B2B -> Security / […] |
location / teamSize | San Francisco / 14 |
description / tagline | Full pitch + hiring notes |
website / twitterUrl / facebookUrl | Company links |
founders | [{ name, linkedinUrl, bio }] |
openJobs / openJobsCount | [{ jobId, title, location, jobType, salaryRange, jobUrl }] |
leadDetails | { website, twitterUrl, facebookUrl, email, phones, address, … } (lead details on) |
searchQuery / detailsFetched / scrapedAt | context + flags |
Run summary (OUTPUT in the key-value store) carries totalPushed, enabledFeatures, errors, spendingLimitReached, and the paywall transparency object.
Webhooks
Set webhookUrl to also push each record as it is finalized (dataset writes always happen). json delivers the full record object — point it at Zapier, Make, or your own URL. slack delivers a ready-to-read message — point it at a Slack incoming webhook. Delivery is fire-and-forget: failures are logged and never stop the run.
AI-agent usage (MCP)
Pair this Actor with the Apify MCP server so agents can call it with natural language. Example prompt for your agent:
"Find 10 AI engineer jobs at YC startups, include full company details, and tell me which ones are remote with salary ranges."
FAQ
Which proxy should I use? The default Apify residential US proxy works out of the box. Switch countries only if you need a different market view.
How does the free trial work? Free-plan runs return 2 results with an upgrade note and exit cleanly. Paid plans get the full requested volume.
How fresh is the data? Every run reads the live board and live profiles — listings, batches, and open-roles counts reflect the site at collection time.
Why did a run export fewer rows than my cap? Caps are upper bounds per role view: keyword filtering, the remote-only filter, and already-seen deduplication can all yield fewer rows — and each role view only carries the latest ~30 listings. Add more roles to widen the pool. Errors for skipped items are listed in the run summary.