Wellfound Jobs Scraper (Startup Jobs, Salary, Equity)
Pricing
$0.50 / 1,000 job listings
Wellfound Jobs Scraper (Startup Jobs, Salary, Equity)
Wellfound (AngelList) startup jobs by role and city or remote: title, company, stage, size, badges, salary, equity, remote, locations, description, date. No proxy needed. $0.50 per 1,000.
Pricing
$0.50 / 1,000 job listings
Rating
0.0
(0)
Developer
Prague Data Lab
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Wellfound Jobs Scraper — startup jobs with salary, equity and company stage
Scrape Wellfound startup jobs (ex-AngelList Talent) by role and city or remote, and get one clean row per job: title, company, company stage, size and badges (Top Investors, YC Funded…), salary range, equity range, job type, remote policy, locations, years of experience, full description and posting date. $0.50 per 1,000 jobs. No browser, no login, no proxy needed.
Quick start
Minimal input:
{"roles": ["software-engineer"],"location": ["san-francisco"],"maxResults": 30}
Several roles and cities, filters, job pages for company website and HTML description:
{"roles": ["software-engineer", "product-manager"],"location": ["london", "berlin"],"jobType": "fulltime","salaryMin": 80000,"enrichDetail": true,"maxResults": 500}
Remote jobs: {"roles": ["data-scientist"], "remote": true}. Or paste search URLs: {"searchUrls": ["https://wellfound.com/role/l/product-manager/berlin"]}.
Compatible with the input of blackfalcondata/wellfound-scraper, so you can switch by changing only the Actor ID: query, roles, searchUrls, startUrls, location, excludeLocations, remote, jobType, experienceLevel, salaryMin, salaryMax, equityMin, visaSponsorship, includeCompanies, excludeCompanies, fromDate, toDate, maxAgeMinutes, maxResults, maxPages, enrichDetail, descriptionFormat, descriptionMaxLength, compact, excludeEmptyFields, proxyConfiguration work as they are. Its output field names are kept too (id, title, detailUrl, companyName, companySize, companyStage, companyBadges, compensation, salaryMin, salaryMax, salaryEquityMin, hasEquity, jobType, locationNames, remote, postedAt, atsSource…). Notification fields (Telegram, Slack, Discord, WhatsApp, webhooks), radius search, incremental mode and company-only mode are ignored with a warning; use Apify schedules and integrations instead. enrichEmails is refused: this Actor returns company data only, never people's contact details.
Sample output row
{"id": "4787364","title": "Software Engineer","slug": "software-engineer","detailUrl": "https://wellfound.com/jobs/4787364-software-engineer","companyName": "Chalk","companyId": "8887646","companySlug": "chalk-ai","companyUrl": "https://wellfound.com/company/chalk-ai","companyLogo": "https://photos.wellfound.com/startups/i/8887646-f35c5c1d88595ca051fddbec6e486edd-medium_jpg.jpg?buster=1652299292","companyTagline": "Building machine learning infrastructure to answer the world’s hardest questions","companySize": "51-200","companyStage": "Early Stage","companyBadges": ["Actively Hiring","Top 10% of responders","Responds within a week","B2B","Top Investors"],"companyWebsite": null,"industry": null,"compensation": "$170k – $250k","salaryMin": 170000,"salaryMax": 250000,"salaryCurrency": "USD","salaryPeriod": "YEAR","salaryEquityMin": null,"salaryEquityMax": null,"hasEquity": null,"jobType": "fulltime","primaryRoleTitle": "Software Engineer","locationNames": ["New York City","San Francisco"],"remote": false,"remoteKind": "ONSITE","wfhFlexible": false,"acceptedRemoteLocations": [],"locations": null,"yearsExperienceMin": 4,"yearsExperienceMax": null,"description": "About Chalk\n\nChalk is building the data platform that powers the future of machine learning applications. …","descriptionText": "About Chalk\n\nChalk is building the data platform that powers the future of machine learning applications. …","descriptionMarkdown": "**About Chalk**\n\nChalk is building the data platform that powers the future of machine learning applications. …","descriptionHtml": null,"postedAt": "2026-09-30T23:42:54.000Z","atsSource": null,"autoPosted": false,"searchRole": "software-engineer","searchLocation": "san-francisco","searchUrl": "https://wellfound.com/role/l/software-engineer/san-francisco","remoteSearch": false,"scrapedAt": "2026-10-23T05:26:02.648Z"}
With enrichDetail the row also gets companyWebsite, industry, descriptionHtml and locations ([{"city": "San Francisco", "region": "California", "country": "United States"}]).
Input
| Field | Type | Description |
|---|---|---|
roles | array | Wellfound role slugs, one search per role (and per location). Examples: software-engineer, product-manager, data-scientist, product-designer, growth-marketer, sales-manager. |
location | array | Wellfound location slugs, e.g. san-francisco, new-york, london, berlin. Each role × location is one search. Leave empty for all locations. |
remote | boolean | Search the remote job pages instead of a city. Locations are then ignored. |
query | string | Free text searched as the Wellfound role category with the same name ("software engineer" → software-engineer). Field name of blackfalcondata/wellfound-scraper. |
searchUrls | array | Wellfound search URLs pasted from the browser, e.g. https://wellfound.com/role/l/product-manager/berlin or https://wellfound.com/role/r/data-scientist. When set, roles, locations and remote are ignored. startUrls is accepted too. |
maxResults | integer | Maximum number of jobs saved (you pay per job). 0 = no limit (capped at 20,000). maxItems is accepted too. |
maxPages | integer | Safety bound: search pages read per role/location (about 40 jobs per page). |
jobType | string | Keep only this employment type. |
experienceLevel | string | Minimum years of experience required: entry 0–2, mid 2–5, senior 5–8, staff 8+. Jobs without the information are kept. |
salaryMin | integer | Drop jobs whose top of range is below this yearly amount (in the job's currency). Jobs without salary are dropped when set. |
salaryMax | integer | Drop jobs whose bottom of range is above this yearly amount. |
equityMin | number | Drop jobs whose maximum equity grant is below this percent. Jobs without equity data are dropped when set. |
visaSponsorship | boolean | true = only jobs whose description offers visa sponsorship; false = drop jobs that refuse it. Leave unset for no filter. |
includeCompanies | array | Keep only jobs from companies whose name or Wellfound slug contains one of these (case-insensitive). |
excludeCompanies | array | Drop jobs from companies whose name or slug contains one of these. |
excludeLocations | array | Drop jobs whose locations contain one of these words, e.g. India. |
fromDate | string | Only jobs posted on or after this date (YYYY-MM-DD or ISO 8601). |
toDate | string | Only jobs posted on or before this date (YYYY-MM-DD or ISO 8601). |
maxAgeMinutes | integer | Only jobs posted within the last N minutes. Handy for scheduled runs. |
enrichDetail | boolean | Also open each job page for the company website, industry, exact salary, HTML description and structured locations. Slower (about 1.5 s per job), same price. |
descriptionFormat | string | all keeps descriptionText, descriptionMarkdown and descriptionHtml (HTML needs job pages); the other values keep only description in that format. |
descriptionMaxLength | integer | Truncate descriptions to this many characters. 0 = no truncation. |
compact | boolean | Only id, title, companyName, detailUrl, locationNames, remote, compensation and postedAt. For AI agents. |
excludeEmptyFields | boolean | Remove null, empty-string and empty-array fields from each row. |
proxyConfiguration | object | Not needed: Wellfound answers from Apify's datacenter servers. Set a proxy only if your runs get blocked. |
maxItems | integer | Alias of maxResults. |
Output fields
| Field | Description |
|---|---|
id | Wellfound job id (deduplication key). |
title | Job title. |
slug | Job slug in the Wellfound URL. |
detailUrl | Job page on Wellfound. |
companyName | Company name. |
companyId | Wellfound company id. |
companySlug | Company slug on Wellfound. |
companyUrl | Company page on Wellfound. |
companyLogo | Company logo URL. |
companyTagline | One-line company pitch. |
companySize | Employee range: 1-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5000+. |
companyStage | Stage badge: Early Stage, Growth Stage, Scale Stage, Public Stage. |
companyBadges | Other company badges, e.g. Top Investors, YC Funded, B2B, Growing fast, Valuation $1B+, Responds within a week. |
companyWebsite | Company website (with enrichDetail). |
industry | Company industry (with enrichDetail). |
compensation | Compensation as shown on Wellfound, e.g. "$120k – $160k • 0.5% – 2.0%". |
salaryMin | Bottom of the salary range, yearly, in salaryCurrency. |
salaryMax | Top of the salary range, yearly, in salaryCurrency. |
salaryCurrency | ISO currency code: USD, EUR, GBP, CAD, INR… |
salaryPeriod | YEAR (Wellfound shows yearly salaries). |
salaryEquityMin | Bottom of the equity range, percent. |
salaryEquityMax | Top of the equity range, percent. |
hasEquity | true when equity is offered, false for "No equity", null when not stated. |
jobType | fulltime, parttime, contract, internship or cofounder. |
primaryRoleTitle | Wellfound role category, e.g. Software Engineer. |
locationNames | Office locations. |
remote | true when remote work is possible. |
remoteKind | ONSITE, REMOTE or ONSITE_OR_REMOTE. |
wfhFlexible | Flexible work-from-home days. |
acceptedRemoteLocations | Countries or regions accepted for remote hires. |
locations | Structured locations (city, region, country), with enrichDetail. |
yearsExperienceMin | Minimum years of experience required. |
yearsExperienceMax | Maximum years of experience. |
description | Job description in the chosen descriptionFormat (plain text for all). |
descriptionText | Description as plain text (descriptionFormat all). |
descriptionMarkdown | Description as Markdown (descriptionFormat all). |
descriptionHtml | Description as HTML (descriptionFormat all, with enrichDetail). |
postedAt | When the job went live, ISO 8601 UTC. |
atsSource | Applicant tracking system the job is synced from (greenhouse, lever, ashby…), null when posted on Wellfound. |
autoPosted | true when Wellfound imported the job automatically. |
searchRole | Role slug of the search that found the job. |
searchLocation | Location slug of the search, null for all locations or remote. |
searchUrl | Search page that listed the job. |
remoteSearch | true when found by a remote search. |
scrapedAt | When the row was saved, ISO 8601 UTC. |
Pricing
Pay per event: $0.0005 per job saved ($0.50 per 1,000), the same with or without enrichDetail. Duplicates and filtered-out jobs are not saved and not charged. Set maxResults (or a maximum cost per run) to control the total. No platform usage is added on top.
Limits
- Wellfound search pages list companies with their highlighted jobs (about 40 jobs per page, up to the page count Wellfound shows). A company with many openings may show only its first jobs in a search; use narrower roles or locations to reach more.
- A free-text
queryis searched as the Wellfound role category with the same name. If no such category exists, the run says so; use a role slug instead. - Requests are spaced (about 1.5 s) and sent one at a time. If Wellfound answers with a challenge page, the run stops cleanly with what it has and says so in the status message; retry later or set a proxy.
- Jobs and company descriptions come from Wellfound and belong to the companies that posted them. No recruiter or founder profiles are collected.