Wellfound Startup Job Scraper avatar

Wellfound Startup Job Scraper

Pricing

from $1.04 / 1,000 job listings

Go to Apify Store
Wellfound Startup Job Scraper

Wellfound Startup Job Scraper

Scrape startup and tech jobs from Wellfound (formerly AngelList Talent) - title, company, salary band, equity, location, remote policy and the full job description.

Pricing

from $1.04 / 1,000 job listings

Rating

0.0

(0)

Developer

Superslow Sloth

Superslow Sloth

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Returns startup and tech jobs from Wellfound (formerly AngelList Talent): the job title, the hiring company, the salary and equity band, the location, the remote policy, the years of experience asked for, and the full job description as the company wrote it.

Search by role - software engineer, product manager, data scientist - and optionally by city, or across Wellfound's remote-only listings.

What a "page" means here, and why the budget is in jobs

Wellfound's own payload reports perPage: 20, and that twenty counts companies, not jobs. Each company brings up to three of its listings along with it, so one page really carries around forty jobs. Every budget in this actor is therefore expressed in jobs, never in pages: maxItems is a count of rows you will be charged for, whatever shape the pages arrive in.

Every job is delivered and charged exactly once

Wellfound re-ranks its results between requests, so the same listing genuinely appears on more than one page - 8 of 46 job ids were shared between page 1 and page 2 of a single search when this was measured on 2026-09-11. A job also legitimately matches more than one of your roles.

De-duplication is global across the whole run, and it happens before the charge. You are never billed twice for one listing.

Output fields

FieldNotes
idWellfound's listing id.
urlCanonical listing URL, e.g. https://wellfound.com/jobs/4692045-software-engineer.
titleThe title the company typed, e.g. Senior Software Engineer - Android.
slugThe URL slug for the listing.
primary_role_titleWellfound's own normalised role, e.g. Software Engineer. A different field from title.
descriptionThe full job description, in the Markdown Wellfound stores it as.
job_typefull-time, internship, contract and so on, as printed.
compensationThe band exactly as printed, e.g. $130k – $210k • 0.05% – 0.2%.
compensation_min, compensation_maxSalary figures read out of compensation.
compensation_currencyISO code for the currency the band is printed in - USD, EUR, GBP.
remoteWellfound's remote flag on the listing.
remote_kindONSITE, REMOTE or ONSITE_OR_REMOTE where the company set it.
wfh_flexibleWhether the company marked the role work-from-home flexible.
years_experience_min, years_experience_maxExperience asked for.
live_start_at, live_start_at_isoWhen the listing went live, as Unix seconds and as ISO-8601 UTC.
auto_postedWhether the listing was synced in automatically rather than written on Wellfound.
ats_sourceWhich applicant-tracking system it came from, e.g. AtsIntegration::Greenhouse::Listing.
company_id, company_name, company_slug, company_urlThe hiring company.
company_logo_urlThe company's logo.
company_high_conceptThe company's one-line pitch.
company_sizeHeadcount band in Wellfound's own vocabulary, e.g. SIZE_11_50.
company_badgesLabels Wellfound shows on the company, e.g. ["Actively Hiring", "Top 10% of responders"].
location_namesLocations on the listing, e.g. ["San Francisco"]. Empty on a remote listing.
accepted_remote_location_namesWhere a remote listing will hire from.
role, location, remote_onlyWhich of your searches produced this row.

What this source does not give

Stated rather than guessed. A missing value is always null, never 0 and never an empty string, because a zero reads as a measurement that was never taken.

  • No salary on many listings. Wellfound prints an empty band when the company did not state one; that arrives as null, not "".
  • A compensation string can carry equity and no salary at all. No equity on its own is a real value. It sets compensation_min and compensation_max to null rather than to zero.
  • Equity percentages are not parsed into numbers. They are in the compensation string, but 0.05% – 0.2% is not money and is deliberately not folded into the salary fields.
  • Not every band is in dollars. Euro bands appear alongside dollar ones, which is why compensation_currency exists. Do not assume USD.
  • years_experience_min of 0 is a real answer - the company said no experience is required. It is not the same as null, which means the company said nothing.
  • remote_kind is absent on most listings, and absent is not the same as onsite. Use remote for the flag the site actually sets on every row.
  • No applicant count, no company funding history, no founder details. The search payload does not carry them.
  • Company size is a band, not a number. SIZE_11_50 is left in Wellfound's vocabulary rather than converted into an invented midpoint.

Anti-bot behaviour

Wellfound answered a plain datacenter address with no proxy on 2026-09-11, so a proxy is optional. It does rate-limit an address that walks pages quickly: the refusal is an HTTP 403 "Security Check" page carrying no data at all. The scraper classifies that as temporary, takes a fresh exit address and retries, which is what the proxy is there for. An unknown role is a genuine 404 and is not retried - retrying it would only spend your money.

Input

{
"roles": ["software engineer", "product manager"],
"location": "san francisco",
"maxItems": 100,
"maxPages": 10,
"proxyConfiguration": { "useApifyProxy": true }
}

location and remote cannot be combined. Wellfound has no search for remote jobs in a named city, so a run asking for both fails immediately rather than quietly dropping half the request and charging for the rest.