# Changelog of Idealista Scraper — Spain, Italy & Portugal Properties (`logiover/idealista-scraper`) Actor

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

## Changelog

### 2026-10-15

- A run that reaches its maximum cost per run now stops cleanly with its results saved and a status message, instead of ending as aborted.
- A proxy group your account cannot use no longer stops the run at start-up; it falls back to the default Apify Proxy.
- Memory is managed within the run's own limit, which removes a rare out-of-memory crash on large pages.

### 2026-10-10 — speed update

- Faster: a 1,000-listing run went from 172.6 s to 36–46 s; the example input from 77 s to 7–37 s, with the first rows typically saved after 3–4 s (measured ranges; the unblocker's own latency varies with its load).
- Every page a run needs is requested at once (page URLs are built from the site's pattern instead of waiting for page 1's "next" link; split areas queue all their pages from the breadcrumb counts).
- Hedged requests: a slow page gets a duplicate on a fresh unblocker session; the first good answer wins and the others are cancelled (cancelled duplicates are not billed).
- Rows are saved as soon as each page is parsed; the run stops the instant the requested number of listings is reached.
- 3x lighter page parsing (htmlparser2, only the listing part of the page) so a 1 GB container no longer stalls with 50 pages in flight.
- Default parallel requests raised from 8 to 50. `SUMMARY` now reports duration, time to first rows, hedges, page latency and CPU stalls.

### 2026-10-10

First release.

- Spain (idealista.com), Italy (idealista.it) and Portugal (idealista.pt): homes, rentals, offices, premises, garages, land, storage, buildings, rooms and new developments.
- Gets past idealista's 60-page × 30-listing cap per search by splitting into the site's own districts and neighbourhoods (their counts sum exactly to the parent total); leaf areas still over the cap are re-read under other sort orders and merged by listing ID.
- Price-drop fields (`previousPrice`, `priceDropPercent`), €/m², normalised rooms, floor, lift, garage across three languages.
- Optional full listing details: full description, all feature bullets, bathrooms, built/usable area, year built, condition, heating, orientation, energy certificate, amenity flags, ad reference, last update, all photos.
- Requests go through Apify's UNBLOCKER group (idealista uses DataDome); refused pages are retried on a fresh session.
- A run that cannot fetch anything fails with the reason (`BLOCKED`, `INVALID_START_URL`) instead of succeeding with zero rows. Every run writes a `SUMMARY` record.
