# Changelog of Duunitori Scraper \[Just 💰$0.9] — Finland Job Listings (`blackfalcondata/duunitori-scraper`) Actor

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

## Changelog

### 0.1.x — 2026-09-28

- Fixed: with "Include Full Details" on, results now appear in the dataset as they are collected, ten jobs at a time, with a "Delivered N jobs so far" line in the log. Before, the first result appeared only after up to 100 job pages had loaded, so a larger search showed an empty dataset and a silent log for well over a minute.

### 0.1.x — 2026-09-21

- Added: a posting that states its pay only in the description text now delivers it — "Palkkahaitari tehtävään on 2 811,09 €-3 071,09 €", "Palkka on keskimäärin 92 000 €/v", "Tuntipalkka ... on käytännössä 15-18€/h". The figure is read only where the posting's own sentence calls it a wage; a recruitment bonus, a staff benefit, a supplement ("paikallinen erä 88,09 €/kk", "språkbrukstillägg 80 €/månad") or a price is not a wage and leaves the salary fields empty, as does a posting that names only a collective agreement.
- A base or guaranteed wage ("Pohjapalkka 12,35 €/h", "Takuupalkka 9 euroa tunnissa") fills `salaryMin` only: the posting states a floor, not a ceiling.

### 0.1.x — 2026-09-19

- Fixed: a posting that states ONE salary figure now delivers it. Many Finnish postings, public-sector nursing and care jobs especially, give a single monthly or hourly figure rather than a range; those arrived with an empty salary before. `salaryMin` and `salaryMax` both carry the figure. Salary ranges are unchanged.
- Added: when a posting gives its salary only as free text ("15,41 €/h", "tuntipalkka alkaen n. 13 €"), that amount is read too, with the period the text states. A salary "alkaen" (from) a figure fills `salaryMin` only.
- Changed: `salaryCurrency` and `salaryPeriod` are empty on a posting that states no amount. They used to read EUR/MONTH on every posting with a salary section, including ones whose salary is "per collective agreement" — the MONTH there came from the site's own default, not from the employer.
- Fixed: "Include Full Details" fills its fields again: salary, employment type, expiry date (`validThrough`), occupation and the formatted description (`descriptionHtml`, `descriptionMarkdown`). Runs since mid-August delivered these fields empty.
- Incremental mode: jobs you have already received are not delivered again as updated now that their details load. A job counts as updated when its listing fields change (title, company, location, posting date).
- Fixed: Start URLs now work. A pasted job page delivers that job, and a search results page (`/tyopaikat?haku=...&alue=...`) delivers that search. Before this build a run with only Start URLs finished with no results.
- A URL the actor cannot use (another site, a region, field or occupation page, or a search with filters other than the search term, location and "search also in descriptions") now stops the run with error DUU-1001 instead of finishing empty.
- A pasted job posting that has closed is named in the log and in the run status.

### 0.1.x — 2026-04-14

- Added: `descriptionHtml`, `descriptionMarkdown` output fields (triple-format descriptions for RAG/LLM pipelines)
- Added: `contentHash` output field (SHA-256 hash of content-identifying fields)

### 0.1.x — 2026-04-14

- Added: cross-run repost detection (`isRepost`, `repostOfId`, `repostDetectedAt`)
- Added: `skipReposts` input to exclude detected reposts from output

### 0.1.0 (2026-03-22)

- Initial release
- Search Finnish job listings by keyword and location
- Detail enrichment with salary ranges, employment type, and employer info
- Incremental mode and compact output for AI workflows
