Wellfound Jobs Scraper (Startup Jobs, Salary, Equity) avatar

Wellfound Jobs Scraper (Startup Jobs, Salary, Equity)

Pricing

$0.50 / 1,000 job listings

Go to Apify Store
Wellfound Jobs Scraper (Startup Jobs, Salary, Equity)

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

Prague Data Lab

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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

FieldTypeDescription
rolesarrayWellfound role slugs, one search per role (and per location). Examples: software-engineer, product-manager, data-scientist, product-designer, growth-marketer, sales-manager.
locationarrayWellfound location slugs, e.g. san-francisco, new-york, london, berlin. Each role × location is one search. Leave empty for all locations.
remotebooleanSearch the remote job pages instead of a city. Locations are then ignored.
querystringFree text searched as the Wellfound role category with the same name ("software engineer" → software-engineer). Field name of blackfalcondata/wellfound-scraper.
searchUrlsarrayWellfound 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.
maxResultsintegerMaximum number of jobs saved (you pay per job). 0 = no limit (capped at 20,000). maxItems is accepted too.
maxPagesintegerSafety bound: search pages read per role/location (about 40 jobs per page).
jobTypestringKeep only this employment type.
experienceLevelstringMinimum years of experience required: entry 0–2, mid 2–5, senior 5–8, staff 8+. Jobs without the information are kept.
salaryMinintegerDrop jobs whose top of range is below this yearly amount (in the job's currency). Jobs without salary are dropped when set.
salaryMaxintegerDrop jobs whose bottom of range is above this yearly amount.
equityMinnumberDrop jobs whose maximum equity grant is below this percent. Jobs without equity data are dropped when set.
visaSponsorshipbooleantrue = only jobs whose description offers visa sponsorship; false = drop jobs that refuse it. Leave unset for no filter.
includeCompaniesarrayKeep only jobs from companies whose name or Wellfound slug contains one of these (case-insensitive).
excludeCompaniesarrayDrop jobs from companies whose name or slug contains one of these.
excludeLocationsarrayDrop jobs whose locations contain one of these words, e.g. India.
fromDatestringOnly jobs posted on or after this date (YYYY-MM-DD or ISO 8601).
toDatestringOnly jobs posted on or before this date (YYYY-MM-DD or ISO 8601).
maxAgeMinutesintegerOnly jobs posted within the last N minutes. Handy for scheduled runs.
enrichDetailbooleanAlso 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.
descriptionFormatstringall keeps descriptionText, descriptionMarkdown and descriptionHtml (HTML needs job pages); the other values keep only description in that format.
descriptionMaxLengthintegerTruncate descriptions to this many characters. 0 = no truncation.
compactbooleanOnly id, title, companyName, detailUrl, locationNames, remote, compensation and postedAt. For AI agents.
excludeEmptyFieldsbooleanRemove null, empty-string and empty-array fields from each row.
proxyConfigurationobjectNot needed: Wellfound answers from Apify's datacenter servers. Set a proxy only if your runs get blocked.
maxItemsintegerAlias of maxResults.

Output fields

FieldDescription
idWellfound job id (deduplication key).
titleJob title.
slugJob slug in the Wellfound URL.
detailUrlJob page on Wellfound.
companyNameCompany name.
companyIdWellfound company id.
companySlugCompany slug on Wellfound.
companyUrlCompany page on Wellfound.
companyLogoCompany logo URL.
companyTaglineOne-line company pitch.
companySizeEmployee range: 1-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5000+.
companyStageStage badge: Early Stage, Growth Stage, Scale Stage, Public Stage.
companyBadgesOther company badges, e.g. Top Investors, YC Funded, B2B, Growing fast, Valuation $1B+, Responds within a week.
companyWebsiteCompany website (with enrichDetail).
industryCompany industry (with enrichDetail).
compensationCompensation as shown on Wellfound, e.g. "$120k – $160k • 0.5% – 2.0%".
salaryMinBottom of the salary range, yearly, in salaryCurrency.
salaryMaxTop of the salary range, yearly, in salaryCurrency.
salaryCurrencyISO currency code: USD, EUR, GBP, CAD, INR…
salaryPeriodYEAR (Wellfound shows yearly salaries).
salaryEquityMinBottom of the equity range, percent.
salaryEquityMaxTop of the equity range, percent.
hasEquitytrue when equity is offered, false for "No equity", null when not stated.
jobTypefulltime, parttime, contract, internship or cofounder.
primaryRoleTitleWellfound role category, e.g. Software Engineer.
locationNamesOffice locations.
remotetrue when remote work is possible.
remoteKindONSITE, REMOTE or ONSITE_OR_REMOTE.
wfhFlexibleFlexible work-from-home days.
acceptedRemoteLocationsCountries or regions accepted for remote hires.
locationsStructured locations (city, region, country), with enrichDetail.
yearsExperienceMinMinimum years of experience required.
yearsExperienceMaxMaximum years of experience.
descriptionJob description in the chosen descriptionFormat (plain text for all).
descriptionTextDescription as plain text (descriptionFormat all).
descriptionMarkdownDescription as Markdown (descriptionFormat all).
descriptionHtmlDescription as HTML (descriptionFormat all, with enrichDetail).
postedAtWhen the job went live, ISO 8601 UTC.
atsSourceApplicant tracking system the job is synced from (greenhouse, lever, ashby…), null when posted on Wellfound.
autoPostedtrue when Wellfound imported the job automatically.
searchRoleRole slug of the search that found the job.
searchLocationLocation slug of the search, null for all locations or remote.
searchUrlSearch page that listed the job.
remoteSearchtrue when found by a remote search.
scrapedAtWhen 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 query is 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.