Hiring Changes Monitor: Opened & Closed Jobs by Company
Pricing
from $3.00 / 1,000 company checks
Hiring Changes Monitor: Opened & Closed Jobs by Company
Job tracker for new job postings: track which jobs each company opened or closed since your last run, from public Greenhouse, Lever, Ashby, Workable, SmartRecruiters and Recruitee job boards. One summary row per company plus one row per changed job. No login needed.
Pricing
from $3.00 / 1,000 company checks
Rating
0.0
(0)
Developer
Clearpath Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 days ago
Last modified
Categories
Security
Limited permissionsShare
A job change monitor for company hiring: see which jobs a company opened and closed since your last run. Point it at company job boards on Greenhouse, Lever, Ashby, Workable, SmartRecruiters or Recruitee, schedule it, and get one summary row per company (open jobs, opened, closed, net change by department) plus one row per changed job. The first run already returns data: each company's current open jobs.
Price: $0.005 per company checked and $0.001 per changed job. You only pay for rows saved to your dataset. Set maxResults or your maximum cost per run to cap the spend.
What does Hiring Changes Monitor do?
- Reads each company's public job board through the board's public job-board API. No login, no cookies, nothing behind a sign-in.
- On the first run for a company it saves the list of open jobs as a baseline and also lists them: one current-job row per open job matching your filters, with
changeType: "current". Current-job rows are free; you pay only the company check. Turn them off withcurrentJobsOnFirstRun: false. - On every later run it compares the board with that baseline and saves:
- one company row: open jobs, opened, closed, net change, opened/closed by department, days since the last check;
- one job-change row per opened or closed job: title, department, location, workplace type, posted date, link, and a
possibleRepostflag when a job with the same title and location closed and reopened under a new ID.
- Then it moves the baseline forward, so the next run shows only what's new. Later runs never repeat the current-job list.
Quick start
- Click Try for free, keep the prefilled companies (Stripe, Spotify, OpenAI) and press Start. The first run saves baselines and lists each company's open jobs (up to Max job changes, 1,000 by default).
- Run it again later (or schedule it daily) to see what opened and closed. To see what a later run looks like without waiting, open the public example task Jobs opened and closed at Stripe, Spotify and OpenAI.
- Or call it from code:
curl -X POST "https://api.apify.com/v2/acts/clearpath-data~hiring-changes-monitor/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" -d '{"companies": ["stripe", "https://jobs.lever.co/spotify"], "stateName": "my-watchlist"}'
Sample output: job changes
| changeType | company | title | department | location |
|---|---|---|---|---|
| opened | Spotify | Art Director - Mexico | Markets and Subscriber Growth | Mexico City |
| opened | Spotify | Audiobook Licensing & Partnerships Manager - Japan | Business Team | Tokyo |
| opened | Spotify | AV Engineer - Platform | Engineering | Stockholm |
| opened | Spotify | Client Partner ANZ | Advertising | Sydney |
Sample output: first run (current jobs)
| changeType | company | title | department | location |
|---|---|---|---|---|
| current | Spotify | Art Director - Mexico | Markets and Subscriber Growth | Mexico City |
| current | Spotify | Artist & Label Partnerships Contractor, Vietnam | Content | Ho Chi Minh |
| current | Spotify | Artist Label Partnerships Manager, Taiwan | Markets and Subscriber Growth | Taiwan (Home Mix) |
| current | Spotify | Associate – Audiobook Licensing & Author Partnerships | Operations and Business Support | New York, NY |
| Real output of a local first run on 2026-10-20 (Spotify's public Lever board); the first rows by title. |
Sample output: company summary
| company | status | openJobs | opened | closed | netChange | daysSincePreviousCheck |
|---|---|---|---|---|---|---|
| Spotify | checked | 82 | 17 | 14 | +3 | 9.9 |
Real output of a test run on 2026-10-19, compared with Spotify's public Lever board as saved on 2026-10-09. Engineering had the most new roles (5).
Hiring signals for sales and investors
A company that opens a group of sales or engineering roles is often growing that team; a run of closed roles can mean a team is filled, paused or cut. Each company row gives open jobs, opened, closed and net change by department, so you can sort a watchlist by hiring momentum. Treat it as a signal to look closer, not as proof: the job board doesn't say why a posting opened or closed.
New job postings alerts
- Create a task with your companies (and
departments,keywordsorlocationsif you only care about some roles) andchangeTypes: ["opened"]. - Schedule it daily or hourly with a fixed
stateName. - Add a Slack, email or webhook integration on the task so each run that finds new jobs notifies you. Runs with no changes cost only the company checks.
Use cases
- Recruiters and agencies: get new postings in your niche and city as they appear, e.g. new London jobs at Monzo, GoCardless and Zopa or Berlin jobs opened and closed.
- Sales teams: watch your accounts for new sales postings, e.g. new Account Executive and SDR jobs (matched on the job title).
- Investors and market research: follow a watchlist's postings over time, e.g. an AI company hiring tracker; the company summary shows open jobs, opened, closed and net change by department.
- Job boards: feed only new roles, e.g. new remote engineering jobs ("remote" uses each job board's own remote flag).
- Competitive intelligence: see when a competitor posts roles in a new department or takes down a group of postings.
- Job seekers' tools: alert on new roles at target companies only, instead of re-reading whole boards.
"Opened" and "closed" describe the public job board only: a closed posting may have been filled, paused or moved, and the board doesn't say which.
Input
| Field | Type | Default | What it does |
|---|---|---|---|
companies | array | Board slugs ("stripe"), prefixed slugs ("lever:spotify"), board URLs or careers-page URLs | |
ats | string | "auto" | Which ATS to try for plain slugs; "auto" tries them in turn |
changeTypes | array | [] (both) | "opened", "closed" |
keywords | array | [] | Only jobs whose title contains one of these |
locations | array | [] | Only jobs whose location contains one of these |
remoteOnly | boolean | false | Only remote jobs |
departments | array | [] | Only jobs whose department or team contains one of these |
stateName | string | "default" | Name of the saved baseline; use one per schedule or task |
baselineDatasetId | string | Compare with an earlier run's dataset instead of the saved state | |
updateState | boolean | true | Move the baseline forward after a company's changes are all saved |
currentJobsOnFirstRun | boolean | true | On a company's first check, also list its open jobs as free current rows |
maxResults | integer | 1000 | Stop saving job rows after this many (0 = no limit); opened/closed rows first, first-check current rows use the room left |
maxConcurrency | integer | 3 | Boards read in parallel (1 to 10) |
Filters apply to both the baseline and today's board, so changing them between runs doesn't create false changes.
Integrations, schedules and AI agents
- Schedules: Schedule it daily or weekly with one
stateNameper watchlist. See Apify schedules. - No-code tools: send results to Google Sheets, Slack or a CRM with Apify's Make, Zapier or n8n integrations, or a webhook when a run finishes.
- AI agents and assistants (MCP): connect an MCP client to
https://mcp.apify.com?tools=clearpath-data/hiring-changes-monitorwith your Apify account (OAuth or API token) and the agent can run this Actor as a tool, charged per event at the prices under "How much does it cost?". Agents without an Apify account can use a prepaid token from Apify's agentic payments (experimental). See the Apify MCP server docs.
How much does it cost?
| What | Price | Per 1,000 |
|---|---|---|
| Company check (summary row) | $0.005 | $5.00 |
| Job opened or closed | $0.001 | $1.00 |
| Actor start (Apify standard) | $0.00005 per GB of memory, per run |
Examples:
- The test above (Spotify, 17 opened + 14 closed): $0.005 + 31 × $0.001 = $0.036.
- A watchlist of 50 companies checked daily, with about 3 changes per company per day (estimate): 50 × $0.005 + 150 × $0.001 = $0.40 per day.
- The first run for each company costs only the company check. Its current open jobs are listed free, because there's nothing to compare yet.
Each run's cost is shown in the run's details in Apify Console.
Limits and honest notes
- Only public job boards on the six supported ATSs. No social networks and no sites that need a login. Companies whose careers page uses another system can't be monitored.
- "Closed" means the posting left the public board. It could be filled, paused, cancelled or moved to an internal board; the API doesn't say why.
- Re-posts: some companies take a job down and post it again under a new ID. That shows as one closed plus one opened;
possibleRepostmarks pairs with the same title and location. - Timing depends on how often you run it. A job that opens and closes between two runs is never seen.
- SmartRecruiters company IDs are case-sensitive ("BoschGroup"), and an unknown ID returns an empty board, which is reported as not found.
- Polite by design: at most 10 boards in parallel and at least 0.5 s between requests to the same job-board host. Very large watchlists take a little longer.
- If a run stops early (Max results or your maximum cost per run), the baseline isn't moved forward for companies whose changes were cut off, so the next run lists them again.
- Job data belongs to the companies that post it, and is read from each vendor's public job-board API.
FAQ
How is this different from a jobs scraper?
A jobs scraper returns every open job each time. This Actor returns only what changed, plus a per-company summary, so a daily schedule stays cheap and easy to act on.
Where is my baseline stored?
In a key-value store named hiring-changes-monitor-state in your own Apify account, one record per state name and company. Delete it to start over.
No saved state, or a new account?
Set Compare with dataset to the dataset of an earlier run of this Actor. Its company rows hold each board's open jobs.
Can I export to CSV or Excel?
Yes. Every Apify dataset can be downloaded as CSV, Excel, JSON or XML. Use the Job changes or Companies view.
What's in the run report?
The RUN_REPORT record lists every company's status (checked, baseline, not found), counts, changes saved, the stop reason and warnings.
How do I get an alert when a company posts a new job?
See "New job postings alerts": schedule a task with changeTypes: ["opened"] and add a Slack, email or webhook integration.
How many companies can I monitor?
There is no fixed limit in the input. Each company costs one company check ($0.005) per run, so 100 companies checked daily cost $0.50 a day plus changed jobs. Large lists take longer because the Actor reads at most 10 boards in parallel and waits at least 0.5 s between requests to the same host.
Why does my first run show no changes?
The first run for a company saves its baseline and lists its current open jobs as free current rows. Changes appear from the second run with the same stateName.
Further reading and example tasks
- Jobs opened and closed at Stripe, Spotify and OpenAI (public example task)
- New engineering jobs at Airbnb, Databricks and Figma (public example task)
- New sales jobs at Stripe, Figma and Databricks (hiring signal) (public example task)
- Jobs closed since the last run: Airbnb, Spotify, OpenAI (public example task)
- New London jobs at Monzo, GoCardless and Zopa (public example task)
- AI company hiring tracker: Anthropic, Cohere, Perplexity (public example task)
- New Account Executive and SDR jobs at SaaS companies (public example task)
- New remote engineering jobs at GitLab, Supabase, PostHog (public example task)
- Berlin jobs opened and closed: Delivery Hero, N26, GetYourGuide (public example task)
- Job tracker: new job postings at Notion, Linear and Vercel (public example task)
Combine with other Clearpath Data Actors
- Full current job list. ats-jobs-by-company uses the same slugs and returns every open job with descriptions and salary where the board publishes it. Use it for a one-off snapshot, and this Actor for the changes.
- Company context for UK employers. Look up tracked UK companies in companies-house-new-companies (lookup mode), and check uk-visa-sponsor-register to see whether they hold a Skilled Worker sponsor licence.
- Remote job boards. remote-jobs-aggregator adds remote jobs from Remote OK and Himalayas.
- Funding rounds, then hiring. us-private-funding-rounds lists US companies that just filed a Form D notice for a private funding round. Add the ones with a public job board here to see which jobs they open afterwards.
Other Clearpath Data Actors
| Actor | What it does |
|---|---|
| ats-jobs-by-company | All open jobs from Greenhouse, Lever, Ashby, Workable, SmartRecruiters and Recruitee boards |
| uk-visa-sponsor-register | UK visa sponsor licence list from the GOV.UK register, with a changes feed |
| us-new-business-filings | New LLCs and corporations from the NY, CO and CT state registries, since your last run |
| remote-jobs-aggregator | Remote jobs from Remote OK and Himalayas |
| companies-house-new-companies | New UK companies from Companies House, with officers and PSCs |
| lei-lookup | LEI lookup via the GLEIF API (LEI, name, BIC, ISIN) |
| us-private-funding-rounds | New US private funding rounds from Form D notices, only filings new since your last run |
| us-federal-contract-opportunities | Daily US federal contract opportunities and award notices from SAM.gov's public extract; companies that just won federal contracts may start hiring |