Wellfound Startup Jobs Scraper avatar

Wellfound Startup Jobs Scraper

Pricing

from $3.25 / 1,000 results

Go to Apify Store
Wellfound Startup Jobs Scraper

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

String

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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

FieldTypeNotes
jobIdstringWellfound's own listing ID — stable, use it to de-duplicate
titlestring
companystringThe startup's name
companySlugstringIts Wellfound handle, e.g. "stepsecurity"
salaryMin, salaryMaxnumberNumbers, e.g. 135000 and 175000 — not the "$135k – $175k" string
currencystringISO code read from the posting's own figure, e.g. "USD", "GBP", "INR"
equityMin, equityMaxnumberEquity percentages, e.g. 0.05 and 0.25. 0 and 0 when the listing states "No equity"; null when it says nothing about equity
locationstringThe listing's stated location, or its accepted remote locations when there is no office location
isRemotebooleanWhether Wellfound marks the role remote
companySizestringHeadcount bucket, e.g. "11-50", "1001-5000"
jobUrlstringDirect link to the Wellfound posting
query, sourceUrl, collectedAtstringProvenance for every row

Input

{ "queries": ["software engineer", "product designer"], "location": "Remote" }
FieldDescription
queriesRole keywords. Required, 1–50. Duplicates collapse to one fetch.
locationA city, or "Remote" (default). One location per run.
maxItemsCap on dataset items. Default 1000. Free plans stop at 250 requests and 250 results — see below.
concurrencyRoles 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, companySize and location
  • 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 00, 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.