Paste job-board URLs (Greenhouse, Lever, Ashby, Workable), get every open job normalized to one schema — fresh from the source. Run it weekly and see exactly which roles opened, closed or changed.
Open positions from four applicant tracking systems, normalised into one schema, with a
week-over-week comparison of what opened and what closed.
Paste a job-board URL — the platform and the company are detected for you. Greenhouse, Lever, Ashby,
and Workable, including embedded job boards and Lever's European boards
(jobs.eu.lever.co, read through Lever's own EU API). European Greenhouse addresses
(boards.eu.greenhouse.io) are accepted as well and read through Greenhouse's global
API — the only public one it offers; a board that is not served there is reported as
failed and not charged, rather than coming back as an empty list. You can also write
platform:slug directly if you prefer.
One schema across all four platforms. Title, location, department, remote flag,
posting date, salary when the ATS publishes it, direct apply link and — optionally — a
plain-text excerpt of the description, with the same field names whatever the underlying
system is.
Week-over-week comparison. Point a run at the dataset of an earlier run and you get
what opened, what closed and what changed. Companies whose list was cut by the
per-company cap are left out of those counts, because a missing position may simply be
beyond the cap rather than closed.
You are never charged for what you did not receive. Positions are written to the
dataset before any charge; a company that fails is not charged at all; the same company
pasted twice is checked (and charged) once; and a run that the platform restarts stops
instead of repeating and re-charging work you already paid for. If you set a maximum
cost for a run, delivery and charging happen one company at a time, so the run stops
cleanly at your limit and tells you which companies it did not reach.
A failure is never reported as a result. If an ATS answers with something we do not
recognise, that company fails loudly and is skipped — rather than quietly reporting zero
open roles and having your next run announce that every position was closed. A name that
does not exist on its platform is reported as failed and not charged.
A company whose whole board empties is flagged. You still get the closures — that is
the point — but the summary says which companies went from open roles to zero in one step,
because that pattern can also mean a job board was moved or renamed rather than a hiring
freeze.
Email addresses are stripped from job descriptions on every platform.
A note on robots.txt
This Actor does not crawl web pages: it queries the official public JSON APIs of the
applicant tracking systems (Greenhouse, Lever, Ashby, Workable) —
endpoints designed and documented for programmatic access. It uses an identifiable user
agent, never logs in, and collects company data rather than people: email addresses are
removed from description excerpts, which still quote the company's own public posting text.