# Changelog of Subito.it Scraper — Italian Classifieds, Prices & Sellers (`logiover/subito-it-property-scraper`) Actor

- **URL**: https://apify.com/logiover/subito-it-property-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/logiover/subito-it-property-scraper.md

## Changelog

### 2026-09-23

- Fleet-wide quality audit. Verified end to end against live data and re-checked the input schema, the output columns and the run configuration.
- Output verified on a live run: 50 row(s) across 18 columns, 94.1% of cells populated.
- Run reliability reviewed: 100.0% of public runs succeeded in the last 30 days.
- Input schema, output schema and pricing configuration reviewed.
- Noted that 1 column(s) came back empty in this sample (`sellerName`); these are under review.

### 2026-09-01

- Fleet-wide health check. Verified against this Actor's real run history: 30-day success rate, output row counts, per-field fill rates, and peak memory against the configured memory limit.
- Reviewed for the failure patterns that have cost this fleet runs — unguarded proxy setup, retry loops that can outlast the run's own time budget, and full-page HTML parsing that can exhaust a small container.
- No change to input, output fields or scraping logic.

### 2026-08-11

- Maintenance release: refreshed the build and dependencies.
- Re-verified live execution, non-empty structured output and dataset field/type integrity.
- Reviewed reliability (retries, pagination) and output quality as part of a full-fleet QA pass.

### 2026-08-01

- Completed the August 2026 full health check: verified empty/programmatic default, Console UI default, and two source-informed alternative inputs on Apify.
- Confirmed successful live execution, non-empty structured output, dataset-field/type integrity, and logical sample quality within the 5-minute quality window.
- Declared 56 dataset fields from typed live cloud samples so the output contract is no longer an empty placeholder.
- Declared 56 nullable dataset fields from typed live cloud samples so the output contract is no longer an empty placeholder or brittle to sparse modes.

### 2026-07-18

- Maintenance & reliability pass — re-verified end-to-end against live data via the Apify API; confirmed the Actor completes successfully and returns non-empty, well-formed results within the 5-minute quality window on its default input.
- Refreshed build so the latest version is current; no change to inputs, output fields or scraping logic.

### 2026-07-12

- All filters are now optional — `required` is empty, so running with blank input `{}` returns a broad set of recent Italian listings (nationwide apartments for sale) bounded by `Max Listings` (default 200). Set any combination of region/province/city, transaction, property type, price, area or rooms to narrow the results.
- Clarified the proxy hint: RESIDENTIAL country=IT stays prefilled (Subito blocks datacenter IPs); the misleading "datacenter usually works" note was removed.
- No output field keys were renamed; prices, area, rooms, bathrooms and coordinates remain real numbers.

#### 2026-07-06 — Fix: updated **NEXT\_DATA** listings path (Subito moved it to `initialState.items.originalList`)

- Subito renamed the search-result array inside its Next.js page data from `initialState.items.list` to `initialState.items.originalList` (with `galleryList` mirroring the boosted subset). The primary JSON path was returning `undefined`, so extraction was silently falling through to the fragile deep-scan fallback.
- Added `originalList` / `galleryList` as the first JSON candidate paths so listings are pulled deterministically again. Re-verified end-to-end against live data: full fields (price, area, rooms, bathrooms, floor, energy class, geo, images, advertiser) populate correctly.

### 2026-06-28

- Health check passed — actor verified working end-to-end on Apify platform.
- Changelog refreshed for Store quality compliance.

### 2026-06-20

- Maintenance & reliability pass: re-verified end-to-end against live data and confirmed the Actor completes successfully within the 5-minute quality window on the default input.
- Refreshed the prefilled example input and tuned run defaults for faster, lower-cost runs.
