# Changelog of Intermediair Scraper \[💰$1.5] — Dutch Jobs & Salary (`blackfalcondata/intermediair-scraper`) Actor

- **URL**: https://apify.com/blackfalcondata/intermediair-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/blackfalcondata/intermediair-scraper.md

## Changelog

### Unreleased — 2026-08-27

#### Fixed

- Incremental mode now keeps your existing history wherever it can. A run started with a
  restricted API key previously moved to a fresh store unconditionally, which meant
  re-collecting everything once. It now uses your existing store whenever it is allowed to,
  and only starts a new one if access is genuinely refused.
- Updated the underlying crawler library. A single failed storage access could previously
  leave a run hanging until its time limit instead of failing or recovering.

### 0.2.75 — 2026-08-27

#### Fixed

- Runs started with a restricted API key no longer stall. Such a run was refused access to its
  own saved state on the very first storage call, and because that refusal was ignored as
  harmless the run carried on and then hung silently until it ran out of time, delivering
  nothing while still being billed for the full duration. It now uses a state store the run is
  allowed to create for itself, so there is no refusal to ignore.
- If saved state genuinely cannot be opened, the run now says which setting to change instead
  of the generic "please try again later", which could never come true for this failure.

### 0.2.x — 2026-05-01

#### Added — `startUrls` (multi-search-URL support)

- Paste raw search URLs from intermediair.nl — each URL becomes one search
  task; results merged and deduped by JobId across all tasks.
- Recognized format: `/vacatures?keyword=...&location=...`
- Detail URLs (`/vacature/...`) are explicitly rejected.

### 0.2.x — 2026-04-24

- Reworked the search transport for higher compatibility and stable multi-page result capture.
- Added geocoded location filtering with graceful fallback to keyword-only search when no coordinates can be resolved.
- Raised minimum memory to 512 MB for the current browser-based runtime.
- Added `firstSeenAt`, `lastSeenAt`, `previousSeenAt`, `expiredAt` to dataset schema (incremental mode fields).
- Added `contentHash` to dataset schema (was missing from prior release).
- Fixed navigation handling around SPA redirects and failed result captures.

### 0.2.0 — 2026-04-14

- Added filters for contract type, education level, career level, industry, category, and working place.
- Added `descriptionHtml`, `descriptionMarkdown` output fields (triple-format descriptions for RAG/LLM pipelines).
- Added `contentHash` output field (stable hash of content-identifying fields).
- Updated store metadata naming for consistency.

### 0.1.1

- Added repost detection: jobs with matching title, company, and city are compared within a run. Older duplicates are flagged with `isRepost: true`, `repostOfId`, and `repostDetectedAt`.
- Added `isRepost`, `repostOfId`, and `repostDetectedAt` fields to output schema.
- Exposed `emitUnchanged` and `emitExpired` input parameters (incremental mode only).
- Fixed `employmentType` mapping — now reflects work modality (remote/hybrid/on-site) only.

### 0.1.0

- Initial release.
- Keyword and location search, full job descriptions, recruiter contacts, structured salary ranges, and incremental tracking.
