Wellfound Startup Job Scraper
Pricing
from $1.04 / 1,000 job listings
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
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
| Field | Notes |
|---|---|
id | Wellfound's listing id. |
url | Canonical listing URL, e.g. https://wellfound.com/jobs/4692045-software-engineer. |
title | The title the company typed, e.g. Senior Software Engineer - Android. |
slug | The URL slug for the listing. |
primary_role_title | Wellfound's own normalised role, e.g. Software Engineer. A different field from title. |
description | The full job description, in the Markdown Wellfound stores it as. |
job_type | full-time, internship, contract and so on, as printed. |
compensation | The band exactly as printed, e.g. $130k – $210k • 0.05% – 0.2%. |
compensation_min, compensation_max | Salary figures read out of compensation. |
compensation_currency | ISO code for the currency the band is printed in - USD, EUR, GBP. |
remote | Wellfound's remote flag on the listing. |
remote_kind | ONSITE, REMOTE or ONSITE_OR_REMOTE where the company set it. |
wfh_flexible | Whether the company marked the role work-from-home flexible. |
years_experience_min, years_experience_max | Experience asked for. |
live_start_at, live_start_at_iso | When the listing went live, as Unix seconds and as ISO-8601 UTC. |
auto_posted | Whether the listing was synced in automatically rather than written on Wellfound. |
ats_source | Which applicant-tracking system it came from, e.g. AtsIntegration::Greenhouse::Listing. |
company_id, company_name, company_slug, company_url | The hiring company. |
company_logo_url | The company's logo. |
company_high_concept | The company's one-line pitch. |
company_size | Headcount band in Wellfound's own vocabulary, e.g. SIZE_11_50. |
company_badges | Labels Wellfound shows on the company, e.g. ["Actively Hiring", "Top 10% of responders"]. |
location_names | Locations on the listing, e.g. ["San Francisco"]. Empty on a remote listing. |
accepted_remote_location_names | Where a remote listing will hire from. |
role, location, remote_only | Which 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 equityon its own is a real value. It setscompensation_minandcompensation_maxtonullrather than to zero. - Equity percentages are not parsed into numbers. They are in the
compensationstring, but0.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_currencyexists. Do not assume USD. years_experience_minof0is a real answer - the company said no experience is required. It is not the same asnull, which means the company said nothing.remote_kindis absent on most listings, and absent is not the same as onsite. Useremotefor 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_50is 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.