Wellfound Startup Jobs Scraper
Pricing
from $3.25 / 1,000 results
Wellfound Startup Jobs Scraper
Collect Wellfound (AngelList) startup jobs - salary, equity, remote.
Pricing
from $3.25 / 1,000 results
Rating
0.0
(0)
Developer
String
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Wellfound Jobs Scraper — startup salary and equity
The Wellfound Jobs Scraper collects startup job listings from Wellfound (formerly AngelList Talent). It returns the salary range and the equity range as numbers, plus the company, its headcount bucket, the location, a remote flag and a direct link to the posting.
To scrape Wellfound startup jobs, put one or more role keywords in queries and set location to a
city or to "Remote". Few job boards publish equity at all, which is why equityMin and
equityMax are the fields this Actor exists for. No Wellfound account, login or cookies are used;
this Actor reads what a logged-out visitor sees. Around 37 jobs per role, at a measured median
of 0.7 seconds per request.
What it returns
| Field | Type | Notes |
|---|---|---|
jobId | string | Wellfound's own listing ID — stable, use it to de-duplicate |
title | string | |
company | string | The startup's name |
companySlug | string | Its Wellfound handle, e.g. "stepsecurity" |
salaryMin, salaryMax | number | Numbers, e.g. 135000 and 175000 — not the "$135k – $175k" string |
currency | string | ISO code read from the posting's own figure, e.g. "USD", "GBP", "INR" |
equityMin, equityMax | number | Equity percentages, e.g. 0.05 and 0.25. 0 and 0 when the listing states "No equity"; null when it says nothing about equity |
location | string | The listing's stated location, or its accepted remote locations when there is no office location |
isRemote | boolean | Whether Wellfound marks the role remote |
companySize | string | Headcount bucket, e.g. "11-50", "1001-5000" |
jobUrl | string | Direct link to the Wellfound posting |
query, sourceUrl, collectedAt | string | Provenance for every row |
Input
{ "queries": ["software engineer", "product designer"], "location": "Remote" }
| Field | Description |
|---|---|
queries | Role keywords. Required, 1–50. Duplicates collapse to one fetch. |
location | A city, or "Remote" (default). One location per run. |
maxItems | Cap on dataset items. Default 1000. Free plans stop at 250 requests and 250 results — see below. |
concurrency | Roles fetched in parallel. Default 2, maximum 5. |
Each role and location pair addresses one Wellfound role landing page —
wellfound.com/role/r/software-engineer for remote, wellfound.com/role/l/software-engineer/san-francisco
for a city — so queries should read as role names rather than free-text boolean searches.
Use cases
- Startup compensation benchmarking on salary and equity together
- Sourcing remote startup roles by function
- Tracking which startups of a given headcount bucket are hiring, joined on
companySlug - Building a startup-hiring lead list from
company,companySizeandlocation - Monitoring a role market over time by re-running on a schedule, joined on
jobId
Reliability
The Wellfound Jobs Scraper reads the landing page's own Apollo cache rather than the rendered
markup, and it verifies the arguments the page was actually served with before emitting a single
row. This matters because Wellfound does not 404 an unknown role or location — it quietly serves its
generic job board instead, which would otherwise look like a successful run full of off-topic jobs.
A role or location with no Wellfound landing page is reported as a failure in the run's SUMMARY
rather than filled with the wrong listings.
Wellfound publishes pay as one display string, so this Actor parses both halves of it: the salary
range and the equity range. "Up to $215k" sets salaryMax and leaves salaryMin null rather
than repeating one bound as both. "No equity" is recorded as 0–0, which is a different fact
from equity that the listing never mentions and is left null. Indian salaries written in lakh and
crore are converted to plain numbers.
A run where every role failed exits with an error rather than finishing empty.
Frequently asked questions
Do I need a Wellfound or AngelList account? No. The Wellfound Jobs Scraper uses no account, login, cookies or API key — only public Wellfound role landing pages are read.
Does the Wellfound Jobs Scraper return equity? Yes. equityMin and equityMax are the equity
percentages the listing publishes, e.g. 0.05 and 0.25. A listing that states "No equity" returns
0 and 0; a listing that says nothing about equity returns null, so the two cases stay
distinguishable.
How many Wellfound jobs does one role return? Around 37 per role landing page. Ten role keywords therefore return roughly 370 jobs.
Why did my search return nothing? Wellfound serves results only for roles and locations that
have a landing page. "software engineer" and "product designer" work; an invented or very narrow
role has no page, and the run records it under failures instead of returning Wellfound's generic
board.
Does it include the posted date or the full job description? No. Wellfound's role landing pages
publish neither a posting date nor the description, so this Actor does not emit them. Follow jobUrl
for the full posting.
Can I search several locations in one run? No — one run searches one location across all of
its queries. Start one run per city, or use "Remote".
What happens on a free Apify plan? The run stops at 250 requests and 250 results and reports that it hit the limit. Any paid plan runs the full input.
Limitations
The Wellfound Jobs Scraper reads one role landing page per query, so coverage is what Wellfound puts on that page rather than a full crawl of its board; run several role keywords to widen coverage. Posting dates, full descriptions, founder and investor details, company funding stage and applicant counts are out of scope, as is searching more than one location per run.
Free plan limit
Runs started from an Apify free plan stop at 250 requests and 250 results, and the run
reports that it reached the limit. Any paid plan runs the full input and maxItems you set.
The limit exists because this Actor fetches through our own infrastructure, which Apify does not cover for free-plan runs. It binds on requests as well as results so that a large input list cannot spend those fetches for rows the run will not return.