ATS Jobs Scraper & Change Monitor
Pricing
Pay per event + usage
ATS Jobs Scraper & Change Monitor
Get every open job from any company's career page — Greenhouse, Lever, Ashby, SmartRecruiters — normalized into one schema. Monitor mode returns only what changed: new, removed and edited postings. Official job-board APIs, no proxies. Watch 100 companies daily for ~$8/month.
Pricing
Pay per event + usage
Rating
0.0
(0)
Developer
Захар Бараненко
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
ATS Jobs Scraper & Change Monitor — Greenhouse, Lever, Ashby, SmartRecruiters
Give it a list of companies — get every open job from their career pages, normalized into one clean schema. Switch on monitor mode and each scheduled run returns only what changed: new postings, removed postings, edited postings (title, location, salary). No proxies, no scraping tricks — the Actor reads the same public job-board APIs the career pages themselves use.
What you get
Each job record:
| Field | Example |
|---|---|
company / ats | stripe / greenhouse |
title | Backend Engineer, Payments |
department / team | Engineering / Payments |
location | New York · Remote |
remote | true |
employment_type | Full-time |
salary_min / salary_max / salary_currency | 140000 / 180000 / USD (where the board exposes it) |
url | direct apply link |
published_at / updated_at | ISO dates |
In monitor mode, change records add "change": "new" | "removed" | "changed".
Supported ATS (auto-detected)
- Greenhouse —
boards.greenhouse.io/... - Lever —
jobs.lever.co/... - Ashby —
jobs.ashbyhq.com/... - SmartRecruiters —
careers.smartrecruiters.com/...
Pass a bare slug (stripe), a career-page URL, or an explicit greenhouse:stripe.
The Actor probes all four ATS for bare slugs and caches the answer, so later runs
are fast.
Two modes
Pull — returns all current jobs every run. Good for one-off datasets and lead lists.
Monitor (default) — the first run saves a baseline; every later run compares and returns only the diff. Put the Actor on a daily schedule and pipe the dataset into Slack, n8n, Make or a webhook: you get pinged the day a company opens (or quietly closes) a role. You pay cents for the change records instead of re-downloading a 500-job board every day.
Who uses this
- Recruiting agencies — a company opening 5 sales roles is a placement opportunity. Be first.
- B2B sales / GTM teams — job postings are buying signals: a new Head of Data means data-tooling budget. Watch your target accounts' hiring instead of paying $99+/mo for a signals platform.
- Job seekers (power users) — watch your 30 dream companies and apply on day one, not when the posting hits aggregators.
- Analysts & founders — track competitors' headcount moves by department.
- AI agents — callable via Apify MCP: “what is company X hiring for right now?”
Pricing
Pay per event, no subscription:
| Event | Price | When |
|---|---|---|
| Company checked | $0.002 | each company successfully fetched |
| Job result | $0.002 | each job row (pull mode, first baseline, or optional snapshot) |
| Change found | $0.008 | each new / removed / changed posting in monitor mode |
Typical spend: watching 100 companies daily with ~10 changes a day ≈ $8–9/month. Companies that fail (no supported board found) are never charged.
Example: Slack alert on a competitor's new job (n8n)
- Schedule this Actor daily with your watchlist, mode =
monitor. - n8n → Apify node: “Get dataset items” from the last run, filter
record_type = change,change = new. - Slack node: post
{{company}} just opened: {{title}} ({{location}}) — {{url}}.
The same three steps work in Make, Zapier or a plain webhook.
Input example
{"companies": ["stripe", "linear", "https://jobs.lever.co/spotify"],"mode": "monitor"}
FAQ
Where does the data come from? From the public job-board APIs of each ATS — the same JSON the company's own careers page loads. No login, no proxies, no personal data: only public job postings.
A company isn't found? Its careers site runs on an ATS we don't support yet (e.g. Workday) or uses a custom board. You are not charged for it. Tell us in the Issues tab — the next ATS integrations are prioritized by requests.
How do I reset the monitor baseline? Delete the ats-jobs-monitor-state
key-value store in your Apify console (Storage → Key-value stores) — the next run
rebuilds it.