# Changelog of Booking Hotel Search · Listings by City (`corent1robert/booking-hotel-search`) Actor

- **URL**: https://apify.com/corent1robert/booking-hotel-search/changelog.md
- **Full Actor documentation**: https://apify.com/corent1robert/booking-hotel-search.md

## Changelog

### \[1.12] — 2026-09-28

#### Changed

- After a successful export, Console status and Quick start point to **Booking Pro Host** for hotel emails.

### \[1.12] — 2026-09-01

#### Fixed

- Surroundings GraphQL query no longer sends unused variables (Booking rejected the whole `propertySurroundings` field). POIs fill again with `hotelId` only.
- Search pagination stops at `maxResults` instead of walking a 1,000-hotel star slice then discarding the extra rows.

#### Changed

- Surroundings HTTP fetches run in a pool of 20 instead of one hotel at a time.
- Store README: input JSON, parameter table, output sample, free-plan 20, FAQ, support. Cost table matches live PPE (no Actor-start fee). Filters section no longer promises Console fields that do not exist (`minGuestRating` / `sort`).
- End-of-run log: next step to Booking Pro Host (hotel emails).
- Store `description` / `seoDescription` and Console intro name the free-plan cap.
- Console **Currency** is a select (EUR, USD, GBP… or Booking.com default), not a free-text ISO field.
- Deployed as a rebuild of Store version **1.9** (10-version cap).

### \[1.11] — 2026-08-24

#### Changed

- Store `description` / `seoDescription` name the Booking suite: **Pro Host** (emails) and **Availability** (day-by-day rates).
- Console title aligned with Store. Optional **adults / rooms / currency**. Large markets log as extra star-rating slices, not an API cap.

### \[1.10] — 2026-08-24

#### Changed

- Default memory 1024 MB (HTTP-only). Deployed as a rebuild of Store version **1.9** (10-version cap).
- Docker image is `actor-node` (no Chrome). Room-details add-on is skipped when Chrome is missing.

### \[1.9] — 2026-08-19

#### Changed

- Charge-then-export: `$0` budget or remaining PPE `0` does not write hotel rows.
- Store categories: `TRAVEL`, `LEAD_GENERATION`. README **Also available** (Booking suite) at the top.

### \[1.8] — 2026-08-19

#### Changed

- **Free plan cap:** 20 hotels per run (`APIFY_USER_IS_PAYING`). Status: `Free plan: 20 hotels. Upgrade for bulk.`
- Anonymous Try-without-account runs disabled (`isAnonymouslyRunnable: false`).

### \[1.7] — 2026-08-19

#### Changed

- Store `seoTitle`: `Booking.com Scraper · Hotels by City or URL | Apify`.

### \[1.6] — 2026-08-18

#### Added

- **8 more Store Examples** (12 total) — London, Rome, Amsterdam, Lisbon, Marbella villas, Amsterdam search URL, Paris hotels-only, New York.

### \[1.5] — 2026-08-17

#### Added

- **4 published tasks** (Paris, Barcelona, search URL, Gstaad apartments) + slim **Overview** dataset view.

#### Changed

- Store title: `Booking.com Hotel Search · Listings by City or URL`. `seoTitle` with `| Apify`.

### \[1.4] — 2026-06-18

#### Fixed

- **Minimal prefill for Try** — Gstaad + `maxResults: 15` (was Paris + 100 hotels)
- **`sessionId` proxy limit** — truncated to Apify's 50-character cap (was 64)

### \[1.3] — 2026-06-15

#### Changed

- **Surroundings now fetched via HTTP GraphQL** instead of XHR interception during browser visits — more reliable and works for all hotels
- **Details proxy switched to datacenter** — residential proxies were ~17× more expensive and performed worse (more IP blocks) than datacenter
- **`stylesheet` resources now blocked** in browser contexts — reduces data transfer per hotel page by ~30%
- **Timeout increased to 40 s** for hotel page loads to handle slow Booking.com redirects
- **Improved page load detection** — double `networkidle` wait + `waitForSelector` on actual content elements, preventing evaluation on mid-redirect pages

#### Fixed

- Hotel pages showing empty title or "Loading…" were being evaluated before the JS redirect completed, resulting in 0 data extracted
- Hotels redirecting to Booking.com homepage (blocked proxy IP) now fail fast with a warning instead of waiting for timeout

***

### \[1.2] — 2026-06-15

#### Added

- **`photoUrl`** — main hotel photo (high-res, from `cf.bstatic.com`) included in all base search results
- **`description`** — full hotel description text extracted from `HotelTranslation` Apollo state (add-on)
- **`checkinFrom`** / **`checkinUntil`** / **`checkoutUntil`** — check-in/out windows from `HouseRules` Apollo state (add-on)
- **`surroundings`** — array of nearby airports, metro/bus/train stops, top landmarks, restaurants, beaches with distances; intercepted from Booking.com's `propertySurroundings` XHR during browser hotel page visits (add-on)
- Removed `maxDetails` input — all collected hotels are enriched when the add-on is enabled
- `hotelUfi` field now captured from GraphQL search and used to fetch surroundings data

#### Changed

- `BLOCKED_RESOURCE_TYPES` in details-scraper no longer blocks `stylesheet` — required for Booking.com to trigger the `propertySurroundings` XHR
- Updated dataset schema, README field table, and output examples to reflect new fields

***

### \[1.1] — 2026-06-14

#### Added

- `propertyType` filter: Hotels, Apartments, Hostels, Guest houses, Bed & breakfasts, Villas, Resorts, Motels
- `minRating` filter: only return hotels at or above a minimum guest score (e.g. 8 = 8.0+)
- `sortBy` option: Distance from center (default), Price, Best reviewed, Star rating, Best reviewed & price
- All new filters stack on top of URL-embedded filters (nflt params)

#### Removed

- `scrapeReviews` and `maxReviewsPerHotel` fields (removed in favour of dedicated reviews actor)

***

### \[1.0] — 2026-06-14

#### Added

- Initial release
- Search by destination text (e.g. "Paris, France") or Booking.com search URL
- Full market scrape with automatic pagination (100 hotels per page)
- Multiplexer strategy to exceed the 1,000-hotel API limit for large markets
- Deduplication by hotel ID across multiplexed requests
- Per-hotel data: name, URL, location, star rating, guest rating, price per night, currency, discount flag, badges, free cancellation, no-prepayment, pets policy
- Progressive pay-per-event pricing — 20% cheaper than main competitor at every subscription tier
- RUN\_LOG structured summary in Key-Value Store
