Wellfound Jobs Scraper: how to get Salary, Equity, Stage as JSON/CSV (API, Python, no code)
Scrape startup jobs from Wellfound (AngelList Talent) by role and location, remote jobs or any search page: title, salary and equity ranges, experience, job type, remote policy, description, and the startup's size, stage, pitch and badges. This guide shows the output fields, a working input, and
Python, JavaScript and cURL code for the Actor v0iddo/wellfound-jobs-scraper on Apify.
Open Wellfound Jobs Scraper on Apify
What data you get
One row per result. Every row can be downloaded as JSON, CSV, Excel or HTML, or read through the API.
| Field | Label | Type | Example |
|---|---|---|---|
title | Title | text | Software Engineer |
company | Company | text | Check |
locations | Locations | list | ["New York"] |
workplace | Workplace | text | onsite |
salaryMin | Salary from | number | 142000 |
salaryMax | Salary to | number | 187000 |
salaryCurrency | Currency | text | USD |
equityMin | Equity from % | number | |
companyStage | Stage | text | Growth Stage |
postedAt | Posted | date | 2026-10-15T00:02:06Z |
url | Job | URL | https://wellfound.com/jobs/4844846-software-engineer |
jobId | number | 4844846 | |
searchUrl | text | https://wellfound.com/role/l/software-engineer/new-york | |
role | text | Software Engineer | |
jobType | text | full-time | |
remote | true/false | false | |
wfhFlexible | true/false | false | |
compensation | text | $142k - $187k | |
salaryPeriod | text | year | |
ats | text | Ashby | |
descriptionText | text | About Check Payroll is broken. It's still running on decades-old i... | |
companySlug | text | checkhq | |
companyUrl | text | https://wellfound.com/company/checkhq | |
companyTagline | text | Check’s mission is to make paying people simple | |
companySize | text | 51-200 | |
companyBadges | list | ["Actively Hiring", "B2B", "Growth Stage"] | |
companyLogo | text | https://photos.wellfound.com/startups/i/8170097-670b14dbd6d668e33d4... | |
datePosted | text | 2026-10-15 | |
industry | text | SaaS, Enterprise Software, B2B, Payments, Hr Tech, and Fin Tech | |
benefits | text | Health insurance - We provide full competitive medical, dental, and... | |
visaSponsorship | text | Not Available | |
relocation | text | Not Allowed | |
companyWebsite | text | https://checkhq.com/ | |
regions | list | ["New York"] | |
countries | list | ["United States"] | |
scrapedAt | text | 2026-10-28T01:35:58Z |
Input example
This is the input that is pre-filled on the Actor page. Change the values for your own run.
{
"roles": [
"Software Engineer"
],
"locations": [
"New York"
],
"includeDetails": true,
"maxItems": 20
}
| Input field | Type | What it does |
|---|---|---|
roles | array | Job roles as Wellfound names them, such as Software Engineer, Product Manager, Data Scientist, Designer, Sales Manager or Marketing Manager (spaces or dashes both work). |
locations | array | Optional cities or countries as Wellfound names them, such as New York, San Francisco, London, Berlin, Bangalore or India. |
searchUrls | array | Optional links to Wellfound job search pages, for example https://wellfound.com/role/l/software-engineer/new-york, https://wellfound.com/role/r/data-scientist or https... |
includeDetails | boolean | Adds the exact posting date, salary as numbers with its period, benefits, industry, visa sponsorship, relocation, the startup's website and every location with its reg... |
maxItems | integer | The run stops after this many result rows. |
Output sample
Real rows from a run of the Actor. Fields that name people are left out of the sample.
[
{
"jobId": 4844846,
"searchUrl": "https://wellfound.com/role/l/software-engineer/new-york",
"title": "Software Engineer",
"role": "Software Engineer",
"jobType": "full-time",
"locations": [
"New York"
],
"remote": false,
"workplace": "onsite",
"wfhFlexible": false,
"compensation": "$142k - $187k",
"salaryMin": 142000,
"salaryMax": 187000,
"salaryCurrency": "USD",
"salaryPeriod": "year",
"postedAt": "2026-10-15T00:02:06Z",
"ats": "Ashby",
"descriptionText": "About Check\n\nPayroll is broken. It's still running on decades-old infrastructure. We're rebuilding it.\n\nWe don't run payroll ourselves -...",
"company": "Check",
"companySlug": "checkhq",
"companyUrl": "https://wellfound.com/company/checkhq",
"companyTagline": "Check’s mission is to make paying people simple",
"companySize": "51-200",
"companyStage": "Growth Stage",
"companyBadges": [
"Actively Hiring",
"B2B",
"Growth Stage"
],
"companyLogo": "https://photos.wellfound.com/startups/i/8170097-670b14dbd6d668e33d45382818a7008d-medium_jpg.jpg?buster=1778954896",
"datePosted": "2026-10-15",
"industry": "SaaS, Enterprise Software, B2B, Payments, Hr Tech, and Fin Tech",
"benefits": "Health insurance - We provide full competitive medical, dental, and vision coverage, with options for 100% company-paid coverage. Generou...",
"visaSponsorship": "Not Available",
"relocation": "Not Allowed",
"companyWebsite": "https://checkhq.com/",
"regions": [
"New York"
],
"countries": [
"United States"
],
"url": "https://wellfound.com/jobs/4844846-software-engineer",
"scrapedAt": "2026-10-28T01:35:58Z"
}
]
Code: Python, JavaScript and cURL
Get your API token in Apify Console under Settings, then Integrations. The Actor id is v0iddo/wellfound-jobs-scraper.
Python (apify-client)
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run_input = {'roles': ['Software Engineer'],
'locations': ['New York'],
'includeDetails': True,
'maxItems': 20}
run = client.actor("v0iddo/wellfound-jobs-scraper").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)
JavaScript (apify-client)
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const input = {
"roles": [
"Software Engineer"
],
"locations": [
"New York"
],
"includeDetails": true,
"maxItems": 20
};
const run = await client.actor('v0iddo/wellfound-jobs-scraper').call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
cURL
curl -X POST "https://api.apify.com/v2/acts/v0iddo~wellfound-jobs-scraper/run-sync-get-dataset-items" \
-H "Authorization: Bearer YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"roles": ["Software Engineer"], "locations": ["New York"], "includeDetails": true, "maxItems": 20}'
Price
$0.50 per 1,000 results. You pay per result row. There is no separate charge per run. Higher Apify plans pay less per result, down to $0.35 per 1,000. See the pricing tab for your plan. A new Apify account gets $5 of platform credit every month.
Good to know
- Each role is searched in each location; jobs are unique by ID across the run. A search page lists 20 startups with up to three of their matching jobs each, the way Wellfound shows them; a startup...
- salaryMin, salaryMax and salaryCurrency come from the compensation text (a range such as $142k to $187k); equityMin and equityMax are percent, and equityOffered is false where the posting says no...
- workplace is remote, onsite or onsite or remote, as the posting states it (or as its places say: a job that lists Remote or accepts remote places is open to remote); wfhFlexible marks onsite jobs...
- A role or location Wellfound does not know is named in the log and skipped; a search is never widened to other places.
FAQ
What data does the Wellfound Jobs Scraper return?
Each result is one row in an Apify dataset. Fields include title, company, locations, workplace, salaryMin, salaryMax, salaryCurrency, equityMin, and more. The table above shows every field with an example value.
How do I use the Wellfound Jobs Scraper from Python?
Install the apify-client package, create a client with your Apify API token, call the Actor v0iddo/wellfound-jobs-scraper with an input like the one above, and read the rows from the run's dataset. The Python snippet above does exactly that.
Can I use it without writing code?
Yes. Open the Actor page on Apify, fill in the input form (an example is already filled in), press Start, and download the results as JSON, CSV, Excel or HTML. You can also schedule runs there.
How much does it cost?
$0.50 per 1,000 results. You pay per result row. There is no separate charge per run. Higher Apify plans pay less per result, down to $0.35 per 1,000. A new Apify account gets $5 of platform credit every month.
How do I limit the number of results?
Set the maxItems input field to the number of results you need; the run stops there, so it also caps the cost of one run. You can also set a maximum cost for a run in the run options on Apify, and the run stops when it is reached.
Can I send the results to Google Sheets, Make, Zapier or n8n?
Yes. Apify datasets connect to Google Sheets, Slack, Make, Zapier and n8n, and a webhook can call your own service when a run finishes. You can also export the dataset as JSON, CSV or Excel.
Open Wellfound Jobs Scraper on Apify
Related guides
- Hirist Jobs Scraper: Scrape India tech jobs from hirist.tech: title, company, locations, experience in years, salary in lakhs wh...
- Instahyre Jobs Scraper: Scrape India jobs from Instahyre: title, company, locations, skills, experience in years, posting date, emp...
- Pracuj.pl Scraper: Scrape Polish job postings from pracuj.pl: title, company, workplaces and address, salary per contract type...