💼 Wellfound Jobs Scraper
Pricing
Pay per event
💼 Wellfound Jobs Scraper
Scrape Wellfound (formerly AngelList Talent) for startup job listings. Title, company, stage, funding, team size, role description, salary range (numeric USD), equity, location, remote enum, stack, posted date. Export, run via API, schedule, or integrate with other tools.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Skootle
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
19 days ago
Last modified
Categories
Share

TL;DR
Scrape Wellfound (formerly AngelList Talent) for startup job listings. Returns clean JSON with title, company, company stage, funding, team size, role description, salary range (numeric USD low/high), equity range, location, remote-policy enum, technologies, posted date, direct apply URL, and a 300-500 character markdown summary per record. The deepest source for early-stage startup hiring intelligence. Built on Wellfound's public listing pages.
Try it on a small dataset, then let us know what you think in a review.
What does Wellfound Jobs Scraper do?
Wellfound Jobs Scraper pulls every public job listing from Wellfound (the startup-focused job board formerly known as AngelList Talent). Filter by role, location, remote policy, company stage, or technology, or paste a Wellfound search URL. Each record carries the company stage, funding, team size, salary range as numeric USD, equity range, remote policy, tech stack, and a direct apply URL.
A daily watchlist on senior IC roles in your stack lands 5-25 fresh listings per day after the initial sweep, ready for an ATS, a sourcing CRM, or a BD prospect list.
Why scrape Wellfound?
Wellfound is the canonical job board for early-stage and growth-stage startups (Seed through Series C), and a startup posting a senior IC role for the first time is one of the strongest fresh-raise signals in the market. Tech recruiters sourcing engineers in a stack, B2B SaaS reps prospecting startups that just opened 5+ engineering reqs, VCs tracking portfolio hiring velocity, ATS integrations, and AI agents that auto-apply all need the same feed. The site has no public API.
Manual workflow killed: clicking through Wellfound filters across hundreds of startup pages, copying salary ranges into a sheet, and refreshing it tomorrow. A daily run pulls every matching listing, dedupes against yesterday, and emits only what is new, so a recruiter or a BD rep starts their morning with a clean shortlist instead of an empty browser tab.
Who needs this?
- Tech recruiters sourcing engineers in your stack from startups in your target funding range and region
- Compensation researchers building startup salary benchmarks by role × city × stage
- B2B SaaS sales teams prospecting startups hiring 5+ engineers in your category (signal of buying intent)
- VC and investor relations tracking portfolio companies' hiring volume as a deployment-momentum signal
- Founders and operators benchmarking comp ranges before posting their own roles
- AI agents running daily searches and surfacing top candidates against your active role openings
How to use Wellfound Jobs Scraper
- Open the Input tab on the actor page
- Enter a Wellfound search URL (e.g.,
https://wellfound.com/jobs?keyword=Rust) OR set individual filters - Set
maxItems(default 50) andmaxPages(default 5) - Optionally enable
watchlistModefor daily diffs (only new listings emitted) - Click Start or call via the Apify REST API or CLI
You can run on demand from the Console, schedule daily with Apify's cron, or integrate with Make / Zapier / n8n / Slack / Google Sheets.
How much will scraping Wellfound cost?
This actor is priced per event:
- Actor Start: $0.01 once per run
- Wellfound job record: tiered, charged per record written
| Apify plan | $/1000 records |
|---|---|
| FREE | $30.00 |
| BRONZE | $25.50 |
| SILVER | $21.00 |
| GOLD | $18.00 |
| PLATINUM | $18.00 |
| DIAMOND | $16.20 |
A daily watchlist for senior IC roles in your stack returns ~30-100 records day 1, then 5-25 per day. Roughly $0.50-$1.80 per day on GOLD.
Is it legal to scrape Wellfound?
Yes, Wellfound's job listings are publicly accessible to anyone in a browser without logging in. This actor reads the same public pages that Google indexes, with proper rate-limiting (1.1-second delay between requests). It does not log into recruiter accounts, does not access candidate-side data, and does not bypass any technical access control.
For commercial redistribution of raw datasets, consult Wellfound's terms and your legal counsel. For internal sourcing pipelines, recruiting CRMs, comp benchmarks, and AI training, the scraped data is treated like any other public web content.
Examples
Example 1: Rust engineers across all locations
{"searchUrl": "https://wellfound.com/jobs?keyword=Rust","maxItems": 100,"maxPages": 5}
Example 2: Senior backend engineers at Seed-Series B startups, US remote
{"keywords": ["senior backend"],"locations": ["United States"],"remotePolicy": "REMOTE_FRIENDLY","companyStages": ["SEED", "SERIES_A", "SERIES_B"],"maxItems": 100}
Example 3: Daily watchlist for ML/AI roles
{"keywords": ["machine learning engineer", "ml engineer"],"watchlistMode": true,"maxItems": 50}
Example 4: Compensation benchmark scrape (200 Python engineers in NYC)
{"keywords": ["python"],"locations": ["New York City"],"maxItems": 200,"maxPages": 10}
Aggregate salaryMinUsd and salaryMaxUsd downstream by company stage to build a NYC Python comp table.
Example 5: Sales prospecting (companies hiring 5+ engineers in your category)
{"keywords": ["engineer"],"technologies": ["TypeScript", "React"],"maxItems": 200}
Group output by companyName and filter for ≥5 listings, your ICP prospects.
Example 6: VC portfolio-company hiring tracker
{"companyUrls": ["https://wellfound.com/company/portfolio-co-1","https://wellfound.com/company/portfolio-co-2"],"watchlistMode": true,"maxItems": 50}
Example 7: Fresh-raise early-warning
{"companyStages": ["SERIES_A", "SERIES_B"],"watchlistMode": true,"maxItems": 100}
A startup posting a senior IC role for the first time often correlates with a closed round.
Example 8: Founder-friendly compensation peek
{"keywords": ["staff engineer"],"locations": ["San Francisco"],"companyStages": ["SERIES_B", "SERIES_C"],"maxItems": 50}
Input parameters
| Field | Type | Default | Description |
|---|---|---|---|
searchUrl | string | "" | Direct Wellfound search URL. Overrides individual filters. |
keywords | string[] | [] | Role keywords |
locations | string[] | [] | City or country names |
remotePolicy | enum | null | REMOTE_ONLY, REMOTE_FRIENDLY, HYBRID, ONSITE |
companyStages | enum[] | [] | SEED, SERIES_A, SERIES_B, SERIES_C, LATER_STAGE |
technologies | string[] | [] | Tech tags (e.g., ["React", "Python"]) |
companyUrls | string[] | [] | Watch specific Wellfound company pages |
maxItems | int | 50 | Hard cap on records |
maxPages | int | 5 | Pagination cap |
watchlistMode | bool | false | Idempotent diff against KV-stored seen listing IDs |
useApifyProxy | bool | true | Apify residential proxy. Recommended. |
Wellfound output format
wellfound_job
| Field | Type | Description |
|---|---|---|
outputSchemaVersion, recordType, recordId | string | Discriminated identity |
listingId, url, applyUrl | string | Wellfound listing ID + URL + direct apply link |
title, description | string | Role title + full description |
companyName, companyId, companyUrl, companyDescription, companyStage, companyFunding, companyTeamSize, companyLogoUrl | string/enum/int/string | Company metadata |
salaryMinUsd, salaryMaxUsd, salaryRangeRaw | int/string | Numeric mirrors + raw |
equityMinPct, equityMaxPct, equityRangeRaw | float/string | Numeric mirrors + raw |
location, remotePolicy | string/enum | Location + remote enum |
technologies | string[] | Tech stack tags |
postedAt, scrapedAt | ISO 8601 | Posted + snapshot times |
fieldCompletenessScore, agentMarkdown | int / string | Quality + LLM-ready summary |
Wellfound Jobs scraper output example
{"outputSchemaVersion": "2026-05-08","recordType": "wellfound_job","recordId": "wellfound:job:1234567","listingId": "1234567","url": "https://wellfound.com/jobs/1234567","title": "Senior Backend Engineer","companyName": "Acme","companyStage": "SERIES_B","companyTeamSize": 45,"salaryMinUsd": 180000,"salaryMaxUsd": 240000,"salaryRangeRaw": "$180K, $240K","equityMinPct": 0.05,"equityMaxPct": 0.5,"location": "San Francisco","remotePolicy": "REMOTE_FRIENDLY","technologies": ["Rust", "PostgreSQL", "Kubernetes"],"postedAt": "2026-05-08T15:00:00.000Z","fieldCompletenessScore": 92,"agentMarkdown": "**💼 Senior Backend Engineer @ Acme** (Series B · 45 ppl)\n- 💰 $180K-$240K · 0.05-0.50% equity\n- 📍 San Francisco · 🏠 Remote-friendly\n- 🛠 Rust, PostgreSQL, Kubernetes\n- 📅 posted 2026-05-08\n- 🔗 https://wellfound.com/jobs/1234567"}
During the Actor run
Search results pages are fetched serially over Apify residential proxy with conservative rate-limiting. Each listing is enriched with company metadata when visible on the page. No Wellfound login or recruiter account required.
The actor writes:
OUTPUT, compact run summaryAGENT_BRIEFING, markdown digest with top 10 listings by completeness × recencyWATCHLIST_STATE, (whenwatchlistMode: true) seen listing IDs
FAQ
How does Wellfound Jobs Scraper work?
The actor parses Wellfound's public job listing pages with proper rate limiting and a respectful User-Agent. Each listing is normalized into a typed record with numeric salary/equity mirrors, an enum remote-policy, and ISO 8601 timestamps.
Can I monitor for new listings only?
Yes. Set watchlistMode: true. The actor stores seen listing IDs in its key-value store and emits only listings new since the last run.
Can I filter by company stage?
Yes. companyStages: ["SEED", "SERIES_A", "SERIES_B", "SERIES_C", "LATER_STAGE"].
Can I get historical data?
This actor reads the live Wellfound site, which surfaces listings posted within Wellfound's active window (typically the last 60 days). Older expired listings are not retrievable.
Can I use this with the Apify API?
Yes. POST to https://api.apify.com/v2/acts/skootle~wellfound-jobs-scraper/runs.
Can I integrate with Make / Zapier / n8n / Slack?
Yes. Click Integrations on the actor page.
Why does this actor cost more than free job-board scrapers?
This actor ships numeric salary/equity mirrors (no string parsing downstream), normalized remote-policy + company-stage enums, idempotent listing IDs, watchlist diff mode, agent-ready markdown summaries, and continuous maintenance. If you're feeding the data into an ATS, a sourcing pipeline, or an AI agent, those features pay back the per-record cost in saved engineering time.
Your feedback
Hit a bug or want a feature? Open an issue on the Issues tab rather than the reviews page, and we'll fix it fast (typically within 48 hours).
Why choose Wellfound Jobs Scraper
- Fresh-raise signal on every record, company stage, recent Series A/B funding, team size, ready for BD prospecting or VC tracking
- Monitor new postings the same day they go live, watchlist diff mode emits only NEW listings since the last run, safe to schedule daily
- One run replaces clicking through filters across hundreds of startup pages, pulls every public listing matching your search
- ATS-ready output, normalized title, company, comp, stack, remote policy on every record
- Comp benchmarks without parsing strings,
salaryMinUsd,salaryMaxUsd,equityMinPct,equityMaxPctas numbers. Raw Wellfound strings preserved. - Normalized enums for easy filtering,
remotePolicy,companyStagetyped - Hand-tuned for Wellfound. Fixes ship the same week the source changes
- Agent-ready,
agentMarkdownready to paste into an LLM context - Safe to dedupe across re-runs,
wellfound:job:<id>stable IDs for clean ATS upserts - Schema doesn't break your pipeline,
outputSchemaVersionliteral on every record
Other Skootle actors you might want to check
- SAM.gov + USAspending Federal Contracts, federal contracting opportunities + award history
- Crexi Commercial Real Estate, CRE listings with 50+ fields
- Reddit Subreddit Scraper, sourcing signal mining on r/cscareerquestions
- GitHub Trending Repos, contributor lists from trending repos
- Hacker News Watchlist,
Who Is Hiring?thread + jobs stream
Support and contact
File issues on this actor's page, replies within 48 hours.