Wellfound (AngelList) Startup Jobs Scraper — Salary & Remote
Pricing
from $4.00 / 1,000 wellfound job results
Wellfound (AngelList) Startup Jobs Scraper — Salary & Remote
Scrape startup jobs from wellfound.com (formerly AngelList Talent): title, company, location, salary (min/max/currency), equity, remote flag, job type, posted date and apply URL. A real browser via residential proxy clears DataDome bot protection. Delta mode returns only new postings.
Pricing
from $4.00 / 1,000 wellfound job results
Rating
0.0
(0)
Developer
Nomad Dev
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Wellfound Job Scraper — Startup Jobs
Scrape live startup job openings from wellfound.com (formerly AngelList Talent) into clean, structured JSON.
Claude / Codex skill to describe and setup this actor: SKILL.md
What Wellfound jobs data does this scraper extract?
Each result is one flat JSON record per job posting:
| Field | Meaning |
|---|---|
id | Numeric posting id parsed from the URL (e.g. 1234567 from .../jobs/1234567-role-slug); blank if the URL doesn't carry one |
title | Job title as posted |
company | Hiring company name (may be blank on pages that don't expose structured data) |
location | Location text, including remote hints (may be blank on pages that don't expose structured data) |
isRemote | Boolean — true when the posting carries a remote signal (schema.org jobLocationType = TELECOMMUTE, a remote keyword in the location, or applicant-location-requirements with no office); null when the page fell back to meta extraction |
salary | Human-readable compensation, e.g. "USD 120,000 – 160,000/year" (from JSON-LD baseSalary); null when the posting doesn't expose pay |
salaryMin / salaryMax | Numeric lower/upper bounds of the pay range (null when unexposed) |
salaryCurrency | ISO currency code of the salary, e.g. "USD" (null when unexposed) |
equity | Equity percentage range, e.g. "0.1% - 1.0%", parsed from the description when it mentions equity (best-effort; null when none stated) |
jobType | Employment type from schema.org employmentType (e.g. FULL_TIME, CONTRACTOR, INTERN); null when unexposed |
companyLogo | Hiring company's logo URL from JSON-LD hiringOrganization.logo (null when absent) |
url | Direct link to the posting |
postedAt | Posting date where wellfound.com provides it (may be blank) |
snippet | Short description excerpt |
source | Always "wellfound" — useful when merging with other job-board datasets |
How to scrape Wellfound jobs with this Actor
- Click Try for free / Run with the defaults, or set a
keywordto narrow the listing. - The Actor uses ordinary browser rendering through the configured proxy. If Wellfound presents a CAPTCHA or anti-bot challenge, the run stops honestly without attempting to clear or evade it.
- Run it and export the dataset as JSON, CSV or Excel, or read it over the API.
Run it from your own code:
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("nomad-agent/wellfound-scraper").call(run_input={"maxItems": 30})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["title"], "—", item["company"], item["url"])
Or a single HTTP call that runs the Actor and returns items in one response:
curl -X POST \"https://api.apify.com/v2/acts/nomad-agent~wellfound-scraper/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \-H "Content-Type: application/json" \-d '{"maxItems": 30}'
Input
| Field | Type | Default | Notes |
|---|---|---|---|
keyword | string | "" | Optional role query appended to the listing URL (e.g. "frontend engineer", "react"). Leave empty to scrape the default jobs listing. |
maxItems | integer | 30 | Maximum number of postings to return. |
postedSince | integer | 0 | Only keep postings posted within this many days. Postings whose date wasn't exposed by the page are kept, not dropped. 0 disables the filter. |
titleExclude | array of strings | [] | Drop postings whose title contains any of these words/phrases (case-insensitive). |
companyExclude | array of strings | [] | Drop postings whose company name contains any of these words/phrases (case-insensitive). |
remoteOnly | boolean | false | Keep only postings flagged remote (isRemote true). Postings without a confirmed remote signal are dropped when on. |
jobType | string | "" | Keep only postings of this employment type (Full-time, Part-time, Contract, Internship, Temporary). Unknown types are kept, not dropped. Empty = all types. |
salaryMin | integer | 0 | Keep only postings whose pay reaches at least this amount (compared to the top of the range). Postings without an exposed salary are kept. 0 disables. |
salaryMax | integer | 0 | Keep only postings whose pay starts at or below this amount (compared to the bottom of the range). Postings without an exposed salary are kept. 0 disables. |
proxyConfiguration | object | Residential proxy group | Ordinary proxy transport used to load public pages. It is not used to solve or evade a presented challenge. |
startUrl | string | https://wellfound.com/jobs | Advanced: override only if you want to start from a specific saved search or filtered listing URL. |
detailUrlContains | string | /jobs/ | Advanced: override only if wellfound.com changes its URL structure and the actor stops finding postings. |
useResidentialProxy | boolean | true | Deprecated — superseded by proxyConfiguration above. Kept for backward compatibility; only used when proxyConfiguration is left unset. |
Output example
{"id": "2847193","title": "Senior Backend Engineer","company": "Acme Startup","location": "Remote (US)","isRemote": true,"salary": "USD 140,000 – 180,000/year","salaryMin": 140000,"salaryMax": 180000,"salaryCurrency": "USD","equity": "0.1% - 0.5%","jobType": "FULL_TIME","companyLogo": "https://photos.wellfound.com/.../acme-logo.png","url": "https://wellfound.com/jobs/2847193-senior-backend-engineer","postedAt": "2026-06-29","snippet": "We're looking for a senior backend engineer to help scale our platform...","source": "wellfound"}
Pricing
Pay per event: $0.05 per Actor start and $0.004 per job returned. 100 jobs ≈ $0.45. No subscription, no rental — you pay only for what you fetch.
Export results as JSON, CSV or Excel; connect via Make, Zapier or n8n; call directly with run-sync-get-dataset-items; or plug into AI agents through the Apify MCP server.
Use cases
- Startup-hiring intelligence — track who's hiring across the Wellfound network
- Job-alert bots and boards focused on startup / VC-backed roles
- Recruiting and sourcing pipelines targeting early-stage companies
- Labour-market research on the startup ecosystem
FAQ
Is it legal to scrape Wellfound? This Actor reads only publicly available job postings — data any visitor can see without logging in. No personal data behind authentication is touched. Review the target site's terms and your local regulations for your specific use case.
Do I need an account on the target site? No. Postings are fetched from public pages — no login, cookies or session tokens.
Why do some runs return fewer results than maxItems?
wellfound.com can challenge a listing or detail page even through a residential proxy. The Actor does not clear or evade those challenges, so extraction is best-effort and the run records a degraded source outcome. If a run returns 0 postings, enable the debug input to save a page snapshot for distinguishing a challenge from a genuinely empty listing.
How fresh is the data? Every run fetches live listings — there's no caching layer.
How can I identify newly listed jobs? Schedule the Actor and compare its full current snapshot downstream.
How many jobs can I get?
maxItems caps the run. The listing page is paginated newest-first.
Something broken or missing? Open an issue on the Actor's Issues tab — it is monitored and reliability fixes ship fast.
Related Actors
- Y Combinator Jobs Scraper — Work at a Startup
- LinkedIn Jobs Scraper — No Login, No Cookies
- Remote Jobs Scraper — RemoteOK Remotive WWR
- Company Careers Scraper — Greenhouse Lever Ashby
From the maker of Oink — an open-source, AI-powered job-search bot for Telegram that runs on these Actors. Try the free bot, get a managed instance at oinkjobsearch.com, or browse the full catalog of 50+ Actors.