# Changelog of ImmobilienScout24 Scraper — Germany Real Estate (`logiover/immobilienscout24-de-scraper-germany-real-estate`) Actor

- **URL**: https://apify.com/logiover/immobilienscout24-de-scraper-germany-real-estate/changelog.md
- **Full Actor documentation**: https://apify.com/logiover/immobilienscout24-de-scraper-germany-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: 29 columns returned, 94.7% 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.

### 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

- Health check: reviewed defaults, request/retry control, schemas and public field claims; JavaScript, JSON and Apify schema validation pass.
- Default runs are now list-level (`fetchDetails: false`) with `maxListings: 100` and a configurable `timeBudgetSecs: 240` API-work deadline.
- Requests, retries and retry delays honor the deadline. Optional detail enrichment uses one network attempt per listing and opens a run-wide circuit breaker after two consecutive failures, preserving collected list rows.
- README, Actor metadata and dataset/output schemas now separate reliable search-result fields from optional expose-only fields; each row includes `detailsFetched`.
- 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 73 dataset fields from typed live cloud samples so the output contract is no longer an empty placeholder.
- Declared 73 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 Berlin by default (no more "location required" error). Set `locations` to target other cities/districts.
- Removed the mandatory-input requirement; nothing must be filled in to get results.
- Added a ~4.5 min time budget: long detail-enrichment runs now stop and push what was collected instead of risking a timeout, 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 real estate listings from ImmobilienScout24.de (Germany's #1 property portal) via the IS24 mobile JSON API — no browser, no AWS WAF challenge, no API key.
- Free-text location resolution (city, district, quarter) into IS24 geocodes, plus support for raw geocodes.
- Filters: real estate type (apartment/house/plot/garage buy & rent, WG rooms, investment, auctions), price, living space, rooms, construction year, new-build only and commission-free only, with sorting.
- Optional per-listing detail enrichment via the expose endpoint (rooms, m², price breakdown, year built, condition, heating, balcony/cellar/lift/kitchen flags, agent name/company/phone, GPS, full address).
