# Changelog of Expedia Hotels Scraper — Prices, Ratings & Reviews (`haketa/expedia-scraper`) Actor

- **URL**: https://apify.com/haketa/expedia-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/haketa/expedia-scraper.md

## Changelog

### 0.2.0 — 2026-11-02

- **Fixed a major results bug.** The results page was returning only ~3 hotels per city instead of the full list. Switched navigation to `domcontentloaded` (Expedia's heavy SPA kept blowing the 90s full-load timeout, triggering retries and HTTP 429s), added a `networkidle` settle before scrolling, and replaced the unreliable `mouse.wheel`-only loop with a document-scroll loop over the virtualized mobile list. Each city now returns ~30 hotels (a ~10× improvement).
- **Added auto-retry on soft blocks.** Pages that come back with zero lodging cards (Expedia 429 / bot challenge / empty shell on a bad residential IP) now throw and are retried on a fresh rotated session, so destinations recover instead of silently saving 0 hotels.
- **Verified 179 unique hotels across 6 US cities** (New York, Las Vegas, Orlando, Los Angeles, Miami, San Diego) for December dates with **0 duplicates** on `hotelId` and no value bugs. Core-field coverage: `hotelId`/`name`/`url`/`priceNightly`/`priceCurrency`/`allPrices`/`isSponsored`/`rank` 100%, `location` 99%, `rating` 99%, `reviewCount` 98%, `ratingLabel` 97%.
- **Refreshed the README** to the current gold standard: corrected the output example and field reference to match live output exactly, documented real field coverage, added a Pagination & scale section, and explained the `image`/`dealBadge` fields (populated only for a subset by design).

### 0.1.0 — June 2026

- Initial release: search Expedia hotels by **destination and dates** (adults, rooms, sort), or via **Start URLs**.
- Loads the **full results list** in a real browser and parses every property.
- Fields: name, **nightly price** (+ all prices), **guest rating** and label, **review count**, location, deal badge, sponsored flag, image and link.
- **Optional guest reviews** — attach real review text per hotel (score, date, reviewer, sentiment themes, verified flag, manager responses) via `scrapeReviews`.
- Multi-destination per run, **de-duplication by hotel ID**, and graceful handling of anti-bot and lazy loading.
