# Changelog of InfoJobs Spain Jobs Scraper (`devilscrapes/infojobs-spain-jobs-scraper`) Actor

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

## Changelog

All notable changes to this Actor are documented here.

### 0.0.1 — Unreleased

- Implemented the real InfoJobs.net scraping pipeline: `src/client.py`
  (curl-cffi, rotating `chrome131`/`firefox133` impersonation, retry
  with exponential backoff), `src/parser.py` (double-JSON
  `window.__INITIAL_PROPS__` extraction + row building),
  `src/scraper.py` (bounded page loop, run-wide dedupe by job code,
  per-page fault isolation), and `src/provinces.py` (54-entry Spain
  province-id table, generated from a live capture).
- `src/models.py`: `ActorInput` resolves `province` against the static
  table (case-insensitive name or numeric id passthrough); `ResultRow`
  matches spec.md's Output Shape table field-for-field.
- Live-confirmed the `provinceIds` query parameter for province
  filtering via a probe against the unfiltered baseline (design.md
  Decision 4).
- Synced `.actor/dataset_schema.json` and `.actor/pay_per_event.json`
  (`actor-start` $0.01, `result-emitted` $0.0025/row); wrote the real
  Store-listing `README.md` and `promo.json`.
- 70 tests across `test_models`/`test_parser`/`test_client`/
  `test_scraper`/`test_main`; `ruff check` and `pyright` both clean.
