Wellfound Job Posting Scraper — Salary & Benefits
Pricing
from $3.40 / 1,000 postings
Wellfound Job Posting Scraper — Salary & Benefits
Turn Wellfound job links into structured rows: the salary range as numbers with the period it covers, employment type, whether you apply on Wellfound or the company's own system, where applications are accepted from, the company website, its industries, benefits and the posting body.
Pricing
from $3.40 / 1,000 postings
Rating
0.0
(0)
Developer
The Netaji
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Wellfound Job Posting Scraper
Turn a list of Wellfound job links into structured rows. Each link returns the salary range as numbers with the period it is quoted over, the employment type, whether the application is completed on Wellfound or handed to the company's own system, where applicants may be based, the company's website, the industries it works in, the benefits it advertises and the full posting body as published HTML.
This is the Actor for links that already exist — in a spreadsheet, a job feed, a competitor's board — rather than for finding them. Discovery is the Wellfound Jobs Scraper's job.
Accepted input
{"jobUrls": ["https://wellfound.com/jobs/4579450-software-engineer","4521165-staff-software-engineer-ai"]}
A full URL or the id-slug tail on its own; both forms may be mixed in one list. The id and the
slug are both part of the address and both are required — see the first question below. A link
listed twice is read once.
What a row looks like
{"job_id": "4579450","title": "Software Engineer","slug": "software-engineer","url": "https://wellfound.com/jobs/4579450-software-engineer","company_name": "Oklo","company_website": "https://www.oklo.com","company_logo_url": "https://photos.wellfound.com/startups/i/5268250-…-medium_jpg.jpg","posted_at": "2026-08-12T16:29:14.000Z","salary_min": 110000,"salary_max": 155000,"salary_currency": "USD","salary_period": "YEAR","employment_type": "FULL_TIME","job_location_type": "TELECOMMUTE","direct_apply": true,"locations": ["Santa Clara, California, United States"],"applicant_locations": ["United States"],"industry": "Clean Energy, Renewable Energies, Renewable Tech, and Nuclear Energy","benefits": "Healthcare benefits - We cover 99% of benefits - medical, dental, and vision…","description_html": "<p>Join us in pioneering the next generation of nuclear reactors!…</p>"}
Every field is null when the posting does not state it, rather than being omitted or filled with a
zero. salary_period is worth reading before the numbers are used: a range quoted HOUR and one
quoted YEAR are not comparable, and the period is the only thing that says which is which.
Questions
Why is the numeric id on its own not enough?
Because Wellfound resolves a posting on the whole id-slug address. On 16 August 2026 three ids
taken straight out of a search were requested without their slug, and again with a wrong one, and
all six came back as the same empty response a deleted posting returns. Since an id-only request
cannot succeed, an entry without its slug is reported and dropped before it costs anything rather
than being sent and billed. Every row the jobs scraper produces carries url and slug, which is
where the pairs come from.
A link returned no row. Was it an error? No. A posting that has been taken down — the role was filled, the company withdrew it — answers exactly like a link that never existed, so from outside those are one outcome. The run logs the link that produced nothing, carries on with the rest of the list, and nothing is charged for it. Losing nineteen good rows to one closed posting would be the wrong trade.
What does this add over the search rows?
The pay as numbers with a period attached, employment_type, direct_apply,
job_location_type, applicant_locations, the company's own website, industry, benefits and
the posting body as HTML. The search row already carries the description as plain text, the pay as
a display string, the locations and the experience band, so a run here is worth it for the
structured pay and the company website rather than for the text.
locations is empty on some postings. Is that missing data?
It is meaningful rather than missing: a fully remote posting states no place, and those rows carry
job_location_type: "TELECOMMUTE" instead. applicant_locations is the separate question of
where a hire may sit, and it is stated independently — a role anchored in one city that will take
applicants anywhere in a country fills in both.
Why is description_html markup rather than text?
Because that is how the posting is published, and stripping it would throw away the headings and
lists that make a long posting readable. The plain-text version of the same body is on every row
of the Wellfound Jobs Scraper, so a pipeline
that wants text without parsing HTML should read it there.
Can several hundred links be run at once? Yes — the list is walked in order, one request per link, and each row is charged individually. There is no page limit and no cursor to manage, so the practical bound is how long the run may take rather than a cap in the Actor.
Related Actors
Wellfound Jobs Scraper searches by role and city and can attach everything above to each result in the same run, which is cheaper than exporting a search and re-reading it here.
Wellfound Company Scraper takes the company behind a posting and returns its funding, team, perks and other open roles.