Wellfound Jobs Scraper - Fast & Cheap, With Monitor Alerts
Pricing
from $2.00 / 1,000 per job returneds
Wellfound Jobs Scraper - Fast & Cheap, With Monitor Alerts
Extract Wellfound (formerly AngelList) startup jobs as JSON, CSV or Excel: salary and equity ranges, company size, stage, YC and investor badges, Glassdoor ratings, full descriptions. Search and job URLs. Monitor mode returns only new jobs. $3 per 1,000 jobs, $2 on paid plans.
Pricing
from $2.00 / 1,000 per job returneds
Rating
0.0
(0)
Developer
Scrapers Delight
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
2
Monthly active users
3 days ago
Last modified
Categories
Share
Wellfound (AngelList) Scraper - Startup Jobs & Salary Data
Paste Wellfound URLs and get one row per startup job: title, pay and equity as numbers, the startup's size, stage, investor badges and Glassdoor ratings, and the full job description. Monitor mode returns only jobs you have not seen before.
Why choose this actor?
A full page of startup jobs in a few seconds. One Wellfound search page carries 31 to 53 jobs with their full descriptions. Measured on 2026-09-30: all 17 pages of the New York software-engineer search, 558 unique jobs, in 5.6 seconds.
Salary and equity as usable numbers. Wellfound prints "$319k – $381k • 0.0% – 0.4%". Every row also carries it as base_salary (currency, min, max), equity_parsed (min %, max %) and flat salary_min / salary_max / equity_min / equity_max columns you can sort in a spreadsheet. The startup's own Wellfound badges come with it: stage, B2B/B2C, YC, top investors, recently funded, valuation, Glassdoor ratings.
Keep track of new openings. Schedule monitor mode on a search. The first run records what is there; every later run returns only jobs that were not there before. You are never charged twice for the same job.
Quick input
Start with one page of software engineering jobs in New York:
{"urls": ["https://wellfound.com/role/l/software-engineer/new-york"],"pageLimit": 1,"onlyRemoteJobs": false}
Measured: 42 jobs in 3 to 5 seconds. Change the role or location in the URL, raise pageLimit for more pages, or set it to 0 to collect every page. Export JSON, CSV or Excel.
Salary, equity and company fields depend on what each listing publishes. The job page adds the startup's own website, funding, visa sponsorship, relocation, skills and founders: you get these for job URLs, or for every job with Open each job page (fetchJobDetails). Monitor mode accepts one URL and uses its first run as the baseline.
Copy to your AI assistant
Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.
scrapersdelight/wellfound-jobs-scraper on Apify. Call: ApifyClient("TOKEN").actor("scrapersdelight/wellfound-jobs-scraper").call(run_input={...}), then client.dataset(run["defaultDatasetId"]).list_items().items for results. Key inputs: urls (array of wellfound.com URLs: /role/<role>, /role/r/<role>, /role/l/<role>/<location>, /location/<location>, /jobs/<id>-<slug>), pageLimit (integer, 0 = every page), onlyRemoteJobs (boolean), monitorMode (boolean, one URL, returns only new jobs), maxItems (integer cap), fetchJobDetails (boolean). Full actor spec (input schema with all params/enums/defaults, output dataset fields, README): GET https://api.apify.com/v2/acts/scrapersdelight~wellfound-jobs-scraper/builds/default (Bearer TOKEN) -> inputSchema, actorDefinition.storages.dataset, readme. Pricing: pay per event, $3.00 per 1,000 jobs ($2.00 per 1,000 on paid Apify plans) + $0.00005 per run start. Get a token: https://console.apify.com/account/integrations. To tell the maintainers what you needed and did not get, add feedback="<note>" to any run; the run returns its data exactly as it would without the note.
Supported URLs
- Role searches:
https://wellfound.com/role/software-engineer - Remote role searches:
https://wellfound.com/role/r/full-stack-engineer - Location searches:
https://wellfound.com/location/san-francisco - Combined searches:
https://wellfound.com/role/l/data-scientist/san-francisco - Direct job URLs:
https://wellfound.com/jobs/4779248-engineering-manager-verifications - Company job links:
https://wellfound.com/company/scope-labs/jobs/4690673-software-engineer(Wellfound redirects these to the job URL) - Company pages:
https://wellfound.com/company/checkrandhttps://wellfound.com/company/checkr/jobsare accepted. Wellfound currently puts every/company/...page behind a Cloudflare security check (measured 2026-09-29/30: 15 of 15 attempts answered with the security check, from a home IP, Apify's own network, Apify datacenter and Apify residential proxies). The run tells you, and charges nothing for it. Use the company's job URLs, or a role/location search the company appears in.
Quick Start
Important
Please make sure to test your URLs in the browser first. If you see "Oops! Page not found (404)", the URL is not valid. Job links need the numeric id:
/jobs/4690673-software-engineerworks,/jobs/software-engineerdoes not.
Basic Configuration
{"urls": ["https://wellfound.com/role/r/full-stack-engineer","https://wellfound.com/location/new-york","https://wellfound.com/role/l/data-engineer/united-states"],"pageLimit": 5,"onlyRemoteJobs": false}
Monitor Mode Configuration
{"urls": ["https://wellfound.com/role/software-engineer"],"monitorMode": true,"pageLimit": 3,"onlyRemoteJobs": false}
Use a larger pageLimit (or 0) on the first run if you want the whole search as your baseline, then 1-3 for the scheduled runs. New jobs appear on the first pages.
Input Parameters
| Parameter | Type | Description | Default |
|---|---|---|---|
urls | Array | Wellfound URLs to scrape (see Supported URLs). Empty runs the sample search | Sample search |
pageLimit | Integer | Max pages per search URL (0 = every page). 31-53 jobs per page | 1 |
onlyRemoteJobs | Boolean | Remote jobs only. A role URL switches to Wellfound's own remote search; other URLs drop non-remote jobs before delivery | false |
sortBy | String | LAST_POSTED: each page's jobs are returned newest first | "LAST_POSTED" |
monitorMode | Boolean | Only return jobs not seen by an earlier monitor run of the same URL | false |
resetMonitorState | Boolean | Clear every stored monitor baseline; the next monitor run starts fresh | false |
telegramUserId | String | Your Telegram user ID for alerts about new jobs (monitor mode only) | Optional |
telegramNotificationLimit | Integer | Max Telegram messages per run (1-50) | 10 |
maxItems | Integer | Stop after this many unique jobs across all URLs (0 = no cap) | 0 |
fetchJobDetails | Boolean | Open each job's page for website, funding, skills, visa, relocation, founders, pay period (included in the price) | false |
includeDescription | Boolean | Keep the full markdown job description on listing rows | true |
postedWithinDays | Integer | Only jobs that went live in the last N days (0 = any) | 0 |
onlyRecentlyFunded | Boolean | Only startups with Wellfound's "Recently funded" badge | false |
onlyYcFunded | Boolean | Only startups with Wellfound's "YC Funded" badge | false |
detailConcurrency | Integer | Parallel job-page requests (1-10) | 4 |
proxyConfiguration | Object | Proxy settings. Leave empty: the actor picks the cheapest transport that works (see Technical Requirements) | Optional |
Output
Two row shapes share one dataset: listing rows for search URLs and job rows for job URLs. Field names follow the common Wellfound-actor naming (company_name, compensation_parsed, live_start_at_readable...), so rows drop into existing pipelines.
Output for role, location and role+location URLs
A real row from run eE8VNnHmsayadSySA on 2026-09-30 (the New York software-engineer search, page 1). The description is shortened here; the dataset has all of it.
{"id": "4266034","slug": "senior-software-engineer","title": "Senior Software Engineer","company_name": "midpage.ai","company_slug": "midpage-ai","company_size": "SIZE_1_10","company_high_concept": "Combining legal research and writing","company_logo_url": "https://photos.wellfound.com/startups/i/9161175-31e4f4b225823d558294a05da71cf773-medium_jpg.jpg?buster=1713997652","company_badges": ["Actively Hiring", "B2B", "Early Stage"],"job_type": "full-time","remote": false,"location_names": ["New York City"],"compensation": "$319k – $381k • 0.0% – 0.4%","compensation_parsed": {"compensation_raw": "$319k - $381k • 0.0% - 0.4%","base_salary": { "currency": "USD", "unit": null, "min_value": 319000, "max_value": 381000 },"equity": { "min_percentage": 0, "max_percentage": 0.4, "has_equity": true }},"base_salary": { "currency": "USD", "unit": null, "min_value": 319000, "max_value": 381000 },"equity": "0.0% – 0.4%","equity_parsed": { "min_percentage": 0, "max_percentage": 0.4, "has_equity": true },"description": "Midpage is the legal search engine quietly powering the largest AI and legal technology companies in the world. More than 300 law firms use our products, 200k people read cases on Midpage each month, and 5 multibillion-d …","live_start_at": 1779899105,"live_start_at_readable": "2026-05-27 16:25:05 UTC","live_start_at_days_ago": 125,"years_experience_min": null,"years_experience_max": null,"primary_role_title": "Software Engineer","is_bookmarked": false,"ats_source": "AtsIntegration::Ashby::Listing","auto_posted": false,"url": "https://wellfound.com/jobs/4266034-senior-software-engineer","source_url": "https://wellfound.com/role/l/software-engineer/new-york","source_url_type": "role_location","source_role_slug": "software-engineer","source_location_slug": "new-york","employment_type": "FULL_TIME","posted_at": "2026-05-27T16:25:05Z","salary_min": 319000,"salary_max": 381000,"salary_currency": "USD","equity_min": 0,"equity_max": 0.4,"ats_vendor": "Ashby","company_size_label": "1-10","company_stage": "early_stage","company_stage_label": "Early Stage","business_model": "B2B","is_yc_funded": false,"has_top_investors": false,"is_recently_funded": false,"glassdoor_rating": null,"company_other_job_ids": ["4766945"],"search_total_job_count": 762,"search_page_count": 17,"page": 1}
Listing rows have 71 columns; the ones not shown above are accepted_remote_location_names, remote_config_kind, remote_wfh_flexible, posted_at_timestamp, monitor_status, scraped_at, scraped_at_timestamp, salary_period, has_equity, company_id, company_url, is_actively_hiring, is_growing_fast, valuation_tier, leadership_rating, work_life_balance_rating, response_speed, is_top_responder and detail_fetched.
url is always the job's working page, https://wellfound.com/jobs/<id>-<slug>. A link built as /company/<company>/jobs/<slug> without the id answers 404 on Wellfound today.
Output for job detail URLs
A real row from run 523gplIhxkpdMh4wo (a /jobs/... URL), 2026-09-30. Long text is shortened, and lists are cut to their first entry here.
{"id": "4779248","slug": "engineering-manager-verifications","title": "Engineering Manager, Verifications","company_name": "Checkr","company_slug": "checkr","company_badges": ["Actively Hiring", "Responds within three weeks", "B2B", "Scale Stage", "Top Investors", "YC Funded", "Valuation $1B+", "Highly rated", "Work / Life Balance", "Strong Leadership"],"job_type": "full_time","remote": false,"location_names": ["Denver", "San Francisco"],"accepted_remote_location_names": [],"compensation": "$233k – $274k","compensation_parsed": {"compensation_raw": "$233k - $274k","base_salary": { "currency": "USD", "unit": "YEAR", "min_value": 233000, "max_value": 274000 },"equity": null},"base_salary": { "currency": "USD", "unit": "YEAR", "min_value": 233000, "max_value": 274000 },"equity": null,"equity_parsed": null,"live_start_at": 1790626004,"live_start_at_readable": "2026-09-28 20:06:44 UTC","live_start_at_days_ago": 1,"years_experience_min": null,"url": "https://wellfound.com/jobs/4779248-engineering-manager-verifications","has_recruiting_contact": true,"coworkers_count": 1,"scraped_at": "2026-09-30T03:36:01.681Z","description": "**About the role**\n\nThe Verifications team is responsible for one of Checkr's most expansive product portfolios, an ever growing suite of screening products empowering informed decisions across our enterprise customers. …","description_html": "<p><strong>About the role</strong></p>\n\n<p>The Verifications team is responsible for one of Checkr's most expansive product portfolios, an ever growing suit …","skills": [],"title_expanded": "Engineering Manager, Verifications at Checkr • San Francisco • Denver","is_live": true,"allow_relocation": false,"company_location_names": ["Denver"],"visa_sponsorship": false,"posted_at_timestamp": 1790626004,"company_website": "http://www.checkr.com/","company_logo": "https://photos.wellfound.com/startups/i/395014-2a2164ef6a8cd5954eb970228e62ce15-medium_jpg.jpg?buster=1692326450","company_location": [{ "type": "Place", "latitude": 39.7392, "longitude": -104.99, "locality": "Denver", "region": "Colorado", "country": "United States" }],"industry": "Internet, SaaS, Information Services, Machine Learning, Artificial Intelligence, Software, Legal, Legal Tech, Hr Tech, and B2B · SaaS · Mobile · Artificial Intelligence / Machine Learning","direct_application": true,"posted_at": "2026-09-28T20:06:44Z","locations": [{ "type": "Place", "latitude": 39.7392, "longitude": -104.99, "locality": "Denver", "region": "Colorado", "country": "United States" }],"job_location_type": null,"employment_type": "FULL_TIME","applicant_location_requirements": null,"remote_config": null,"startup_details": {"company_high_concept": "The only background check company using artificial intelligence and machine learning","industry": "Internet, SaaS, Information Services, Machine Learning, Artificial Intelligence, Software, Legal, Legal Tech, Hr Tech, and B2B · SaaS · Mobile · Artificial Intelligence / Machine Learning","company_size": "501-1000","stage": "Scale Stage","website": "http://www.checkr.com/","location": "Denver","company_type": "Private Company","markets": ["Internet", "SaaS", "Information Services", "Machine Learning", "Artificial Intelligence", "Software", "Legal", "Legal Tech", "Hr Tech"],"segments": ["B2B", "SaaS", "Mobile", "Artificial Intelligence / Machine Learning"],"funding_info": {"total_raised": "$399M", "total_raised_usd": 399000000, "rounds": 4,"latest_round": "Series E", "latest_round_date": "Sep 2021", "latest_round_amount_usd": 250000000,"funding_url": "https://wellfound.com/company/checkr/funding"},"perks": [{ "title": "Comprehensive Health Plans", "description": "We cover 100% of insurance premiums and offer generous parental and family leave" }]},"coworkers": [{ "name": "Daniel Yanisse", "title": "CEO", "location": "San Francisco", "role": "Founder" }],"similar_jobs": [{ "id": "3212392", "title": "Lead Software Engineer", "slug": "lead-software-engineer", "company_name": "Onos Health", "company_slug": "onos-health-1","company_high_concept": "The first comprehensive AI platform for health plans to improve behavioral & mental health services","compensation": "$200k – $275k", "url": "https://wellfound.com/jobs/3212392-lead-software-engineer" }],"source_url": "https://wellfound.com/jobs/4779248-engineering-manager-verifications","source_url_type": "job_detail","salary_period": "YEAR","glassdoor_rating": 4.1,"leadership_rating": 4.1,"work_life_balance_rating": 4.3,"valuation_tier": "1B+","company_total_raised_usd": 399000000,"company_latest_round_name": "Series E","company_latest_round_date": "Sep 2021","company_other_jobs": [{ "id": "4781611", "slug": "customer-support-associate", "title": "Customer Support Associate", "location": "Nashville", "compensation": null, "url": "https://wellfound.com/jobs/4781611-customer-support-associate" }],"employees_joined_from": ["Oracle", "Apple", "Google", "Salesforce", "Inflection"],"posted_ago_text": "1 day ago","recruiter_activity": "Recruiter recently active"}
coworkers holds the founders Wellfound shows on the job page. company_other_jobs is Wellfound's "More jobs at
Measured fill
Listing rows: 558 rows, every page of the New York software-engineer search, 2026-09-30.
| Field | Fill |
|---|---|
id slug title url company_name company_slug company_size company_logo_url job_type remote location_names description live_start_at live_start_at_readable posted_at primary_role_title employment_type auto_posted is_bookmarked | 100% |
company_high_concept | 96% |
company_badges | 89% |
compensation · compensation_parsed | 88% |
base_salary · salary_min · salary_max · salary_currency | 84% |
company_other_job_ids | 68% |
ats_source · ats_vendor | 66% |
company_stage · company_stage_label | 59% |
business_model | 54% |
remote_config_kind · remote_wfh_flexible | 46% |
years_experience_min | 36% |
accepted_remote_location_names | 27% |
equity · equity_parsed · has_equity | 26% |
response_speed | 20% |
valuation_tier | 9% |
glassdoor_rating / work_life_balance_rating / leadership_rating | 5% / 4% / 3% |
salary_period · base_salary.unit | 0% on listing rows: search pages print a range without a period. Filled from the job page (98%) |
years_experience_max | 0%: Wellfound's own field, empty on every row measured |
The badge percentages describe Wellfound's startups, not gaps in the scraper: only 5% of these startups have a Glassdoor rating on Wellfound.
Job-page fields: 40 rows with Open each job page on, San Francisco search, 2026-09-30.
| Field | Fill |
|---|---|
company_website · industry · visa_sponsorship · allow_relocation · company_location · locations · similar_jobs · description_html · title_expanded · salary_period | 98% (1 of the 40 was already closed on its own page: is_live: false) |
posted_ago_text · recruiter_activity | 80% |
company_other_jobs | 70% |
company_total_raised_text · company_funding_rounds_count | 65% |
coworkers (founders) | 62% |
company_latest_round_name | 55% |
benefits · perks | 50% |
company_latest_round_amount_usd | 45% |
employees_joined_from | 42% |
applicant_location_requirements · job_location_type | 28% |
has_recruiting_contact (true) | 25% |
remote_config | 20% |
skills · months_experience_min | 18% |
Not included, because Wellfound's public pages do not carry them: estimated_salary, description_snippet, responsibilities, requirements, seniority_level, department, team_size, last_responded_at, current_user_applied and uses_estimated_salary.
Monitor Mode
Monitor mode tracks new job listings by keeping a baseline of the jobs already returned. It suits job alerts and market monitoring without duplicate results.
How It Works
- Initial run: returns every job it finds for the URL and records them as the baseline (
monitor_status: "initial"). - Later runs: return only jobs that are not in the baseline (
monitor_status: "new"). A run with nothing new returns no rows and costs only the start fee. - Automatic updates: each delivered job is added to the baseline.
- State persistence: the baseline is kept in a key-value store named
wellfound-monitor-statein your own Apify account, one record per URL.
Measured 2026-09-30 on https://wellfound.com/role/l/product-manager/san-francisco, one page: the first run (HPnQw1nd5bCSXJOgd) returned 48 jobs; the second (mI3g6XT3ZWLT4j4YO) returned 0 with "No new jobs since the last run — 48 job(s) on the first 1 page(s) were already seen. Nothing charged."
Configuration
Single URL limitation: monitor mode tracks one URL per run. If you pass several, it monitors the first and says so in the log. Use one schedule (or saved task) per URL.
Recommended settings:
- pageLimit: 1-3 pages (new jobs appear on the first pages)
- Schedule: every few hours
- Integration: webhooks, Telegram (below), or the dataset API
Monitor Mode Parameters
monitorMode
- Type: Boolean, Default:
false - Description: Only return jobs not seen by an earlier monitor run of the same URL
- Constraint: One URL per run
resetMonitorState
- Type: Boolean, Default:
false - Description: Clears every stored baseline; the next monitor run starts a fresh one
- Use case: Re-establish the baseline after a long gap
Example - Reset and restart monitoring:
{"urls": ["https://wellfound.com/role/software-engineer"],"monitorMode": true,"resetMonitorState": true,"pageLimit": 3}
Telegram Notifications
Get a Telegram message for each new job a monitor run finds.
Setup steps:
- Get your Telegram user ID: message @userinfobot on Telegram.
- Add it to your input: set
telegramUserIdin a monitor-mode input. - Press Start on the alert bot once: the run log names the bot the alerts come from. A Telegram bot cannot message someone who has never messaged it, so open that bot and press Start before the first alert.
Example with Telegram notifications:
{"urls": ["https://wellfound.com/role/software-engineer"],"monitorMode": true,"pageLimit": 2,"telegramUserId": "123456789","telegramNotificationLimit": 5}
What you get:
- One message per new job: title, company and tagline, pay, location, stage, size, posting time and a link to the job
- At most
telegramNotificationLimitmessages per run (1-50). If there are more new jobs, the last message says how many more are in the dataset - Alerts only for new jobs in monitor mode, never for the baseline run
- If the log says "Telegram alerts are not enabled on this build", nothing was sent; the new jobs are in the dataset as usual
Typical Monitor Workflow
- Initial setup: pick the search URL and run it once with monitor mode on (a larger
pageLimitif you want the whole search as the baseline) - Telegram (optional): add
telegramUserIdand press Start on the alert bot - Automation: schedule the same input with Apify Schedules, hourly or daily
- Integration: webhooks on run success, or read the dataset from your own code
- Maintenance: none; the baseline updates itself, and
resetMonitorStatestarts over
Pricing
Pay per result: only pay for the jobs you get.
| Apify plan | Per 1,000 jobs | Savings |
|---|---|---|
| Free | $3.00 | none |
| Bronze, Silver, Gold, Platinum, Diamond | $2.00 | 33% off |
- Plus $0.00005 per run start (one event per GB of run memory; the default 256 MB is one event).
- Open each job page is included in the per-job price.
- Never charged: duplicate jobs across pages, jobs your filters drop, closed (410) or missing (404) job URLs, company pages Wellfound blocks, and jobs a monitor run has already returned.
- Rows are delivered with the charge in the same step, so what is in your dataset is exactly what you pay for. Measured on every test run: dataset items = charged events (5 = 5, 42 = 42, 60 = 60, 558 = 558).
- Set a maximum charge per run in the Apify Console to cap any run.
API Integration
Python Example
from apify_client import ApifyClientclient = ApifyClient("your_token")run = client.actor("scrapersdelight/wellfound-jobs-scraper").call(run_input={"urls": ["https://wellfound.com/role/r/full-stack-engineer"],"pageLimit": 10,})for job in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{job['title']} at {job['company_name']} — {job['compensation']}")
JavaScript Example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'your_token' });const run = await client.actor('scrapersdelight/wellfound-jobs-scraper').call({urls: ['https://wellfound.com/location/new-york'],onlyRemoteJobs: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Found ${items.length} remote jobs`);
Advanced Usage
Several searches in one run
{"urls": ["https://wellfound.com/role/l/product-manager/san-francisco","https://wellfound.com/role/l/product-manager/new-york","https://wellfound.com/role/r/product-manager"],"pageLimit": 0}
A job that appears in more than one search is delivered and charged once.
Geographic Market Analysis
{"urls": ["https://wellfound.com/location/san-francisco","https://wellfound.com/location/new-york","https://wellfound.com/location/london"],"pageLimit": 20}
Funded startups that are hiring, with their websites
{"urls": ["https://wellfound.com/role/software-engineer"],"pageLimit": 10,"onlyRecentlyFunded": true,"fetchJobDetails": true}
Each row then carries company_website and the funding card (company_total_raised_usd, company_latest_round_name, company_latest_round_date).
Specific jobs
{"urls": ["https://wellfound.com/jobs/4779248-engineering-manager-verifications","https://wellfound.com/jobs/4766936-analytics-engineer-clone"]}
Data Export
Export results in multiple formats:
- JSON: structured data for programmatic use
- CSV: spreadsheet analysis (the flat
salary_min/salary_max/equity_min/equity_maxcolumns sort directly) - Excel: advanced data manipulation
The dataset has three views: Overview, Company signals (stage, funding, investor badges, ratings) and Pay & equity.
Automation
Set up automated data collection:
- Scheduled runs: hourly, daily, weekly or monthly, with or without monitor mode
- Webhooks: notify your system when a run finishes
- API integration: connect with existing tools and workflows
Technical Requirements
- Memory: 256 MB (the default). The 558-job, 17-page run peaked at 223 MB.
- Proxy: none needed. The actor starts with a direct request from Apify's network, which served 19 of the 21 test runs on the default transport on 2026-09-30. The other 2 opened hundreds of job pages in a burst, were rate-limited, and finished on Apify datacenter proxies: after two blocks in a row the run moves to datacenter, then residential, and stays there. Residential use is capped per run at a share of what the run bills; past the cap the run carries on through datacenter proxies. Put your own proxies in
proxyConfigurationto override. - Reliability: blocked requests are retried on a fresh connection. A run that cannot read anything says it was blocked instead of reporting "no jobs". A run restarted by the platform resumes where it stopped and never delivers or charges a job twice.
Limits
- Up to 3 jobs per startup per search page. Wellfound's search pages show each startup's first 3 matching jobs. Measured: the New York software-engineer search counts 768 jobs, and its 17 pages list 558 of them (73%). The rest belong to startups with more than 3 openings. Each job page's
company_other_jobsshows up to 3 more. - Company pages are walled. See Supported URLs.
- The search page can list a closed job. 1 of 40 listed jobs measured already answered 410 on its own page. With Open each job page on, that row says
is_live: false. - Pay period is only on the job page. Listing rows leave
base_salary.unitandsalary_periodempty rather than guess; job rows and enriched rows have it (98%). - No recruiter emails or phone numbers. Wellfound does not publish them.
company_websiteis the startup's own domain, for your enrichment tools.
FAQ
Q: What job data is extracted?
A: Job title, full description, pay and equity (text and numbers), location and remote policy, posting date, experience, ATS, and the startup's size, stage, tagline, badges and ratings. Job pages add the startup's website, industry, funding, perks, founders, visa sponsorship, relocation, skills and similar jobs.
Q: How many jobs can I extract?
A: As many as the search pages list. Set pageLimit: 0 to collect every page. Each row reports search_total_job_count and search_page_count, so the first run tells you how big a search is.
Q: Can I track specific companies?
A: Wellfound blocks automated access to company pages. Add the company's job URLs, or monitor a role or location search the company posts in.
Q: Is the data real-time?
A: Yes. Every run reads Wellfound at the time of the run.
Q: Do I need a proxy?
A: No. Leave proxyConfiguration empty and the actor chooses a transport that works.
Q: What formats can I export the data in?
A: JSON, CSV and Excel from the Apify Console, or any format through the API.
Q: Why is Wellfound also called AngelList?
A: Wellfound is the renamed AngelList Talent. Same jobs and startups, wellfound.com URLs.
Q: Can I integrate this with my recruitment tools?
A: Yes, through the Apify API, webhooks, Zapier or Make.
Getting Started Guide
Step 1: Create Your Account
- Sign up for Apify here
- No credit card required for the free plan
- $5 free credits to get started
Step 2: Configure Your Search
- Visit Wellfound and open the role or location page you want
- Copy the URL from your browser
- Paste it into
urls
Step 3: Run and Monitor
- Click "Start"
- Watch progress in the log
- Download results as JSON, CSV or Excel
- Turn on monitor mode and schedule it for new jobs
Step 4: Integrate and Automate
- Use the Apify API for custom integrations
- Schedule regular runs for market monitoring
- Set up webhooks for notifications
- Connect your tools via Zapier, Make, or the API
Support
- Found a bug? Use the Issues tab and describe what you ran and what you expected.
- Feature requests: use the Issues tab.
Legal
This scraper extracts publicly available job data from Wellfound. Users must comply with Wellfound's terms of service and applicable data protection regulations.