There is no official Wellfound API. The data lives in the site's markup, so bulk access means scraping the pages.
Here's what our Wellfound Actor returns, what it costs, and where its limits are.
Start a run and wait for the dataset with one call:
curl -X POST "https://api.apify.com/v2/acts/blackfalcondata~wellfound-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"query": "..."}'
The Python equivalent:
from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("blackfalcondata~wellfound-scraper").call(run_input={"query": "..."})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)
Every row contains 71 fields, grouped roughly like this:
This is an actual record from a run, trimmed to the leading fields:
{
"id": "4579450",
"title": "Software Engineer",
"slug": "software-engineer",
"portalUrl": "https://wellfound.com/jobs/4579450-software-engineer",
"detailUrl": "https://wellfound.com/jobs/4579450-software-engineer",
"compensation": "$110k - $155k",
"salaryMin": 110000,
"salaryMax": 155000,
"salaryEquityMin": null,
"salaryEquityMax": null,
"description": "Join us in pioneering the next generation of nuclear reactors! You'll leverage your sof...",
"descriptionHtml": null,
"descriptionMarkdown": "Join us in pioneering the next generation of nuclear reactors! You'll leverage your sof...",
"jobType": "full-time"
}
The input accepts 55 options, including query, roles, searchUrls, location, excludeLocations, remote, originLocation, radiusMiles, radiusKm, jobType, and more.
Filters run server-side. You pay for the records you requested instead of collecting extra records and filtering them afterwards.
Pricing is per event, with no subscription:
Here are the numbers from a measured run, not an estimate:
Is there an official Wellfound API?
No. Wellfound publishes this data on its pages but does not provide a public API for it. Every option here therefore involves reading those pages.
How do I authenticate?
Use an Apify API token, passed through ?token= or an Authorization: Bearer header. The token belongs to you, not us. It is the only credential involved; there is no separate account on the source site.
How long does one call take?
The measured run returned 120 records in 91.0 seconds. run-sync-get-dataset-items keeps the connection open for the full run. For large runs, start the run and poll the dataset instead.
Can I page through results?
The run is bounded by salaryMax, not by paging through responses. You request a number of records and receive one dataset. If you want to read that dataset in chunks, its endpoint accepts offset and limit.
What format does it return?
JSON is the default. By changing the format parameter, the same run's dataset endpoint can also serve CSV, XLSX and JSONL. No separate export step is required.
the Wellfound API we run so you do not have to runs on Apify. The endpoint above is the complete integration.
New accounts receive $5 of free platform credit each month, enough to run a job of this size several times over.
Disclosure: we build and maintain this Actor, and the link above is an affiliate link.