Hiring is one of the clearest public signals of what a company plans to do. Here is how to watch a list of companies and get only the job postings that changed, using an Apify Actor I built: Job Postings API & Change Tracker. It reads Greenhouse, Lever, Ashby, SmartRecruiters, Workable, Recruitee and Personio, and nothing else.
1. Add companies
Paste company domains (acme.com) or career-page links into boards, up to 100. The job board is detected for you, free. If detection misses, write the board yourself: greenhouse:vercel, ashby:linear, lever:spotify, smartrecruiters:Bosch, workable:mindvalley, recruitee:bunq, personio:acme. Give the list a watchlistName if you track several lists; each name keeps its own snapshots.
2. First run
Click Start. The first run lists every open posting (turn emitBaseline off to only record the starting point). Use titleIncludes, departments, locations or remoteOnly to list only the roles you care about. Each company also gets a type: board row with open roles, roles per function and a signal (surge, freeze, expanding, contracting, steady).
3. Later runs
Run it again, or schedule it daily or weekly. Now you get only changes:
-
type: postingwithstatusnew, closed or changed (withchangedFieldsandprevious) -
type: boardwithnewCount,closedCount,newFunctions,leadershipHires,techStackand open roles 7 and 30 days ago
A function hiring for the first time (newFunctions) or a leadership hire is usually the strongest signal for outreach. Function, seniority and tool tags come from fixed word lists, so use them to filter and count, not as exact facts.
4. Send it somewhere
- Google Sheets: in the Actor's Integrations tab connect Google Sheets, then filter the
typecolumn toposting. - Slack: paste an incoming-webhook URL into
slackWebhookUrl; a digest is posted only when something changed, and it is free.webhookUrlsends the same digest as JSON. - Clay or any HTTP tool: call the Actor's
run-sync-get-dataset-itemsendpoint with body{"boards":["{{domain}}"],"emitBaseline":false}and readsignal,summaryandleadershipHiresfrom the board row.
Cost and limits
$1.50 per 1,000 results; a quiet company costs $0.0015 a day. Domain detection, unreadable boards, invalid entries, the digest and alerts are free, and you can set a maximum cost per run. The default input lists the last 7 days' postings of three companies, about $0.02; with postedWithinDays cleared on a first run the same three list about 200 postings, about $0.30. Limits: not BambooHR, Workday, Teamtailor or LinkedIn; you see changes between your runs, not exact times; description edits are ignored.
Disclosure: I built this Actor.
Top comments (0)