# Changelog of Casa.it Scraper — Italy Real Estate Data (`logiover/casa-it-scraper-italy-real-estate`) Actor

- **URL**: https://apify.com/logiover/casa-it-scraper-italy-real-estate/changelog.md
- **Full Actor documentation**: https://apify.com/logiover/casa-it-scraper-italy-real-estate.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: 62 columns returned, 93.2% 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 (`monthlyRent`); 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 62 dataset fields from typed live cloud samples so the output contract is no longer an empty placeholder.
- Declared 62 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 — running with empty input `{}` returns recent listings for Rome (roma) by default (no more "locationSlugs required" error). Set `locationSlugs` to target other cities/zones.
- Removed the mandatory-input requirement; nothing must be filled in to get results.
- Added a ~4.5 min time budget: paginations now stop and push what was collected instead of risking a timeout (DataDome retries can be slow), and the run always exits successfully.
- Top-level errors are logged (not hard-thrown) so a single failure never discards already-collected records.

### 2026-07-06

- Initial release. Scrapes Italian real estate listings from Casa.it via direct HTTP + embedded `__INITIAL_STATE__` JSON extraction (no browser).
- Filters: location, transaction (sale/rent), property type, price (EUR), area (m²), rooms, bathrooms, seller type and sort order.
- Output: price, price/m², monthly rent, surface area, rooms, bathrooms, energy class, GPS, full Italian address, agency contact (phone + website), image gallery and listing labels.
- Anti-bot hardening: residential proxy with realistic browser fingerprint, user-agent rotation and a generous per-page retry budget (rotates IP on DataDome blocks).
- Verified end-to-end on live data within the 5-minute quality window on the default input.
