Wellfound Jobs Scraper - Startup Jobs & Salary Data avatar

Wellfound Jobs Scraper - Startup Jobs & Salary Data

Pricing

from $0.70 / 1,000 job listings

Go to Apify Store
Wellfound Jobs Scraper - Startup Jobs & Salary Data

Wellfound Jobs Scraper - Startup Jobs & Salary Data

Scrape startup jobs from Wellfound (AngelList): job title, salary range, equity range, remote policy, experience, full description, company size, stage, YC and investor badges. No login.

Pricing

from $0.70 / 1,000 job listings

Rating

0.0

(0)

Developer

Crikit

Crikit

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

What is Wellfound Jobs Scraper?

Wellfound Jobs Scraper lets you extract startup job listings from Wellfound (formerly AngelList Talent) at scale, helping you build recruiting pipelines, track hiring signals across the startup market, and feed job boards with fresh, structured data. Search by role and city, get back every listing with its salary band, equity band, remote policy and the company behind it.

  • ๐ŸŽฏ Track startup hiring signals: see which startups are actively hiring, growing fast, YC funded or backed by top investors, and pick up on expansion before it hits the news.
  • ๐Ÿ’ฐ Benchmark salary and equity: every listing carries a parsed salary range and equity range as numbers, so you can chart compensation by role, city and company stage without cleaning strings first.
  • ๐Ÿงฒ Build recruiting and sales lists: company name, tagline, size, stage, logo and Wellfound profile URL on every row, ready for a CRM or an outreach sequence.
  • ๐Ÿ“‹ Power a niche job board: full job descriptions in markdown, remote policy, job type and posting date, refreshed on whatever schedule you set.
  • ๐Ÿ” Research a market before you enter it: count how many startups in a city are hiring for a role, and at what pay.

Wellfound has no public jobs API, and its own site stops serving new results after roughly 47 pages per search. Wellfound Jobs Scraper walks that full depth automatically, stops the moment the site starts repeating itself, and deduplicates across every search you queue, so you never pay twice for the same listing.

What data does Wellfound Jobs Scraper extract?

The job

  • ๐Ÿท Job title and Wellfound's own normalised role title (title, primaryRoleTitle)
  • ๐Ÿ”— Direct link to the listing and to the company profile (jobUrl, companyUrl)
  • ๐Ÿ’ฒ Raw compensation string exactly as Wellfound shows it (compensation)
  • ๐Ÿ’ต Parsed salary range with currency (salaryMin, salaryMax, salaryCurrency)
  • ๐Ÿ“ˆ Parsed equity range as percentages (equityMin, equityMax)
  • ๐Ÿ  Remote policy: remote, onsite, or onsite-or-remote, plus work-from-home flexibility (remoteKind, isRemote, wfhFlexible)
  • ๐Ÿ“ Office locations and the countries a remote role is open to (locationNames, acceptedRemoteLocationNames)
  • ๐Ÿ“† Employment type: full-time, contract or internship (jobType)
  • ๐ŸŽ“ Years of experience required, minimum and maximum (yearsExperienceMin, yearsExperienceMax)
  • ๐Ÿ•’ Date the listing went live, as an ISO timestamp (postedAt)
  • ๐Ÿ“ The complete job description in markdown (description)
  • โš™๏ธ Which applicant tracking system the role is syndicated from, for example Ashby, Greenhouse or Lever (atsSource)

The startup behind it

  • ๐Ÿข Company name, slug, id and one-line tagline (companyName, companyTagline)
  • ๐Ÿ‘ฅ Headcount band, for example "11-50 employees" (companySize)
  • ๐Ÿš€ Funding stage: Early, Growth or Scale (companyStage)
  • ๐ŸŸ  Y Combinator funded flag (isYcFunded)
  • ๐Ÿ’ผ Top investors flag and $1B-plus valuation badge (hasTopInvestors, companyBadges)
  • ๐Ÿ”ฅ Actively hiring and growing fast flags (isActivelyHiring, isGrowingFast)
  • โฑ How fast the company replies to applicants, for example "Responds within a day" (responseSpeed)
  • โญ๏ธ Glassdoor rating where Wellfound publishes one (glassdoorRating)
  • ๐Ÿ–ผ Company logo URL (companyLogoUrl)

Provenance on every row

  • ๐Ÿ”Ž The role and location you searched, and what Wellfound actually matched them to (searchRole, searchLocation, matchedRole, matchedLocation)
  • ๐ŸŒ The exact page the row came from (sourceUrl) and when it was scraped (scrapedAt)

How to use Wellfound Jobs Scraper

  1. Click Try for free and open the input form.
  2. Type the roles you want in plain English, one per line, for example software engineer, product manager, data scientist.
  3. Add cities in Locations, one per line, for example new york, san francisco, london. Leave it empty to search every location.
  4. Set Max results to whatever you want to spend, then click Start.
  5. Export to JSON, CSV, Excel or Google Sheets, or pull the dataset straight from the Apify API.

Every role is combined with every location, so three roles and four cities is twelve searches in one run.

Input

{
"roles": ["software engineer", "product manager"],
"locations": ["new york", "san francisco"],
"maxItems": 500,
"includeDescription": true,
"proxyConfiguration": { "useApifyProxy": true }
}

Power users can skip the role and location builder and paste Wellfound URLs directly:

{
"startUrls": [
"https://wellfound.com/role/l/software-engineer/new-york",
"https://wellfound.com/role/r/data-scientist",
"https://wellfound.com/location/london"
],
"maxItems": 1000
}
FieldTypeDefaultWhat it does
rolesarray of strings["software engineer"]Roles to search, in plain English
locationsarray of strings[]Cities to search. Empty means all locations
startUrlsarray of strings[]Wellfound /role/r/, /role/l/ or /location/ URLs
maxItemsinteger200Hard cap on rows. 0 means no limit
includeDescriptionbooleantrueInclude the full job description text
maxPagesPerQueryinteger47How deep to page into one search
proxyConfigurationobjectApify ProxyDatacenter proxy is enough, and it is the cheapest

Output

One row per job listing. Trimmed real record:

{
"jobId": "3336630",
"title": "Senior Software Engineer",
"jobUrl": "https://wellfound.com/company/shelfcycle/jobs/3336630-senior-software-engineer",
"primaryRoleTitle": "Software Engineer",
"jobType": "full-time",
"isRemote": true,
"remoteKind": "onsite or remote",
"locationNames": ["New York City"],
"compensation": "$160k โ€“ $200k โ€ข 0.25% โ€“ 0.5%",
"salaryMin": 160000,
"salaryMax": 200000,
"salaryCurrency": "USD",
"equityMin": 0.25,
"equityMax": 0.5,
"yearsExperienceMin": 5,
"postedAt": "2026-09-01T14:32:48.000Z",
"companyName": "ShelfCycle",
"companyTagline": "Modern OS for chemical distributors",
"companySize": "1-10 employees",
"companyStage": "Early Stage",
"companyBadges": ["Actively Hiring", "Top 10% of responders", "B2B", "Early Stage"],
"isYcFunded": false,
"isActivelyHiring": true,
"responseSpeed": "Top 10% of responders",
"searchRole": "software engineer",
"matchedRole": "Software Engineer",
"matchedLocation": "New York",
"scrapedAt": "2026-09-04T13:36:54.659Z"
}

The dataset ships with two ready-made table views. Overview gives you job title, company, location, remote policy, salary band, equity band, company size, posting date and link. Companies gives you the startup side on its own: tagline, size, stage, YC and investor flags, response speed and Glassdoor rating.

How much does it cost to scrape Wellfound?

One flat price of $0.70 per 1,000 job listings. No actor start fee, no per-page fee, no surcharge for the full job description, no separate charge for company data.

Job listingsCost
1,000$0.70
10,000$7.00
100,000$70.00

Rows are deduplicated by job id across every search in a run, so overlapping queries such as "software engineer" and "backend engineer" in the same city never bill you twice for the same listing. Other Wellfound scrapers on the Store charge between $0.99 and $5.00 per 1,000, and several add a per-run start fee on top.

Measured coverage

Measured over 832 job rows across 15 test runs on 2026-09-04, spanning six roles and seven cities:

FieldCoverageNote
title, companyName, jobUrl, postedAt, jobType, remoteKind100%Always present
companyLogoUrl, primaryRoleTitle100%Always present
description100%When includeDescription is on
companySize99%
companyTagline97%
companyBadges93%Empty when a company has earned no badges
locationNames87%Empty on remote-only roles
compensation81%Wellfound shows pay on roughly four listings in five
salaryMin, salaryMax, salaryCurrency76%Parsed from compensation where a salary is quoted
companyStage70%
atsSource56%Only for roles syndicated from an ATS
yearsExperienceMin41%Only when the company set it
equityMin, equityMax26%Only when the listing quotes equity
responseSpeed24%Only for companies with enough application history
glassdoorRating9%Only where Wellfound surfaces a Glassdoor score

Throughput measured on the same date: 1,249 unique listings from a single role search in 31 seconds, zero duplicates.

Limits

  • Roughly 1,300 listings per search. Wellfound stops serving new results after about 47 pages and then quietly repeats page 1. The scraper detects that and stops rather than billing you for duplicates. For more volume, split the search: add cities, or use narrower role names.
  • Keyword search is not supported. wellfound.com/jobs?q=... renders its results in the browser and carries no data in the page source, so it cannot be scraped this way. Use role names and cities instead, which is how Wellfound's own indexed pages are organised.
  • Unrecognised role names return a generic list. Wellfound answers an unknown role with a general job feed instead of an error. When that happens the run logs a warning and every affected row carries matchedRole: null, so you can filter them out.
  • Applicant counts and recruiter contact details are not available. Those sit behind a Wellfound login, and this scraper uses no credentials of any kind.
  • Company pages are not scraped. Only the company data Wellfound includes in its search results, which is the block listed above.

FAQ

Wellfound Jobs Scraper reads only public job listing pages that Wellfound publishes for search engines. It uses no login, no cookies and no credentials, and it collects no personal data about candidates. Job listings and company profiles are business information. You are responsible for how you use the data you collect, including compliance with Wellfound's terms and with any applicable data protection law in your jurisdiction.

Do I need a Wellfound account?

No. The scraper never signs in and never asks you for credentials.

Can I use Wellfound Jobs Scraper as an API?

Yes. Every actor on Apify is an API endpoint. Start a run and collect the dataset with a single HTTP call, or use the official clients. See the Apify API docs.

Can I use this in Python?

Yes, with apify-client:

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("YOUR_USERNAME/wellfound-jobs-scraper").call(run_input={
"roles": ["software engineer"],
"locations": ["new york"],
"maxItems": 500,
})
for job in client.dataset(run["defaultDatasetId"]).iterate_items():
print(job["title"], job["companyName"], job["salaryMin"], job["salaryMax"])

Can I integrate Wellfound Jobs Scraper with other apps?

Yes. Apify has native integrations for Zapier, Make, Slack, Google Sheets, Google Drive, GitHub and Airtable, plus generic webhooks that fire when a run finishes. Point a webhook at your own service and treat the scraper as a data feed.

How do I schedule Wellfound Jobs Scraper to run automatically?

Use Apify Schedules. Daily at 7am is a good cadence for hiring signals: new listings show up with a fresh postedAt, so you can diff against yesterday's dataset to get only what changed.

Why did I get fewer results than expected?

Three usual causes. First, maxItems is doing its job. Second, the role and city combination is genuinely thin: "software engineer in Reykjavik" returns nothing, and the run tells you so in a single row with noResults: true. Third, you hit the roughly 1,300 listings per search ceiling described under Limits. Check the run log, which states how many new rows each page contributed.

Why is the salary missing on some rows?

Because Wellfound does not have it. Roughly one listing in five quotes no pay at all. Rows carry compensation: null in that case rather than a guess.

What does "onsite or remote" mean in remoteKind?

It is Wellfound's own three-way classification, passed through unchanged: remote, onsite, or onsite or remote for roles the company will fill either way. wfhFlexible is a separate flag for onsite roles that allow work-from-home days.

Can I get a field that is not listed?

If Wellfound publishes it on the search pages, probably yes. Open an issue on the actor page and describe the field.

What happens if Wellfound blocks the scraper mid-run?

The run keeps whatever it has already collected, rotates to a fresh proxy exit address, and retries up to four times per page. If a search still cannot be read, that search is skipped and the rest of the run continues. Runs finish as succeeded with an explanatory row rather than failing, so a scheduled pipeline does not break.

You might also like

  • Indeed Jobs Scraper for mainstream job market coverage
  • ATS Job Boards Search Scraper for Greenhouse, Ashby and Lever boards directly
  • Dice Tech Jobs Search Scraper for US tech contract and permanent roles
  • Workday Jobs Search Scraper for enterprise career sites
  • Glassdoor Company Scraper for employer ratings and reviews

Changelog

0.1 (2026-09-04) - First release. Role, role plus city and city-wide search, salary and equity parsing across currencies, company badges, deduplication across searches, and automatic end-of-results detection.