# Changelog of Greenhouse Jobs Scraper — Company Job Boards (`adderleydata/greenhouse-jobs-scraper`) Actor

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

## Changelog

### 0.1 — first public version

- Any number of Greenhouse job boards per run, by board token or by any boards.greenhouse.io / job-boards.greenhouse.io link. One request per board.
- Output in the Adderley Data `job.v1` schema: department as category, location parsed to city, region and country where the posting states them, pay range parsed to minimum, maximum, currency and period where the posting states one, with the posting's own label ("Base Salary Range (US)", "OTE Salary (US)") kept in `salary.raw`, posted, updated and application-deadline dates in UTC.
- `salary.raw` holds the sentence the range was read from, ending where that sentence ends — never cut inside a word, never running on into the next sentence.
- A location written as city and region ("San Francisco, California", "Sydney, New South Wales", "Toronto, Ontario") gives the country when the region is a full US state, Australian state or Canadian province name. Two-letter codes and bare city names give none: the posting does not say.
- Filters on title keywords, location or office, department, and days since first published.
- Incremental mode: `changeType` of NEW, UPDATED, REAPPEARED or EXPIRED, driven by Greenhouse's own `updated_at`; unchanged postings skipped and not charged.
- Optional full descriptions, delivered from the same request as the listing, with email addresses and phone numbers redacted by default.
- The run's output is declared for Console's Output tab, the Run API and AI agents: postings in the default dataset, the run summary in the default key-value store.
- No recruiter names, emails or phone numbers in any field; Greenhouse's custom `metadata` fields are never read.
- 24 Sep 2026: `description.html` keeps each link's words and drops its address, and drops images; personal profile addresses (linkedin.com/in/…) in the text are redacted with the other contact details. An address written as "ending in @example.com" is no longer mistaken for an email address.
- 24 Sep 2026: a board that does not exist is asked for once, not five times, and is never counted as a block. A run in which every board is missing ends with an empty dataset and a message naming them. "Poland - Remote" and other labels that put the country before a dash now give the country.
- 24 Sep 2026: the sample row in this README and the Output tab's examples show a Greenhouse posting (they showed another source's).
