Work at a Startup (YC) Jobs Scraper
Pricing
from $3.00 / 1,000 serp results
Work at a Startup (YC) Jobs Scraper
Scrape jobs from Y Combinator's Work at a Startup. Returns title, YC batch (W25/S24), company URL/team size, salary range, equity, visa sponsorship, min experience, remote type, tech stack, founder replies flag, and full hiring description. Pay-per-result.
Pricing
from $3.00 / 1,000 serp results
Rating
0.0
(0)
Developer
NanoScrape
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
Work at a Startup (YC) Jobs Scraper: Batch, Equity, Founders
Pull live job listings from Y Combinator's official Work at a Startup board (workatastartup.com). Only YC-funded companies post here: the ~1,000 vetted startups YC has invested in. Each record includes the YC batch (W25, S24, F26 and so on), the company's website URL, industry, team size, salary range, equity window, visa sponsorship signal, minimum experience, remote type, tech stack, founder profiles, and the full hiring description. No API key, no registration.
Sample output
[{"_type": "job","id": "103933","title": "Senior Software Engineer, Machine Learning","company_name": "Hive","company_slug": "hive","company_url": "http://www.hive.co","company_one_liner": "Marketing automation for event promoters (email, sms, ads, CRM)","yc_batch": "S14","yc_top_company": false,"industry": "B2B -> Marketing","team_size": 65,"location": "CA / Remote (CA)","company_location": "Kitchener, Canada","remote_type": "hybrid","employment_type": "full-time","role_type": "Machine learning","salary_range": {"min": 124000,"max": 188000,"currency": "CAD"},"salary_text": "$124K - $188K CAD","equity_range": null,"experience_years_min": 5,"experience_years_max": 5,"sponsors_visa": true,"sponsors_visa_text": "US citizenship/visa not required","founder_replies_directly": false,"tech_stack": ["JavaScript", "Docker", "Kubernetes"],"founders": [{"name": "Patrick Hannigan","bio": "Founder @ www.hive.co","past_companies": "Product Designer at Desire2Learn, Growth Engineer and Designer at Bunch","linkedin": "https://www.linkedin.com/in/patrickhannigan/","avatar_url": "https://bookface-images.s3.amazonaws.com/avatars/9868df01b4cec4ac4a81c77a78af56f9ad44604e.jpg"}],"hiring_description_text": "Hive is the industry-best marketing platform for event marketers. Our platform powers marketing for 1500+ of the most iconic event, festivals, venues, promoters, and event-centric brands across North America...","apply_url": "https://account.ycombinator.com/authenticate?continue=https%3A%2F%2Fwww.workatastartup.com%2Fapplication%3Fsignup_job_id%3D103933","source_url": "https://www.workatastartup.com/companies/hive","job_url": "https://www.workatastartup.com/jobs/103933","company_profile_url": "https://www.workatastartup.com/companies/hive","source_platform": "workatastartup","search_query": "software engineer","scraped_at": "2026-08-19T11:26:41Z","company_about": "Hive is the industry-best marketing platform for event marketers...","company_phone": null,"company_email": null,"company_website": "https://hive.co","company_address_street": null,"company_address_city": null,"company_address_postcode": null,"company_address_country": null,"company_active_jobs_count": 4,"company_active_jobs": [{"title": "Senior Backend Engineer", "job_url": "https://www.workatastartup.com/jobs/104112", "location": "Remote", "salary_text": "$150K - $200K", "description_snippet": null}]}]
Pricing
| Event | Price |
|---|---|
| Actor start | $0.001 |
| SERP result (per job) | $0.003 |
| Detail result (per job with company enrichment) | $0.005 |
Company profile (unique employer, when includeCompanyDetails=true) | $0.005 |
Around $8 per 1,000 fully-enriched jobs (SERP + detail), or $3 per 1,000 SERP-only if you turn includeJobDetails: false. Failed detail fetches are not charged.
New to Apify? Every account gets a $5 free monthly platform credit, enough for around 500-600 fully-enriched Work at a Startup jobs before you commit to paying anything.
Input
No API key required. Choose one or more role keywords; the actor maps each to a Work at a Startup role bucket.
| Field | Type | Required | Description | Example |
|---|---|---|---|---|
searchQueries | array | No | Role keywords (engineer, designer, pm, growth, ops, finance, legal, recruiter, ml, sales, ...). Unknown keywords default to software-engineer. | ["software engineer", "designer", "product manager"] |
maxResults | integer | No | Total cap across all queries. Default 5. | 500 |
maxResultsPerQuery | integer | No | Per-bucket cap (public pages surface ~20-30 jobs per role). Default 5 so multi-query runs distribute across all buckets. | 30 |
includeJobDetails | boolean | No | Fetch each unique company page for hiring description, tech stack, founders, salary/equity/visa/experience. Default false. | true |
includeCompanyDetails | boolean | No | Also emit company_about, company_website, company_active_jobs[] snapshots per unique YC company. Deduplicated per company. Implies includeJobDetails=true. | true |
maxConcurrency | integer | No | Concurrent company detail requests (1-10). Default 5. | 5 |
Output fields
Job core
id: Work at a Startup internal job ID.title: Role title.role_type: Role category from the listing (e.g. "Machine learning", "Frontend").employment_type:full-time,part-time,contract,intern, or raw string.location: Job location string as published.remote_type:100%-remote,hybrid, oronsite.
YC / company
company_name,company_slug,company_url,company_one_liner,company_logo_url.yc_batch: Y Combinator batch (e.g. W25, S24, F26).yc_top_company: Whether the company holds YC's Top Companies designation.industry,team_size,company_location.
Compensation
salary_range:{min, max, currency}, parsed from strings like$124K - $188K CAD.salary_text: Raw salary string.equity_range:{min_pct, max_pct}, percentage-based equity window.equity_text: Raw equity string.
Requirements
experience_years_min,experience_years_max: Numeric years of experience parsed from strings like "5+ years" or "3-5 years".sponsors_visa: Boolean. True when the listing explicitly does not require existing US work status, false when it does, null when unknown.sponsors_visa_text: Raw sponsorship string.
Signal / differentiation
founder_replies_directly: Work at a Startup surfaces a badge when a company's founders personally reply to applicants. Very useful signal for candidates.tech_stack: Tech tokens detected in the company's engineering description (React, TypeScript, Postgres, Kafka, PyTorch, Rust, LangChain, ...).founders: Array of{name, bio, past_companies, linkedin, avatar_url}for each founder.
Descriptions
hiring_description_html,hiring_description_text: Company-level hiring pitch.tech_description_html,tech_description_text: Engineering description (roles that expose it).
Links / metadata
apply_url: Direct apply link (routes through YC's account signup).job_url: Canonical job posting URL (https://www.workatastartup.com/jobs/{id}).company_profile_url: Company profile page (https://www.workatastartup.com/companies/{slug}).source_url: Legacy alias ofcompany_profile_url, kept for back-compat.source_platform: Alwaysworkatastartup.search_query: Query that produced this hit.scraped_at: ISO timestamp of when this record was fetched.posted_at: Alwaysnull. Work at a Startup does not expose listing/posting dates in any public endpoint (SERP, company page, or job detail). Usescraped_atas a recency proxy.
Employer profile (populated when includeCompanyDetails=true)
company_about: Company description text from the YC company page (aliases company_one_liner + hiring copy)company_website: Alias ofcompany_urlcompany_phone,company_email,company_address_*: Usually null. WAAS does not publish postal addresses or contact details.company_active_jobs_count: Number of other currently-open roles at the same YC companycompany_active_jobs: Snapshot of other open roles at this company (title, location, salary text)
Note: founders[] and tech_stack[] are already emitted at the top level for every row. We do not duplicate them under a company_founders/company_tech_stack prefix.
Use with AI Agents (MCP)
Connect this actor to any MCP-compatible AI client: Claude Desktop, Claude.ai, Cursor, VS Code, LangChain, LlamaIndex, or custom agents.
Apify MCP server URL:
https://mcp.apify.com?tools=santamaria-automations/workatastartup-scraper
Example prompt once connected:
"Use
workatastartup-scraperto find every YC W25 or S25 engineering role where the company sponsors visas and the founders reply directly. Return a table with title, company, batch, salary range."
Clients that support dynamic tool discovery (Claude.ai, VS Code) receive the full input schema automatically via add-actor.
Why this actor
- YC-only signal. Every result is a company Y Combinator has funded, a much narrower and higher-quality slice than a generic job board.
- YC batch as a first-class field. Filter or segment by cohort (W25 vs S24) without regex.
- Rare fields other job scrapers miss: equity range, founder profiles (name, LinkedIn, past companies), founder-replies flag, YC top-company badge.
- Two-stage architecture: SERP scan finds jobs, company page enriches with rich detail. One request per unique company, not per job, so it stays cost-efficient.
- Failed detail fetches are not charged.
Common use cases
- Recruiter agencies: Track newly-posted senior engineering roles at every W25/S25 company sponsoring visas for outbound candidates.
- Investors / analysts: Monitor hiring velocity per YC batch as a leading indicator of company growth.
- Job seekers: Build alerts filtered by
founder_replies_directly=trueand specific tech stack tokens. - CRM enrichment: Enrich a list of YC portfolio companies with current job openings + founder LinkedIn profiles.
- Competitive intelligence: Track a competitor's YC-portfolio hiring signals week over week.
Notes and limits
- Public Work at a Startup surfaces roughly 20-30 jobs per role bucket for unauthenticated visitors. Deeper filters (location, batch, remote type) require a logged-in YC account and are not accessible via this actor.
- Ten role buckets are supported: software-engineer, designer, product-manager, sales, marketing, operations, finance, legal, recruiting, science. Query keywords are mapped to buckets automatically.
- Salary parsing handles USD, CAD, GBP, EUR and common suffixes (K, M). If the salary string is missing,
salary_rangeis null. - The
founder_replies_directlybadge is only set when Work at a Startup emits the flag in their company payload. It is a signal-of-signal, not a guarantee. - Tech stack detection scans the engineering description prose. Roles at non-engineering companies typically have empty
tech_stack.
Troubleshooting
"No jobs found"
The query keyword did not map to a known role bucket AND the default software-engineer bucket returned zero. Remove the searchQueries input entirely to fall through to the default bucket, or try one of: engineer, designer, pm, growth, ops, finance, legal, recruiter, ml, sales.
"Company enrich failed" Occasionally Work at a Startup unpublishes a company or their /companies/{slug} endpoint returns 404 mid-run. The affected job is still emitted with SERP-level fields; only company-level enrichment is skipped for that record. You are not charged for the detail event when this happens.
Equity or salary null on some jobs
Not every YC company publishes compensation. When the source string is empty, the parsed range is null. salary_text will also be null in that case.
Related Actors
- Job Feed: one normalized, deduplicated job feed across 50+ international job boards. Orchestrates the NanoScrape fleet.
- Career Site Jobs Scraper: scrape jobs directly from company career pages (Greenhouse, Lever, Workday, etc.).
- Website Job Extractor: extract job listings from any website via HTML pattern detection.
Support
Something broken, or a field you wish this actor returned? Email contact@nanoscrape.com or open a ticket on the actor's Issues tab. We usually respond within one working day.