Wellfound Jobs Scraper
Pricing
$0.25 / 1,000 wellfound job listings
Wellfound Jobs Scraper
Wellfound Jobs Scraper extracts public Wellfound job listings with stable IDs, useful filters and clear run diagnostics. Independent project with no login or access-control bypass.
Pricing
$0.25 / 1,000 wellfound job listings
Rating
0.0
(0)
Developer
Cliqto Media
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
4 days ago
Last modified
Categories
Share
Extract public Wellfound job listings into a clean Apify Dataset. Each saved listing has a stable numeric job ID, a canonical Wellfound job URL and source-backed fields such as company, location, remote status, compensation, posting date and description when those values are published on the page.
This is an independent project. It is not affiliated with, endorsed by or sponsored by Wellfound or AngelList.
What it does
- Reads public Wellfound jobs, role, location and exact-job pages.
- Accepts a public URL directly or builds search URLs from role and location slugs.
- Keeps one Dataset row per unique numeric Wellfound job ID.
- Supports keyword, remote-only, employment-type and posting-age filters over fetched public fields.
- Preserves canonical job URLs and the URL family used for the extraction.
- Writes a run summary, diagnostics and progress record to the Key-Value Store, including useful empty, partial, blocked and not-found outcomes.
What it does not do
The Actor does not use a Wellfound account or private session. It does not
collect candidate, profile, contact or application data; fetch external ATS or
company pages; solve CAPTCHAs; bypass access controls; or promise a global,
complete or permanently fresh Wellfound index. Coverage is limited to the
public pages fetched in the run and is labelled public_page_subset.
Input
The default input reads the public https://wellfound.com/jobs feed. A useful
role-and-location prefill is:
{"startUrls": [{ "url": "https://wellfound.com/role/l/software-engineer/new-york" }],"maxItems": 50,"maxPagesPerSeed": 3,"maxRequests": 200,"includeDescription": true}
Use startUrls for public search or exact-job URLs. roles and locations
are convenience fields; leave startUrls empty when using them. With no
explicit URL, role or location, the bounded /jobs feed is used. query, remoteOnly, jobType and
postedWithinDays are filters over the pages fetched for the run.
includeDescription is enabled by default: when a listing page has no inline
description, the Actor makes one bounded exact-job request for that candidate.
This is especially important for the public /jobs feed, whose structured
listing state carries the job/company fields but not the full description. Set
it to false for link-first output. Detail requests remain inside
maxItems/maxRequests.
The safety and resource controls are deliberately explicit:
maxItems: 1–1,000 requested Dataset rows;maxPagesPerSeed: 1–50 pages per URL;maxRequests: 1–1,500 request attempts for the run;requestTimeoutSecs: 5–60 seconds per attempt;requestDelayMs: 500–10,000 milliseconds between request starts;maxRetries: 0–2 temporary-error retries.
The source or filters can produce fewer rows than any requested maximum.
AUTO and DIRECT use the supported direct HTTPS connection path.
Output
Dataset rows include:
- stable
id(wellfound:<numeric-id>) andjobId; title,jobUrl, company fields and role/type fields;locations, accepted remote locations and explicit remote signals;- published compensation text and parsed salary/equity values when unambiguous;
- posting timestamp, public description, ATS label and badges when available;
sourceUrl,sourceMode,sourcePage,observedAtandcoverage.
Unavailable source fields remain null or []; they are not guessed. The
Dataset contains job rows only. The Key-Value Store contains:
RUN_SUMMARY— final product status, counts, limits, transport and timing;RUN_DIAGNOSTICS— machine-readable source or input diagnostics;RUN_PROGRESS— the latest progress snapshot.
See docs/SPEC.md, docs/OUTPUT-CONTRACT.md and docs/publication/SUPPORT.md.
Example row
This example uses placeholder values. A real row keeps the same fields and records only values published by Wellfound.
{"recordType": "JOB_LISTING","id": "wellfound:1234567","jobId": "1234567","title": "Senior Software Engineer","jobUrl": "https://wellfound.com/jobs/1234567-senior-software-engineer","companyName": "Example Labs","primaryRole": "Software Engineer","jobType": "full-time","locations": ["New York City"],"remote": false,"compensationText": "$140k – $180k","salaryMin": 140000,"salaryMax": 180000,"salaryCurrency": "USD","postedAt": "2026-09-13T00:00:00.000Z","description": "Example public job description.","sourceMode": "search","coverage": "public_page_subset"}
Pricing
The Actor charges $0.00025 for each saved job listing. That is $0.25 per 1,000 saved rows. Empty, filtered, duplicate, diagnostic, blocked, invalid and failed outcomes do not create a result charge.
Source and safe use
The Actor reads public Wellfound pages with limited HTTPS requests. Do not use it with private credentials, private sessions or data you are not allowed to access. Review the current Wellfound site Terms and applicable law before using extracted data. This project does not grant any permission to republish source data.