Wellfound Jobs Scraper — Salary, Equity & ATS Data
Pricing
from $1.50 / 1,000 job listing scrapeds
Wellfound Jobs Scraper — Salary, Equity & ATS Data
Wellfound (AngelList) startup job listings with salary and equity ranges parsed into numbers, plus the applicant tracking system each company runs.
Pricing
from $1.50 / 1,000 job listing scrapeds
Rating
0.0
(0)
Developer
Kaan Salgır
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
This Wellfound scraper (formerly AngelList Talent) exports startup job listings with salary and equity ranges parsed into numbers, plus the applicant tracking system each company runs.
No account, no API key.
Wellfound salary data you can actually sort
Wellfound publishes compensation as one display string:
$130k – $210k • 0.05% – 0.2%
A scraper that hands that back untouched has given you a string you cannot sort, filter or average. This one splits it:
| Field | Value |
|---|---|
salaryMin | 130000 |
salaryMax | 210000 |
salaryCurrency | USD |
equityMin | 0.05 |
equityMax | 0.2 |
offersEquity | true |
• No equity sets offersEquity: false — a stated fact, kept distinct from a listing that simply says nothing. USD, EUR, GBP, INR and JPY are recognised, and inverted ranges are corrected.
On a single San Francisco engineering search that yields a median base of $160,000 across a range of $80k–$500k.
Startup jobs data: which ATS each company uses
Every listing carries atsSource: Greenhouse, Ashby, Lever and so on, normalised from Wellfound's internal identifier. On one San Francisco engineering search that split 26 Ashby to 19 Greenhouse.
If you sell into recruiting, that is a qualified lead list. If you are studying the market, it is adoption data nobody publishes.
What you get
Per listing: title · url · jobType · remote · locationNames · remoteLocationNames · primaryRoleTitle · compensationRaw · salaryMin · salaryMax · salaryCurrency · equityMin · equityMax · offersEquity · yearsExperienceMin · yearsExperienceMax · atsSource · autoPosted · postedAt · description
Company fields on every job row, with no second request: companyName · companySlug · companySize · companyTagline · companyId
Turn on Also emit company rows for one deduplicated row per company, including companyBadges and companyLogoUrl.
How to use this Wellfound scraper
{"roles": ["software-engineer", "product-manager"],"locations": ["san-francisco", "new-york", "remote"],"maxJobs": 2000,"maxPagesPerSearch": 10}
Roles and locations are crossed: 2 roles across 3 locations is 6 searches. Leave locations empty to search each role worldwide. Plain titles (Software Engineer) are slugified for you, and you can pass Wellfound role URLs directly as startUrls.
Listings that appear in more than one search are returned once — maxJobs counts unique listings, not requests.
FAQ
Do I need a Wellfound or AngelList account? No. This reads public role landing pages.
Can it scrape recruiter or candidate contact details?
No. Wellfound's robots.txt disallows /u/ — the member profile space — and /search, and this scraper requests neither. No candidate or recruiter names, emails or profiles are collected. Job descriptions pass through as the employer published them.
How many listings does a search return?
Roughly 35–50 per page, and it pages until it hits your maxJobs or maxPagesPerSearch cap.
Why do some listings have no salary?
Because the employer did not publish one. About 3 in 100 listings omit compensation entirely; those come back with null salary fields and the raw string preserved in compensationRaw.
Does it scrape company detail pages?
No — /company/* sits behind bot protection. Everything reported about a company comes from the listing feed itself, which is why company rows cost no extra requests.
Which locations can I use?
Any slug Wellfound uses, for example san-francisco, new-york, london, remote, berlin.
Is scraping Wellfound legal? It reads publicly accessible listing pages, honours robots.txt, and collects no personal data. How you use the output is your responsibility.
Notes on reliability
Wellfound returns 403 to unproxied bulk traffic. Use Apify Proxy, which is the default, and leave the conservative request rate alone unless you see clean results at a higher one. Blocked requests are retried on a fresh session automatically.
Pricing
Pay per event: one charge per job listing, one per company row (only when you ask for company rows). Nothing is charged for compute time, retries or failed requests.
Development
npm installnpm test # offline regression tests against a saved pagenpm start # local run; put an INPUT.json in storage/key_value_stores/default/