Career Page Job Monitor — ATS Hiring Changes
Pricing
$0.05 / 1,000 results
Career Page Job Monitor — ATS Hiring Changes
Scan public career pages and pull every open role plus every ATS job link (Lever, Greenhouse, Ashby, Workable, Personio, Recruitee), each with title, location, URL and a stable ID. Re-run on a schedule, diff the IDs, and you get a hiring signal: roles added, removed or changed.
Pricing
$0.05 / 1,000 results
Rating
0.0
(0)
Developer
David
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Scan public career pages and get every open role in one dataset, each with a stable ID you can diff between runs. That diff is the hiring signal: the roles a company added, removed or renamed since last week, without anyone opening a browser.
This Actor is intentionally narrow: it reads public career/job pages, respects robots.txt by default, extracts current job-posting rows, and gives each row a stable ID that can be compared between scheduled runs.
Who uses it
- Sales and GTM teams: a company opening three SDR roles is a company about to buy sales tooling. Watch your target accounts and act on the signal the week it appears.
- Recruiters: track which roles competitors open, how fast they close, and which titles keep coming back.
- Founders and analysts: headcount plans are public before press releases are. Job titles tell you which product line is being staffed.
- Job seekers: watch 20 company career pages at once and apply the day a role goes up.
Job data extracted from career pages and ATS boards
- JSON-LD
JobPostingdata when a page exposes structured job data. - Links to common public job-board systems such as Lever, Greenhouse, Ashby, Workable, SmartRecruiters, Breezy, Personio, and Recruitee.
- Generic career/job links on public career pages.
Input
{"startUrls": [{ "url": "https://apify.com/careers" }],"maxPagesPerSite": 5,"sameDomainOnly": true,"respectRobotsTxt": true}
Hard limits protect the buyer from accidental runaway runs:
startUrls: maximum 20 per run.maxPagesPerSite: default 5, hard maximum 25.- No login, no paywalls, no private data, no browser automation.
Output
Each dataset item contains:
{"companyHost": "example.com","sourceUrl": "https://example.com/careers","jobUrl": "https://example.com/careers/software-engineer","title": "Software Engineer","location": "Remote","descriptionSnippet": "Short snippet when available","extractionMethod": "json_ld_jobposting","confidence": 0.98,"stableId": "1d72f3...","detectedAt": "2026-07-01T00:00:00.000Z"}
Data returned for every job
| Field | What it holds |
|---|---|
companyHost | Domain of the company being watched |
sourceUrl | Career page the row was found on |
jobUrl | Direct link to the job posting |
title | Job title |
location | Location string when the page publishes one |
descriptionSnippet | Short excerpt when available |
extractionMethod | json_ld_jobposting, ATS link, or generic career link |
confidence | Extraction confidence between 0 and 1 |
stableId | Hash used to diff one run against the next |
detectedAt | Timestamp of the run that saw the row |
Monitoring workflow
Run this Actor on an Apify schedule with the same input. Compare stableId values across datasets to detect new, removed, or changed job postings.
Boundaries
This Actor only targets public pages. Keep respectRobotsTxt enabled unless you have verified that your use case and the target site allow crawling. Do not use it for private, authenticated, paywalled, or sensitive personal data.