# Changelog of Airbnb Scraper - Listings, Reviews, Prices, Calendar & Hosts (`openclawai/airbnb-scraper`) Actor

- **URL**: https://apify.com/openclawai/airbnb-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/openclawai/airbnb-scraper.md

## Changelog

### 1.0.11 — 2026-05-13

#### Fixed

- 🗺️ **Search by URL now honors the location in the URL path.** Previously, URLs like `airbnb.com/s/Paris--France/homes` were stripped to filters only and the search fell back to a default region. Paris URLs now return Paris listings; Lisbon URLs return Lisbon listings; multi-segment locations like `New-York--NY--United-States` work too.
- 🏠 **Room details no longer crashes on string check-in dates.** ISO date strings from JSON input are now coerced to date objects before being passed to the price API.
- 🛡️ **Anti-bot resilience.** Room-details fetches now:
  - Retry up to 5× with exponential backoff (was 3).
  - Rotate the residential proxy session (and therefore the exit IP) on every retry so soft-blocks don't persist across attempts.
  - Detect platform challenge / captcha pages explicitly and trigger a retry with a fresh IP instead of returning a misleading `NoneType` error.
- 📦 **Batch room-details runs degrade gracefully.** A run with some blocked URLs now returns the successful rows plus an `info` row summarizing how many succeeded and how many to retry, instead of failing the whole call.
- 💸 **"Those dates are not available" is no longer treated as a failure.** The listing is returned with `price` set to `null` and a `price_unavailable_reason` field, so you still get host, rating, amenities, images, etc.
- 🔌 **Sub-fetches are best-effort.** Reviews, calendar, and host\_details endpoints failing no longer take down the whole listing — empty arrays are returned and the rest of the row ships.
- 🗃️ **Dataset row shape now matches the room\_details payload.** Title, host, rating, coordinates, amenities, images, and description are mapped from the right fields. Fields are nullable to avoid validation errors when the platform omits them.

#### Internal

- Switched the parsing layer to a vendored implementation so the URL-path fix and challenge detection ship directly with the actor.
- Dataset error responses are now logged with the validator's reason so failures are debuggable.

***

### 1.0.0 — Initial release

- Seven modes: search by URL, search by bounding box, room details, reviews, calendar, host portfolio, Experiences.
- Per-record event billing.
- Residential proxy support out of the box.
