# Changelog of Booking.com Search Scraper (`w3crawler/booking-com-search-scraper`) Actor

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

## Changelog

All notable changes to **booking-com-search-scraper** are documented here.

### \[1.1.0] - 2025-07-08

#### Changed

- Full project restructure to match Brave actor structure
- Moved `searchScraper.js` → `src/extractors/search.js`
- Moved `productDetailScraper.js` → `src/extractors/hotel-detail.js`
- Extracted route handlers into `src/routes/handlers.js` (`handleListingPage`, `handleDetailPage`)
- Added `src/schema/input.js` with `validateInput` for search/hotelUrl/searchUrl modes
- Added `src/filters/index.js` with `deduplicateHotels` by URL
- Added `src/utils/index.js` with `USER_AGENTS`, `randomUA`, `randomDelay`
- Added `src/errors/` module (ScraperError, ErrorTypes, ErrorHandler)
- Rewrote `src/main.js` as a clean delegation entry point using PuppeteerCrawler
- Removed legacy appended code from main.js

#### Added

- `src/routes.js` — `createRouter(input, state)` and `buildStartUrls(input)`
- `validate-datasets.js` for local dataset validation

### \[1.0.0] - 2024-12-01

#### Added

- Initial release — comprehensive Booking.com hotel search + detail scraper
- Three modes: `search`, `hotelUrl`, `searchUrl`
- Public Puppeteer browser extraction with fail-closed access-boundary diagnostics
- Deep detail extraction: rooms, amenities, policies, highlights, facilities
