Hiring Change Radar — Greenhouse, Lever & Ashby avatar

Hiring Change Radar — Greenhouse, Lever & Ashby

Pricing

from $10.00 / 1,000 successful board checks

Go to Apify Store
Hiring Change Radar — Greenhouse, Lever & Ashby

Hiring Change Radar — Greenhouse, Lever & Ashby

Export public jobs and track new, changed, reopened and confirmed-removed vacancies across Greenhouse, Lever and Ashby. No ATS API keys required.

Pricing

from $10.00 / 1,000 successful board checks

Rating

0.0

(0)

Developer

JeremyWeng

JeremyWeng

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 days ago

Last modified

Categories

Share

Export public job listings and see what changed since your last check. Built for recruitment research, job board updates, and recurring hiring reports across a known list of companies.

What you get

  • Current jobs from Greenhouse, Lever (US and EU), and Ashby in one consistent format.
  • New, updated, reopened, and confirmed-removed job events across scheduled runs.
  • Before/after values for changed fields, including a hash to detect description changes.
  • JSON reports and separate flat CSV files for jobs and changes.
  • Public data only. No ATS credentials, proxy subscription, or AI API key required.

Quick start

Enter one or more direct public job board URLs and run in Export current jobs mode. Example input:

{
"boards": ["https://jobs.ashbyhq.com/ashby"],
"mode": "snapshot",
"includeDescriptions": false
}

You can also enter greenhouse:company, lever:company, lever-eu:company, or ashby:company. Replace company with the board's actual URL identifier. This Actor does not search for companies or discover board URLs.

Daily monitoring

  1. Choose Monitor changes across runs and set a monitor name, such as daily-hiring.
  2. Run once to create your baseline. Existing jobs appear as baseline events, rather than new openings.
  3. Save the input as an Apify task and attach a daily schedule. Keep the same monitor name and resetBaseline: false.
  4. Read the next run's changes array or changes CSV. Use Apify integrations/webhooks for your own downstream workflow.
{
"boards": ["https://jobs.ashbyhq.com/ashby"],
"mode": "monitor",
"monitorName": "daily-hiring",
"removalConfirmations": 2,
"includeUnchanged": false,
"includeDescriptions": false,
"resetBaseline": false
}

Baselines live in a named key-value store in the calling user's Apify account. Different monitor names have independent histories. Do not delete that store unless you want to start over. Snapshot mode creates no monitoring history.

Outputs

The default dataset contains one report per successfully checked board, with nested jobs and changes arrays. Download JSON for complete reports. For a flat spreadsheet, open the run's Storage > Key-value store and download BOARD-01-JOBS.csv or BOARD-01-CHANGES.csv (then BOARD-02, etc.). The output links include an EXPORTS file mapping boards to CSV filenames, and SUMMARY with success/failure counts.

Job fields include job ID, title, location, department, team, employment type, workplace type, application URL, dates supplied by the source, compensation JSON when supplied, and a description hash. Optional plain descriptions are capped at 20,000 characters; the hash covers the full source description. Missing source fields are null; salary and remote status are not guessed from titles.

Change types:

TypeMeaning
baselineJob seen during the first successful scan or an explicit reset
newPreviously unseen job ID
updatedA tracked field changed; before/after contains changed fields
removedMissing for the configured number of successful complete scans
reopenedA previously confirmed-removed ID reappeared within retained history
unchangedOptional event for an unchanged job

changeCount excludes baseline and unchanged events. Timestamp-only changes do not generate updates. A removal means the public posting disappeared; it does not prove that someone was hired. Removed IDs are retained for 30 days; a later reappearance may be classified as new. CSV cells starting with spreadsheet formula prefixes are escaped for safe viewing.

Pricing

The price is $0.01 per successful board check, plus $0.00005 per Actor start at all supported memory settings. Platform usage is included in these prices for customers. The live Pricing tab is authoritative. One check includes all jobs and all changes for that board, including a valid empty board or an unchanged result. Duplicate board inputs are checked once. Source failures do not incur a board-check event charge; the Actor start fee still applies.

Monitoring 10 boards once a day for 30 days costs $3.0015, including 30 Actor starts. A single 10-board run costs $0.10005; choose a maximum run cost of at least $0.11 for that example. The minimum selectable maximum run cost is $0.02; this is a spending-limit setting, not a minimum billed charge. The Actor stops before starting another board when it cannot afford another event. Event charges may remain for successfully delivered reports even if a later board fails.

Limits and reliability

  • 1–10 distinct boards per run; up to 3,000 public jobs per board.
  • Official public ATS endpoints only. Custom careers domains, login-only vacancies, candidate data, and applications are unsupported.
  • A source response above 20 MiB or a report/snapshot above 8 MiB fails that board rather than saving a partial baseline. Turn off descriptions for large boards.
  • Requests retry transient network/server errors and respect bounded rate-limit delays. Failed, malformed, incomplete, and oversized responses preserve prior monitoring state.
  • Runs using the same monitor name must not overlap. There is a best-effort lease and revision check, but Apify key-value storage does not provide an atomic lock. Serialize schedules and API calls.
  • Delivery and state persistence are separate operations. A crash between them can cause an event to appear again on a later run. Successful committed boards are skipped when the same run is resumed. This is not an exactly-once event stream.
  • A partially failed run has FAILED status so your monitoring can notice it; successful reports remain in its dataset. On a fatal export/persistence error, consult ERROR and the logs.
  • Changes to a source API may require maintenance. No estimate of hiring volume or business outcomes is implied.

Support

Open an issue on this Actor's Apify Store page with the run ID, affected public board URL, and expected/actual result. Do not include API tokens, private applicant data, or credentials. For a baseline reset, enable resetBaseline for one run and turn it off again before scheduling.

Development

Node.js 22 or newer is required. Install with npm ci, then run npm test and npm run check. npm run demo creates clearly labeled synthetic examples. npm run smoke accesses live public boards; availability and results change over time. npm start runs the Apify SDK entry point using local storage by default.

Data sources: Greenhouse Job Board API, Lever Postings API, Ashby public job posting API.