vøiddo guidesAll Actors on Apify

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.

FieldLabelTypeExample
titleTitletextSoftware Engineer
companyCompanytextCheck
locationsLocationslist["New York"]
workplaceWorkplacetextonsite
salaryMinSalary fromnumber142000
salaryMaxSalary tonumber187000
salaryCurrencyCurrencytextUSD
equityMinEquity from %number
companyStageStagetextGrowth Stage
postedAtPosteddate2026-10-15T00:02:06Z
urlJobURLhttps://wellfound.com/jobs/4844846-software-engineer
jobIdnumber4844846
searchUrltexthttps://wellfound.com/role/l/software-engineer/new-york
roletextSoftware Engineer
jobTypetextfull-time
remotetrue/falsefalse
wfhFlexibletrue/falsefalse
compensationtext$142k - $187k
salaryPeriodtextyear
atstextAshby
descriptionTexttextAbout Check Payroll is broken. It's still running on decades-old i...
companySlugtextcheckhq
companyUrltexthttps://wellfound.com/company/checkhq
companyTaglinetextCheck’s mission is to make paying people simple
companySizetext51-200
companyBadgeslist["Actively Hiring", "B2B", "Growth Stage"]
companyLogotexthttps://photos.wellfound.com/startups/i/8170097-670b14dbd6d668e33d4...
datePostedtext2026-10-15
industrytextSaaS, Enterprise Software, B2B, Payments, Hr Tech, and Fin Tech
benefitstextHealth insurance - We provide full competitive medical, dental, and...
visaSponsorshiptextNot Available
relocationtextNot Allowed
companyWebsitetexthttps://checkhq.com/
regionslist["New York"]
countrieslist["United States"]
scrapedAttext2026-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 fieldTypeWhat it does
rolesarrayJob roles as Wellfound names them, such as Software Engineer, Product Manager, Data Scientist, Designer, Sales Manager or Marketing Manager (spaces or dashes both work).
locationsarrayOptional cities or countries as Wellfound names them, such as New York, San Francisco, London, Berlin, Bangalore or India.
searchUrlsarrayOptional 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...
includeDetailsbooleanAdds 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...
maxItemsintegerThe 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

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