Careers Page Jobs Scraper — Any Company Website, Any ATS
Pricing
from $0.80 / 1,000 open roles
Careers Page Jobs Scraper — Any Company Website, Any ATS
Give company websites, get every open role: finds the job board behind each careers page (Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Workable, Recruitee, Personio, Breezy) and reports roles new and closed since your last run. Sites with no board found are listed with the reason. No login.
Pricing
from $0.80 / 1,000 open roles
Rating
0.0
(0)
Developer
Northbell
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 hours ago
Last modified
Categories
Share
You know the companies, not their job boards. Give this Actor a list of company websites — stripe.com, notion.so — and it finds the job board behind each careers page, reads every open role from it, and tells you which roles are new and which closed since your last run. No board names to look up, no login.
$1 per 1,000 open roles returned, plus $0.01 per run.
It reads nine applicant-tracking systems through their public job board APIs: Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Workable, Recruitee, Personio and Breezy. A board API returns every open role at once, so "new since last run" and "closed since last run" are exact, not a sample.
Measured on 11 October 2026 with 34 well-known company websites (US and Europe): a board was found for 28 of them — 8 from links on the site, 20 by the company name — 4,923 open roles in one run of 112 seconds. Of the 6 without one, 5 run a careers system of their own (not one of the nine), and 1 is on Workday but its careers page did not answer in time on that run (an earlier run found it).
How a board is found
Each company row says how its board was found, in detectedBy:
detectedBy | how |
|---|---|
url | you gave the job board link itself (jobs.lever.co/acme, acme.wd5.myworkdayjobs.com/Careers) |
page | the website, or the careers page it links to, links to or embeds the board |
name | nothing on the pages: the company name (from the domain) was asked of Greenhouse, Lever, Ashby, SmartRecruiters, Workable, Recruitee, Personio and Breezy, and the board was kept only because it names the company |
A company with no board found is not a guess. It comes back as a company row with provider: null and the reason: no-ats-found (the pages have no link to a supported board, and no board answers to the name), site-unreachable, board-not-found (a board link that does not exist) or not-a-url. Large companies that run their own careers system (not one of the nine) end up here. Those rows are free.
nameMatches: false on a company row means the board found does not carry the site's name: a group site that links to a subsidiary's board, for example. Check those by eye. When the board was found by the company name and more than one job board carries that name, the one with the most open roles is used and the others are listed in otherBoards (provider, board, open roles), because two companies can share a name. Turn off Also try the company name as the board name to use only links found on the site.
Run it again and again
- On a schedule — save your input as a task and add a Schedule: the same company list every morning. Send each run to Google Sheets, Slack or email with an integration on the task.
- Watch for changes — Set What to return to Only roles that are new since the last run: each run returns, and charges for, only the roles that appeared since the last one. Roles that closed come back as free
closedrows, and each company row counts both. - In bulk — Put every company in Company websites (up to 500) in one run.
What you get
Three kinds of row, tagged by type:
job— one open role:title,department,location,remote,seniority,employmentType, the pay range when the company published one (salaryMin,salaryMax,salaryCurrency),postedAt,jobUrl, andisNewSinceLastRun. Pluswebsite,provider,boardanddetectedBy. The full text with Include the full description.closed— a role that was open on your last run and is gone now, with its title and when it was last seen. Free.company— one per website: the board found,openRoles,newRoles,closedRolesandnetChangesince the last run (or why no board was found). Free.
The Companies view of the dataset is a hiring tracker on its own: which of your companies opened roles this week, and which went quiet.
Input
{"websites": ["stripe.com", "notion.so", "https://jobs.lever.co/acme"],"titleKeywords": "engineer, data","output": "changes"}
Filters (title, location, remote, posted within N days, experience level, employment type, published pay) change what is returned, never what is compared: a role you filtered out is not reported as closed.
Pricing
$1 per 1,000 open roles returned, plus $0.01 per run. Closed roles, company rows and companies with no board found are not charged. With What to return set to Only new, a daily run over the same companies charges only for the roles that appeared since the day before. If a run reaches your Maximum total charge, it stops there and remembers only the roles it returned: the rest still count as new on the next run, and closed roles are listed before the charged ones so none are lost.
For AI agents
Call with {"websites": ["stripe.com"]}. Rows have type: job, closed or company. A company with no board has provider: null and a reason; nothing is invented.
Related
One applicant-tracking system, any company on it, by board name: Greenhouse Jobs Scraper · Lever Jobs Scraper · Ashby Jobs Scraper · Workday Jobs Scraper.
Pay, skills and remote read out of the postings: Job Posting Parser.
Also reading the same companies on LinkedIn? Job Dedupe & Merge turns both datasets into one row per job, with every URL it was found at.