💼 Wellfound Jobs Scraper
Pricing
Pay per usage
💼 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 usage
Rating
0.0
(0)
Developer
Skootle
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 hours 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 extracts every public job listing from Wellfound (the startup-focused job board formerly known as AngelList Talent). You give it search filters (role, location, remote-only, company stage, technology) or a Wellfound search URL; it returns one well-typed record per listing with: title, company name + size + funding stage, role description, salary range (numeric USD low/high alongside the raw Wellfound-format string), equity range, location, normalized remote-policy enum (REMOTE_ONLY | REMOTE_FRIENDLY | HYBRID | ONSITE | UNKNOWN), technologies tagged on the role, posted date in ISO 8601, and a direct apply URL.
Every record ships with agentMarkdown (300-500 chars) so an AI agent can summarize a job in a single LLM call without wrapping logic.
Why scrape Wellfound?
Wellfound is the canonical job board for early-stage and growth-stage startups (Seed through Series C). If you're sourcing engineers in your stack, building a recruiting pipeline, tracking which startups just opened a senior IC role (often a fresh-raise signal), or selling B2B SaaS into the startup ecosystem, Wellfound has the freshest signal in the market.
The data is public — anyone can browse Wellfound listings without an account — but the site doesn't expose a public API. This actor handles the listing-parsing + filter-mapping + ISO normalization + numeric salary extraction so you get clean structured records instead of HTML strings.
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
The actor fetches each search results page sequentially with a 1.1-second delay (well under any reasonable Wellfound rate limit), parses each listing card, validates against a Zod schema, and pushes. Each record is enriched with company metadata when visible on the listing page.
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
- Numeric salary + equity mirrors —
salaryMinUsd,salaryMaxUsd,equityMinPct,equityMaxPctready for analytics. Raw Wellfound strings preserved. - Normalized enums —
remotePolicy,companyStagetyped for easy filtering - Watchlist diff mode — only emits NEW listings since the last run
- Versioned schema —
outputSchemaVersion: '2026-05-08' - Idempotent record IDs —
wellfound:job:<id>stable across runs - Agent-grade output —
agentMarkdownready to paste into an LLM context
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.