# Changelog of InfoJobs Jobs Scraper | Spanish Job Data (`datascraperes/infojobs-jobs-scraper`) Actor

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

## Changelog

### Unreleased

- Added bounded `403`/`429`/timeout/`5xx` recovery with `Retry-After`, backoff,
  navigation pacing, alternate browser headers, and a per-fetch deadline.
- Added transport tests proving retry limits, profile rotation, and private
  proxy to direct fallback behavior.
- Added HTTP-only detail enrichment through InfoJobs' public frontend JSON
  contract (`code`/`newBOId`), with validation and an HTML fallback.

### 0.1.19

- Reconciled persisted Dataset identities and pending billing intents when a run resumes after an interruption.
- Prevented recovered results from being written or charged again in the same run.

### 0.1.0

- Initial HTTP scraper for public InfoJobs Spain search pages.
- Server-rendered `window.__INITIAL_PROPS__` parsing with content validation.
- Bounded transport fallback routing with `curl_cffi` and HTTPX transports.
- Exact-count pagination bounded by `maxItems` and global code deduplication.
- Optional best-effort detail-page enrichment.
- Reduced peak memory by avoiding an HTML-tail copy, releasing raw HTML after parsing, and dropping the previous page before pagination.
- Added tiered pay-per-event billing for each delivered unique job result, with durable idempotency and batched delivery.
- The public contract uses validated keyword, location, remote-work, contract, schedule, date, and sorting fields that generate the public InfoJobs query internally.
