Scraper to get reviews from hotels, apartments and other accommodations listed on the Booking.com portal. Extract data using hotel URLs for review text, ratings, stars, basic reviewer info, length of stay, liked/disliked parts, room info, date of stay and more. Download in JSON, HTML, Excel, CSV.
This changelog summarizes all changes of the Booking actors provided by the Voyager organization . The specific actors that are affected are listed for each change.
2026-09-16
Fixes (all Booking actors)
Fixed search queries for property names (e.g. Four Seasons Hotel Riyadh) returning the property's city listing without the property itself for every sortBy other than Booking.com's default. Property names are now searched the same way Booking.com does it, so the matched property is returned first again regardless of sortBy, followed by properties nearby (set maxItems to 1 to get just the matched property). The property is searched by its Booking.com name, so queries that differ from it (e.g. ホテルニューオータニ東京) also resolve to the property instead of its city.
Fixed search queries that Booking.com's destination autocomplete cannot match (e.g. property names combined with a wrong city, typos, or landmarks in other scripts) returning no results. Booking.com removed its SearchPlaces geocoding API; such queries are now passed as free text to the properties search API, which resolves them itself, the same way Booking.com does for unmatched destinations. Queries Booking.com cannot resolve at all still finish with a No destination found for location warning.
2026-09-15
Fixes (all Booking actors)
Fixed search queries for property names (e.g. Hilton Riyadh) failing with Failed to extract destination. Booking.com's destination autocomplete now returns these as hotel destinations, which are now supported (also in startUrls with dest_type=hotel). As on Booking.com itself, the matched property is returned first, followed by other properties in its city.
Fixed search queries that Booking.com's autocomplete cannot resolve at all crashing with Cannot read properties of undefined (reading 'searchPlaces'). Booking.com no longer serves the fallback SearchPlaces API, so such runs now finish with a No destination found for location warning instead of failing the request.
2026-09-14
Features ('booking-scraper')
Added minimumNights (the minimum length of stay Booking.com requires for the scraped check-in date) and minimumNightsByDate (the same requirement per check-in date, covering the requested stay) to the properties. Both come with the Scrape hotel surroundings & room offerings add-on, as they are extracted from the same API call.
2026-08-31
Features (all Booking actors)
Added support for startUrls without the www. subdomain (e.g. https://booking.com/hotel/cz/jeromehouse.en-gb.html), which are now normalized to the canonical https://www.booking.com/... URL before scraping instead of being rejected as invalid
2026-08-17
Breaking changes ('booking-scraper')
Removed privacyLevel from roomOfferings.roomDetail.property.roomsDetails[], since Booking.com no longer returns this field there and it was causing the room offerings extraction to fail. The privacy classification is still available under roomOfferings.roomDetail.highlightsForAllRooms[].roomHighlights[].privacyLevel.
2026-06-18
Features ('booking-scraper')
Added hasGeniusDiscount and geniusDiscountText to each room rate plan (rooms[].options[]), so it is possible to identify which specific rate plans are eligible for the Booking.com Genius discount
2026-06-12
Breaking changes ('booking-scraper')
The bedTypes[].beds field now returns a single pre-joined string instead of separate entries. Multiple beds that always coexist are joined with " AND " (e.g. "1 king bed AND 1 sofa bed"); selectable alternatives are joined with " OR " (e.g. "2 single beds OR 1 large double bed"). Previously each bed option was a separate element in the array.
2026-01-26
Features ('booking-scraper')
Added support for various URL parameters in startUrls, such as checkin or checkout
2025-11-05
Features ('booking-scraper)
Added scraping of the rating label on the place details page.
2025-07-28
Fixes ('booking-scraper')
Fixed hotel facilities extraction crawling, which was moved under a frontend API by Booking
2025-07-18
Fixes ('booking-scraper')
Use unlimited max items limit on the case of not setting maxItems at all (instead of defaulting to 100)
2025-07-08
Fixes ('booking-scraper')
Detect and retry on missing rooms data
2025-07-07
Fixes ('booking-scraper')
Decreased blocking rate
2025-06-29
Fixes ('booking-scraper')
Detect and retry on new anti-bot protection
2025-06-25
Fixes ('booking-scraper')
Fixed minimum minScore filter values below 5, which were causing the scraper to fail
2025-06-19
Fixes ('booking-scraper')
Fixed address, rating, and reviews extraction for hotels
Also fixed the facilities name extraction for a specific new name format
2025-05-09
Fixes ('booking-scraper')
Fixed extraction of the breadcrumbs, categoryReviews, and facilities fields
Note that the extraction of facilities still sometimes fails, since it will be a bit harder to get the data with full accuracy, we will need to spend more time on it. Give us some feedback in the Actor issues if you are interested in this data, so we can prioritize it ;)
2025-03-15
Features (all Booking actors)
Updated allowed Actor memory range values to 2-8 GB to help with scraping scalability
Fixes ('booking-scraper')
Fixed extraction of the traderInfo, which was previously failing for specific hotels
2025-03-07
Features (all Booking actors)
Updated date input fields to also allow relative date values (e.g. 1 day, 2 weeks, 3 months)
2025-03-06
Features ('booking-scraper')
Added extraction of hotel's propertyInfo for the See business details or See host details sections
2025-02-06
Features ('booking-scraper')
Added extractions of hotel's room's discount, including the discountedPrice, text and description
The regular price will now always be the non-discounted price for consistency.
This is because the discounted price can wary depending on proxy location and Booking's randomness.
Fixes ('booking-scraper')
Fixed "Room ID extraction" errors for "Partner offer" rooms
Added a new isPartnerOfferRoom field to indicate these rooms
2025-02-04
Features ('booking-scraper')
Added extractions of hotel's room's displayedPrice and excludedTaxesPrice.
The price field is now always extracted as the total price including taxes and fees.
The total price will now be consistent no matter what proxy location is used.
Fixes ('booking-scraper')
Fixed extraction of hotel's:
"House rules" policy checkIn and checkOut times
facilities under the facilities field
"Guest category reviews" under the categoryReviews field
2024-12-05
Breaking changes:Features ('booking-reviews')
Completely reworked the scraper to extract new data points in more detail. List of the most important changes:
Reviewer's stay dates under the new checkInDate and checkOutDate fields
Review posted date up to seconds under reviewDate field
Room ID under stayRoomId field
Number of helpful votes under helpfulVotes field
Review category data like totalCategoryReviews and hotelRatingScores
Fixes ('booking-reviews')
Fixed blocking issues for specific users
2024-11-29
Fixes ('booking-scraper')
Fixed detection for removed stay dates for hotels with no available rooms
2024-11-27
Fixes ('booking-scraper')
Added detection for removed stay dates as a form of blocking from Booking - the requests will be retried
Fixed blocking issues initial page loads at the start of the runs
2024-11-08
Fixes ('booking-scraper')
Fixed blocking issues for hotel detail pages with different language and currency settings
2024-10-12
Fixes ('booking-scraper')
Fixed extraction of hotel facilities (facilities output field)
2024-08-26
Features ('booking-scraper')
Added extraction of breadcrumbs under the new breadcrumbs field
Each breadcrumb object has the following fields: name, fullName, link (primary URL) and altLink (alternative URL)
2024-08-23
Features ('booking-scraper')
Added extraction of room cancellation policies
New output fields cancellationType and freeCancellation available under rooms[i].options[j]
2024-08-12
Fixes ('booking-scraper')
Fixed extraction of property description
2024-07-21
Features ('booking-scraper')
Added extraction of host data under the new hostInfo field
2024-07-20
Fixes ('booking-scraper')
Results were occasionally extracted in an incorrect language (not respecting the input configuration).
2024-07-01
Features ('booking-scraper', 'fast-booking-scraper')
Added the possibility to combine useFilters (circumventing Booking's limit of 1000 results) with scrape filters on property type (hotels, apartments, etc.) or price range
2022-04-03
Added user reviews extraction from both detail page and reviews pagination pages
Added category reviews extraction from detail page
Removed default settings minScore = 8.4
Fixed language settings for detail page (language input field was not respected)
Fixed stars extraction from detail page
Fixed checkInFrom and checkInTo extraction from detail page
Handled global state with external package apify-global-store
Split code into more source files, created extraction and routes folders
2022-01-10
Fixed rejection of current date in checkIn and checkOut fields
2021-12-28
Set custom minMaxPrice filter to provide more specific filtering than booking.com API
Added rooms scraping support without checkIn and checkOut set (simple output with basic info only)
Implemented useFilters to overcome 1000 results limit by setting filters one by one and combining them
Refactored handlePageFunction
2021-11-22
Fixed broken url search
Fixed outdated selectors to scrape more detailed info
Fixed minMaxPrice search filter
Maximized results count when maxPages is set (included minScore and priceRange into search url)
Prevented infinite run when no maxPages restriction is set
2021-08-24
Extracted all images
2021-01-22
Features:
Added screenshots for errors
Added SessionPool
Fixes:
Removed broken currency check (the main bug that prevented the scraper to work)
Fixed scraper getting into infinite error loop
Major code refactor (will help with future fixes and UX)