# Changelog of Careers Page Jobs Scraper: Greenhouse, Lever, Workday & Ashby (`cleanrowdata/careers-jobs-feed`) Actor

- **URL**: https://apify.com/cleanrowdata/careers-jobs-feed/changelog.md
- **Full Actor documentation**: https://apify.com/cleanrowdata/careers-jobs-feed.md

## Changelog

### 1.0.8 (2026-10-18)

- Store listing: new title "Careers Page Jobs Scraper: Greenhouse, Lever, Workday & Ashby", description and SEO; README rewritten with quick start, use-case inputs, a real sample output table, a comparison table and an expanded FAQ. No code or price changes.

### 1.0.6 (2026-10-17)

- Title and SEO now name the ATS platforms: "Greenhouse, Lever, Ashby & Workday Jobs Scraper".
- Planned pay-per-event price: $0.002 per job row ($2 per 1,000 jobs) + $0.002 per company checked (not live until monetization is enabled).

### 1.0.5 (2026-10-17)

- Finishes cleanly before the run timeout: stops starting new companies near the deadline, cancels what is still running 20 s before it, and always saves state and `RUN_SUMMARY` (unfinished companies are marked `skipped` / `partial`).
- Adaptive per-host rate limiting: an HTTP 429/503 lowers that host's concurrency and pauses it briefly, recovering gradually (Workday 429s on the Apify platform dropped from 81 to 6 retries on a 1,100-request test).
- `RUN_SUMMARY.http_retry_reasons` (host + reason) for diagnostics.
- Default `maxConcurrency` 12 -> 20 (per-host limits unchanged).

### 1.0.1 (2026-10-17)

- Workday maintenance windows (HTML maintenance page or redirect to community.workday.com) are reported as a temporary `error` (not charged, state kept) instead of failing with "Invalid JSON".
- Invalid inputs (`https://`, `ftp://...`, `lever:` with no token, non-text entries, unknown Workday tenant/site) are reported per company as `not_found` with a clear message; the run always continues.
- Run summary entries have a `note` field (e.g. empty board, SmartRecruiters unknown-id warning).
- Salary extraction now handles `$44,000.00 - $185,000.00`, `$122,440.00-232,190.00 USD` and `200,000 USD - 322,000 USD` (Workday salary coverage up from about 0% to about 50%).
- Pay-per-event: the result budget is enforced only when the run really is pay-per-event, so non-PPE runs with a max cost set no longer under-count pushed rows.
- `companies` input has a default, so API runs with an empty input also return results.

### 1.0 (2026-10-16)

- First release: Greenhouse, Lever, Ashby, Workday, SmartRecruiters and Workable in one normalized schema.
- ATS auto-detection from board URLs, `ats:token`, plain company names and company careers pages.
- Filters: keywords (title or description), exclude keywords, locations, remote-only, departments, posted-since.
- Changes-only mode (new + closed since last run) with per-company state in a named key-value store.
- Workday: auto-partitioning by facets to get past Workday's 2,000-result cap; department from "Job Category".
- Salary from structured ATS fields (Lever, Ashby) or pay-transparency text in the description.
- Pay-per-event: $0.001 per job row + $0.002 per company checked.
