Hiring Signal Monitor - Greenhouse & Lever Job Alerts for Sales avatar

Hiring Signal Monitor - Greenhouse & Lever Job Alerts for Sales

Pricing

from $2.00 / 1,000 board checkeds

Go to Apify Store
Hiring Signal Monitor - Greenhouse & Lever Job Alerts for Sales

Hiring Signal Monitor - Greenhouse & Lever Job Alerts for Sales

Find companies that are hiring right now, the day they start. Tracks job postings opening and closing on Greenhouse, Lever, Ashby, Workable, SmartRecruiters and Recruitee via official public APIs. A clean growth signal for sales, recruiting and market research.

Pricing

from $2.00 / 1,000 board checkeds

Rating

0.0

(0)

Developer

mohamed alaya

mohamed alaya

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a month ago

Last modified

Security

Limited permissions

Share

Hiring Signal Monitor - Job Alerts and Growth Signals from Careers Pages

Find the companies that are hiring right now, the day they start. Give the Actor a list of companies (names, domains or careers URLs) and it watches their real job boards on Greenhouse, Lever, Ashby, Workable, SmartRecruiters, Recruitee and Workday. Every run it tells you which roles opened and which closed, which teams are hiring, whether headcount is growing or shrinking, and it can push the news to Slack, Discord, Zapier, Make or n8n.

Open roles are the cleanest public growth signal there is: a company opening ten security roles is about to buy security tools; one closing thirty roles is cutting. Sales, recruiting, investors and analysts use it to time outreach and spot trends.

How it works

  1. Add companies. Notion, ramp.com or https://boards.greenhouse.io/gitlab. Names and domains are resolved to the right ATS automatically (and remembered, so later runs are faster).
  2. First run = baseline. The Actor records every open role. You still get a full row per company (open roles, departments, newest postings) so the first run is useful.
  3. Schedule it (daily or hourly). Each later run compares against the previous snapshot and reports exactly what opened and closed.

Input

{
"companies": ["Notion", "ramp.com", "https://jobs.lever.co/spotify", "nvidia"],
"keywords": ["security", "data"],
"alertOn": "opened",
"minChange": 3,
"onlyChanges": true,
"webhookUrl": "https://hooks.slack.com/services/XXX/YYY/ZZZ"
}
InputWhat it does
companiesNames, domains, careers URLs or ats:slug shorthand.
keywords, excludeKeywords, departmentFilter, locationFilter, countries, seniority, remoteOnlyTrack only the slice you care about, e.g. security roles in the US. Changing filters automatically starts a fresh baseline for that company.
alertOnAlert on opened, closed or both.
minChangeIgnore small day-to-day noise: alert only when at least N roles opened or closed.
onlyChangesPush only companies with an alert (recommended for big watch lists).
webhookUrlSlack, Discord, Zapier, Make or n8n notification when something changes.
keepHistoryHow many past open-role counts to keep for charting (default 30).
alertOnErrorAfterFlags a company whose board keeps failing (renamed, moved ATS, taken down).
resetBaseline, stateStoreNameStart over, or keep separate watch lists in separate stores.

Output (one row per company)

FieldMeaning
company, board, provider, statusBASELINE, UNCHANGED, CHANGED, ERROR or SUSPECT_EMPTY
signal, netChange, growthPctHIRING_UP / HIRING_DOWN / FLAT and the size of the move
openRoles, previousOpenRolesCurrent and previous number of tracked open roles
opened[], closed[]The roles that appeared / disappeared, each with title, department, location, workplaceType, seniority, salary and URL
departments[]Open roles per department with how many opened and closed this run
topLocations[], remoteRolesWhere the hiring is and how much is remote
postedLast7Days, newestRoles[]Freshness of the pipeline (useful on the baseline run)
leadershipRolesOpened[]New director / VP / C-level roles: a strong strategic signal
openRolesHistory[]Time series of open-role counts for charts
jobs[]Every current role (switch off with includeJobList: false)
error, errorStreak, brokenTargetFailure diagnostics

Sample row (trimmed)

{
"type": "board",
"company": "GitLab",
"board": "greenhouse:gitlab",
"status": "CHANGED",
"signal": "HIRING_UP",
"openRoles": 211,
"previousOpenRoles": 208,
"netChange": 3,
"growthPct": 1.4,
"openedCount": 4,
"closedCount": 1,
"opened": [
{ "title": "Account Executive - France", "location": "Remote, France", "workplaceType": "remote",
"url": "https://job-boards.greenhouse.io/gitlab/jobs/8860302002" }
],
"topLocations": [ { "location": "Canada", "openRoles": 62 }, { "location": "United States", "openRoles": 45 } ],
"remoteRoles": 185,
"postedLast7Days": 34,
"alert": true
}

Reliability

  • Reads the public JSON APIs the companies' own careers pages use. No browser, no anti-bot, nothing that breaks on a redesign.
  • A board that suddenly returns zero roles after listing many is treated as an API hiccup (SUSPECT_EMPTY), not as a mass layoff: state is kept and no alert fires.
  • One failing company never stops the run, and you are only charged for boards that were actually read and for real hiring changes.

Pricing

Pay per event: a small charge per company checked successfully and a higher-value event when a company shows a real hiring change. Failed or empty-suspect boards are free.

FAQ

Why did my first run show no changes? The first run stores the baseline. Changes appear from the second run onward.

A company is not found. It probably runs an in-house careers site or an ATS without a public API. Paste its careers URL; the error row explains what was tried.

How often should I schedule it? Daily is enough for sales signals; hourly for fast-moving recruiting alerts.

Can I track only some roles? Yes, combine keywords, departmentFilter, countries and seniority. Example: only director-and-above roles in the US.

Where is the state kept? In the named key-value store stateStoreName. Use a different name for each watch list.