# Changelog of Greenhouse Jobs Scraper & Job Board API (`steadybyte/greenhouse-jobs`) Actor

- **URL**: https://apify.com/steadybyte/greenhouse-jobs/changelog.md
- **Full Actor documentation**: https://apify.com/steadybyte/greenhouse-jobs.md

## Changelog

### 1.0.3 (31 Oct 2026)

- Fixed: on a 512 MB run (which gets 1/8 of a CPU), big boards typed as a bare name (`databricks`, `doordashusa`, `datadog`, `samsara`) were sometimes reported as "No public Greenhouse job board named …" when they were only slow. The 25-second limit now covers waiting for Greenhouse to answer, and downloading a board may take up to 3 minutes. Boards are converted in small steps so other downloads keep moving, and when a bare name's board can't be read, the error is reported instead of "no board named".

### 1.0.2 (31 Oct 2026)

**Reliability**

- Fixed: runs over many large boards could run out of memory at the default 512 MB and fail (for example 14 large boards such as Databricks, Stripe and Anthropic). Node's memory is now capped to fit the run's memory, and 3 boards are read at a time instead of 5. In a local test, the same 14 boards (6,143 jobs) peaked at about 335 MB.
- A board that doesn't answer is given up after two 25-second timeouts (about 50 seconds, down from about 2 minutes), and the error names the URL. Errors such as 403 are no longer retried.

**Input**

- One job's URL (`.../<token>/jobs/<id>`, a careers link with `?gh_jid=`, or an embed `job_app` link with `token=`) returns only that job, and you pay for one job. It used to return, and charge for, the whole board. A closed job is reported as "Job <id> is not open".
- Clearer warnings for bad input, e.g. `greenhouse:../x` (not a valid token) or `ftp://...`.

**Data**

- A major city on its own sets `country` (`London` → `GB`, `Munich` → `DE`, `10245 Berlin` → `DE`), so a country filter such as `United Kingdom` finds jobs listed only as "London".
- Office names that are company names ("IONOS SE", "Acme GmbH") are no longer added to `locations`; they're still listed in `offices`.
- `companySlug` is lower case, like `id` (ids are unchanged).
- `url` is never the text "null": without a URL from Greenhouse it is the job's public page. HTML entities left in titles ("R\&D") are decoded.
- The status says "N open jobs on the board" when a limit stops a board that was read in full, instead of "listed so far".
- The Jobs table view shows Departments instead of the always-empty Type column.

### 1.0.1 (31 Oct 2026)

- Published on the Apify Store.

### 1.0 (31 Oct 2026)

- First version. Greenhouse-only Actor built from ATS Jobs Feed 1.4.3: same fetcher, schema, filters, monitoring mode, warnings-not-failures and pay-per-event charging.
- Greenhouse extras: `departments`, `offices`, `payRanges`, `requisitionId`, `internalJobId`, `language`, `applicationDeadline`, `metadata`.
- New `departments` filter; keywords also match every department.
- `workplaceType` / `isRemote` use the employer's published "Workplace Type" / "Location Type" field when present.
- Other ATS inputs are skipped with a warning that points to ATS Jobs Feed.
