# Changelog of Career Site Job Search: New Greenhouse & Lever Jobs (`humble-echidna/ats-job-search`) Actor

- **URL**: https://apify.com/humble-echidna/ats-job-search/changelog.md
- **Full Actor documentation**: https://apify.com/humble-echidna/ats-job-search.md

## Changelog

Versions follow MAJOR.MINOR.PATCH (`src/version.py`); Apify shows MAJOR.MINOR from `.actor/actor.json`.
Every run logs its version and records it in the `RUN_STATS` key-value record.

### 0.1.2 (2026-10-16)

- A run that returns nothing (every input bad, private, blocked or unreachable, or an empty input) now ends
  SUCCEEDED with an empty dataset and the reason as its status message and in the log, instead of FAILED. Only an
  unexpected error still fails the run. `RUN_STATS` keeps the reason as before.
- No change to output fields or price.

### 0.1.1 (2026-10-09)

- On Apify's Free plan, `postedWithin` `30d` and `any` search the last 7 days, with a warning in the log and the
  status message (`RUN_STATS.postedWithinCapped`). Reading the index bills the actor owner's account, not the run,
  and those two windows read 4-11 MB of it. Paid plans (`APIFY_USER_IS_PAYING` = 1) and local runs are unchanged.
- Reads the index ats-job-index 0.1.1 builds: same format; boards without open jobs are now re-checked weekly.

### 0.1.0 (unreleased)

First release.

- Searches the daily cross-company index of Greenhouse and Lever job boards that ats-job-index builds (companies
  from the MIT-licensed job-board-aggregator lists): job title, location, company, department and description
  include/exclude terms (word-start matching), remote only, employment types, only jobs with a salary, platforms,
  and a posted-within window (24h, 3d, 7d, 30d, any). Reads only the index shards the window needs.
- With descriptions on (default), each matching job is re-read live on its board: description, salary from the
  description when the board has no salary field, and jobs closed since the index was built dropped before charging.
- Only new jobs since the last run, per combination of filters, in the user's own account; a run capped by max jobs
  carries on in the next run.
- A run stops after 400 companies read live gave it no job (bounds unpaid work, e.g. a rare description keyword).
- Newest first (jobs without a posting date last); max jobs per run (default 100, up to 10,000) and per company; the maximum cost per run is honoured.
- Charged per job returned, through Apify's standard `apify-default-dataset-item` event, plus the start fee.
- The index is read through a signed record URL, so no token of ours is in users' runs; errors never show it.

#### Sources

Greenhouse Job Board API and Lever postings API, cleared for a stored, redistributed index on 2026-10-08; Ashby left
out. Quotes, URLs and dates: ats-job-index CHANGELOG 0.1.0.
