Hiring Signal Monitor: Open Roles & Hiring Velocity avatar

Hiring Signal Monitor: Open Roles & Hiring Velocity

Pricing

from $5.00 / 1,000 results

Go to Apify Store
Hiring Signal Monitor: Open Roles & Hiring Velocity

Hiring Signal Monitor: Open Roles & Hiring Velocity

Track open roles and hiring velocity from companies' Greenhouse and Lever job boards as a B2B sales and expansion trigger. New-role and velocity-spike alerts, with a hard cost cap. For sales, recruiting and market research.

Pricing

from $5.00 / 1,000 results

Rating

0.0

(0)

Developer

Hamza Tariq

Hamza Tariq

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

15 hours ago

Last modified

Share

Hiring Signal Monitor — track open roles & hiring velocity for sales triggers

Turn a company's hiring into a sales and expansion signal. A hiring signal monitor / job-postings scraper / extractor / data API / feed that reads companies' public Greenhouse and Lever job boards, normalizes every open role to one schema with a derived seniority and a per-company open-roles count, and turns repeated runs into a new-role and velocity-spike monitor — for B2B sales teams, recruiters, and market researchers tracking talent demand.

Quick Start: click Start with the default input. With zero configuration it pulls open roles from a known public Greenhouse board and a known public Lever board and returns clean rows — company, role title, seniority, department, team, employment type, location, remote flag, open-role count, and the posting link. To track your own target accounts, paste company board tokens into greenhouseTokens (e.g. gitlab — the slug after boards.greenhouse.io/) and/or leverTokens (e.g. leverdemo — the slug after jobs.lever.co/). Narrow the feed with the optional filters — roleKeywords, seniority, department, locationIncludes, remoteOnly (all empty = every role). First useful results in under two minutes.

What it does

Greenhouse and Lever expose public, no-auth JSON job boards per company, so the data is clean, stable, and easy to extract — no browser, no login, and deliberately not the anti-bot Indeed/LinkedIn head. This actor:

  • pulls a company's open roles with title, department, team, employment type, location, and remote flag;
  • normalizes every role across boards to one schema with a stable, board-scoped id, a derived seniority band (intern → executive), and a company-level open-roles count (the number of open roles on the board — a hiring level, the budget-and-expansion signal a sales team acts on; tracked over scheduled runs it becomes the velocity trend);
  • on a schedule, becomes a monitor — emitting (and charging for) only roles that are new or whose details changed (e.g. a retitled or relocated role) since the last run.

Who it's for

B2B sales teams (hiring is a buying trigger — a company hiring five sales reps is expanding), recruiters, and market researchers tracking talent demand.

Sources & roadmap

  • Greenhouse — live today, via the public board JSON (boards-api.greenhouse.io).
  • Lever — live today, via the public board JSON (api.lever.co).
  • Other ATS / niche boards (Ashby, Workable, vertical boards) — planned follow-ons; the schema already carries a board field so they slot in without a schema change.

Input

Runs zero-config. Optional fields:

  • greenhouseTokens — one or more Greenhouse board tokens (the slug in a board URL). Leave empty for a demo run on a known public board.
  • leverTokens — one or more Lever board tokens (the slug in a Lever jobs URL). Leave empty for a demo run on a known public board.
  • roleKeywords — keep only roles whose title contains one of these (case-insensitive); e.g. ["engineer", "sales"]. Empty = every role.
  • seniority — keep only roles whose derived seniority is one of intern, junior, mid, senior, lead, executive, unknown. Empty = every level.
  • department — keep only roles whose department contains one of these. Empty = every department.
  • locationIncludes — keep only roles whose location contains one of these (e.g. ["berlin", "remote"]). Empty = every location.
  • remoteOnly — when true, keep only roles flagged remote. Default false.
  • maxItems — cap on roles returned per run (keeps runs cheap).
  • maxCostPerRunUsd — hard ceiling on spend per run (default $5).

All filters are applied at fetch time, so you only pay for the roles you asked for. The boards have no query API; the actor fetches the public board and drops non-matching roles in-process.

Output

One JobSignal per row: company, board, title, seniority, department, team, employmentType, location, remote, openRoles, postedDate, and the role sourceUrl, plus a stable board-scoped id. See .actor/dataset_schema.json.

Notes on fields:

  • openRoles is the number of open roles on that company's board at fetch time — a hiring level (identical on every row from the same board), not a per-run rate. Schedule the actor and the change in this level run-over-run is the velocity trend.
  • company for Lever rows is the board slug (e.g. leverdemo); Lever's public board JSON does not carry a display name. Greenhouse rows carry the real company_name.
  • department populates on Greenhouse (via the public board's departments) and on Lever (native). team and employmentType are Lever-native and are null on Greenhouse.

Pricing

Pay-per-event: a small start fee plus a per-result charge, with a hard per-run cost cap on by default — so the bill is never a surprise. In monitor mode you pay only for new or changed roles. Built on public, stable Greenhouse and Lever board APIs, so it is low-maintenance — fixes within 24h.