# Changelog of Company Hiring Monitor — Jobs from Careers Pages (`farodata/company-hiring-monitor`) Actor

- **URL**: https://apify.com/farodata/company-hiring-monitor/changelog.md
- **Full Actor documentation**: https://apify.com/farodata/company-hiring-monitor.md

## Changelog

What changed for you, newest first.

### 0.1.20 — 23 August 2026 — First public release

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.
