Wellfound Jobs Scraper (AngelList) - Startup Salary & Equity
Pricing
from $1.00 / 1,000 actor run starteds
Wellfound Jobs Scraper (AngelList) - Startup Salary & Equity
Wellfound Jobs Scraper exports startup jobs from Wellfound (formerly AngelList Talent): company, salary range, equity, remote and office locations, posting date and descriptions. For recruiters, job seekers and market researchers.
Wellfound Jobs Scraper
Wellfound Jobs Scraper exports public startup jobs from Wellfound, formerly AngelList Talent, so recruiters, job seekers and market researchers can track who is hiring, what they pay and how much equity they offer. Get employers, compensation, equity, remote and office locations and posting dates in structured rows, with descriptions when the selected page provides them. Use the main job board, a role category or a Wellfound URL as your starting point, and download the results as JSON, CSV or Excel.
The original job fields remain available. Additional fields make locations, employment types, salary currencies and descriptions easier to use alongside other job data. Results are deduplicated by Wellfound job identifier across all targets and pages, so overlapping searches do not charge for the same listing twice in one completed run.
Wellfound Jobs Scraper input
All input fields are optional. Leaving targets empty selects the main jobs board. To collect the board and software engineering roles, use this input, which was run against the existing actor and the current implementation:
{"targets": ["jobs", "software-engineer"], "pages": 1, "jobs_per_target": 200, "max_targets": 30, "concurrency": 4, "retries": 3}
targets accepts a list of role names, the values jobs or all, and direct Wellfound URLs. API users can also send a string separated by commas or newlines. Leading and trailing spaces are removed, duplicate targets are processed once, and the first target determines the source label when two targets contain the same job.
pages defaults to 1 and allows up to 20 result pages for each role. The main board is fetched once because additional board pages repeat its listings. A direct URL is also fetched once: its own query parameters identify the requested page. Role names such as software-engineer and product-manager select their corresponding public role categories.
jobs_per_target defaults to 200 and accepts values from 1 to 2000. It retains the original behavior as a limit per source page. When you request multiple role pages, the complete run can therefore return more than this number. max_targets defaults to 30 and allows up to 200 distinct targets.
concurrency defaults to 4 and accepts 1 to 12. retries defaults to 3 and accepts 1 to 8 attempts per page. An optional two-letter country selects the request country; it does not filter the locations in the results. A missing job or unknown role does not produce a paid job result. Jobs change over time, so repeated searches can return different listings.
Wellfound Jobs Scraper output and job fields
The default dataset contains one row per unique vacancy. Each row includes job_id, title, url, company, company_slug, company_url, company_size, company_logo, company_tagline, company_badges, role, compensation, salary_min, salary_max, equity, job_type, description, remote, locations, remote_locations, posted_at, posted_timestamp, source and position.
Missing source values remain null. The main board often provides fewer details than a role page: descriptions, employment type and company size may be absent. This reflects the selected source page. The original description preserves its published formatting, while description_text provides a plain text counterpart. location joins the listed locations in their original order, and employment_type normalizes recognized contract types.
compensation keeps the published text. Dollar salary amounts are also parsed into integer salary_min and salary_max values; a single salary fills both bounds. The original parser does not turn non-dollar amounts into dollar salaries. salary_currency follows an explicit currency in the salary line, such as CAD, and otherwise uses USD when a dollar salary is present. salary_period is YEAR for those amounts. These values describe an advertised salary, not a person's actual earnings.
equity keeps a percentage range or the text none when the listing explicitly states no equity. locations identifies advertised work locations, while remote_locations identifies places from which the employer accepts remote workers. They remain separate because permission to work remotely from a place does not make it an office location.
Here is a selected set of fields from a real product-manager result fetched on 4 October 2026. The complete dataset row contains the other fields described above:
{"job_id": "4670481","title": "Product Manager","company": "Harmony","url": "https://wellfound.com/jobs/4670481-product-engineer","compensation": "$130k – $180k • 0.1% – 0.25%","salary_min": 130000,"salary_max": 180000,"equity": "0.1%-0.25%","remote": false,"locations": ["New York City"],"source": "product-manager","salary_currency": "USD","salary_period": "YEAR","fetched_at": "2026-10-04T06:46:54.611Z"}
The key-value store also contains summary: target and page counts, returned jobs, salary and equity coverage, remote jobs, distinct companies and the median advertised minimum salary. The median uses the upper middle value for an even number of salaries, preserving the existing calculation. errors lists unreadable targets and pages when any occur. A partially unsuccessful search retains successfully collected jobs; a completely unsuccessful search finishes with an empty dataset.
Use cases for Wellfound job data
- Recruiting and sourcing. See which startups are hiring for a role right now, with company size, badges and tagline, and build a list of employers to approach.
- Salary and equity benchmarks. Wellfound listings often publish a salary range and an equity band. Collect them for one role category and compare ranges by company, location or remote status.
- Job search automation. Run the actor on a schedule for the roles you care about, join the rows by
job_idand notice new remote startup jobs before you would find them by browsing. - Market and investment research. Count open roles per company to see which startups are growing their teams, and which functions they hire for first.
- Job boards and newsletters. Feed startup job listings into your own board, alert or newsletter, with a link back to every original posting.
Wellfound Jobs Scraper compared with other options
Browsing Wellfound by hand works for a few listings, but it does not give you a table you can sort, filter or join over time. Browser extensions and point-and-click tools copy what is on your screen and need a person at the keyboard. General-purpose scraping tutorials leave the parsing to you.
This actor is built for repeatable runs through the Apify API, schedules and integrations. It parses the published salary text into numeric salary_min and salary_max values, keeps equity as its own field, separates office locations from places that accept remote workers, removes duplicate listings across all targets and pages, and reports failed pages in errors instead of hiding them. You pay per delivered job, and a run that finds nothing costs only the start fee.
Wellfound Jobs Scraper pricing
The price remains $0.001 per run plus $0.003 per delivered job. A run with no delivered jobs incurs only the start fee. Job events correspond to rows actually delivered to the dataset after deduplication. Requesting overlapping categories does not add a second event for the same delivered vacancy.
Users without a paid Apify plan receive at most ten rows per run, and at most ten job events are charged. The output summary reports the delivered count and whether the free-plan limit was reached. Paid users keep their requested input limits. Normal Apify platform usage costs remain separate from these actor events.
Frequently asked questions
Does Wellfound Jobs Scraper need a Wellfound account?
The actor reads publicly available job pages. The inputs shown above do not require a Wellfound account or login credentials. A private or unavailable page may return no readable listings and will appear in the errors record.
Why does the main board have fewer fields than a role page?
Wellfound publishes different information on different page types. Role pages commonly include job descriptions and employment types that the main board omits. Select a role category when those published details matter; absent fields retain null values rather than invented content.
Are the salaries converted to US dollars?
No currency conversion takes place. The original compensation text is retained, and the currency field identifies explicit dollar currencies where present. Compare salary amounts together with their currency. Non-dollar compensation remains readable in the original text even when the numeric salary fields are null.
Can I follow listings over time?
Yes. Keep results from repeated runs and join them by job_id. A listing can disappear after being filled, withdrawn or moved out of the selected category. A disappearance alone does not establish why the employer removed it. The fetched timestamp records when the page was collected.
What happens when one target fails?
The run continues with other targets, keeps their successful results and writes the failed target and page to errors. Failed pages do not create fabricated dataset rows or additional job events. Review the errors and summary together before drawing conclusions from an incomplete search.
Can I scrape remote startup jobs only?
Select a role category and filter the dataset on remote or remote_locations. The actor returns every listing on the selected pages, so filtering happens on the results rather than in the input.