Booking.com Hotel Price & Amenity Search Scraper avatar

Booking.com Hotel Price & Amenity Search Scraper

Pricing

from $0.49 / 1,000 results

Go to Apify Store
Booking.com Hotel Price & Amenity Search Scraper

Booking.com Hotel Price & Amenity Search Scraper

Search Booking.com for a destination and dates, and collect each property's price, rating, review count, amenities, and breakfast info for the stay you specify.

Pricing

from $0.49 / 1,000 results

Rating

0.0

(0)

Developer

Nimbryxo-studio

Nimbryxo-studio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Security

Limited permissions

Share

Booking.com Hotel Search & Details Scraper

Search Booking.com for a destination and travel dates, or paste hotel links directly, and get one row per property with the stay price, room and rate options, guest scores, review subscores, facilities, photos, description and booking policies.

What this actor does

  • Search mode runs a Booking.com destination search for your dates, guests and filters, then scrolls and clicks Load more results to go beyond the first page. It collects up to 250 properties per run.
  • Details mode loads Booking.com hotel URLs you provide and returns the same rich row for each one.
  • Solves Booking.com's AWS WAF challenge once in a browser, then reuses the session cookie over HTTP for the rest of the run. If a detail request is challenged again, the actor refreshes the cookie and falls back to the browser for that page.
  • Applies Booking.com's own filters for property type, review score, stars, free cancellation, breakfast, pool and nightly price.
  • Returns the cheapest room-table price for the whole stay, plus every room and rate option when includeRooms is on.
  • Optionally renders each hotel in a browser to collect the complete facility list, not just the headline amenities.
  • If some detail pages fail, the run finishes with a PARTIAL warning and keeps the search rows instead of failing the whole run.

Output per hotel

FieldWhat it contains
hotelId, name, urlProperty identity and its Booking.com page
propertyType, starsProperty type and star rating
address, city, countryFull address and location
latitude, longitudeMap coordinates
distanceDistance from the city centre as Booking.com shows it
rating, reviewCount, reviewWordGuest score, number of reviews and Booking.com's label
reviewSubscoresCategory scores such as Location, Cleanliness and Staff
price, pricePerNight, currencyCheapest total for the stay, nightly equivalent and ISO currency code
originalPrice, discountPercentPre-discount price and discount percentage when a deal is shown
taxesAndFees, priceWithTaxesTaxes and fees for the cheapest rate and the resulting total
roomTypesRoom name, rate-plan count, price, original price, total, taxes, breakfast, cancellation, sleeps, bed, size and room amenities
topAmenities, fullAmenitiesHeadline facilities, plus the complete list when includeFullAmenities is on
amenitiesAmenity keywords found on the search card
photos, photoUrlPhoto URLs and the main image
descriptionProperty description
breakfastIncluded, breakfastAvailable, breakfastPriceWhether breakfast is included, merely available, or paid separately
freeCancellationWhether a free-cancellation rate exists
checkinTime, checkoutTimeProperty check-in and check-out times
checkin, checkout, nights, adults, roomsThe stay used for pricing
mode, detailStatus, source, scrapedAtRun metadata and enrichment status

Empty values are omitted from a record instead of being written as null.

Input

FieldTypeDefaultDescription
modeselectsearchsearch a destination or load hotel details
destinationstring–City, region or landmark; required in search mode
startUrlsarray[]Booking.com hotel URLs; required in details mode
checkInstring-Check-in date (YYYY-MM-DD); empty uses tomorrow
checkOutstring-Check-out date (YYYY-MM-DD); empty uses a 3-night stay
adultsinteger2Adult guests (1–30)
roomsinteger1Rooms needed (1–30)
propertyTypeselectallAll, hotels, apartments, hostels, guesthouses, villas or resorts
minReviewScorenumber0Minimum guest score (0–10)
starsselect0Exact star rating, or any
freeCancellationbooleanfalseKeep properties with a free-cancellation rate
breakfastbooleanfalseKeep properties with breakfast included
poolbooleanfalseKeep properties with a swimming pool
minPrice, maxPricenumber–Nightly price bounds in the chosen currency
currencystringUSDThree-letter currency code
languageselecten-usPage language
maxItemsinteger3Maximum hotels to return (1–250)
includeRoomsbooleantrueAdd the room and rate table
includeFullAmenitiesbooleanfalseRender each hotel page to collect every facility
proxyConfigurationobjectAUTOApify proxy used for browser and HTTP requests

Example: search Paris for three nights

{
"mode": "search",
"destination": "Paris",
"checkIn": "2026-11-10",
"checkOut": "2026-11-13",
"adults": 2,
"rooms": 1,
"maxItems": 3,
"includeFullAmenities": false
}

Example: five-star hotels with a pool and free cancellation

{
"mode": "search",
"destination": "Barcelona",
"checkIn": "2026-11-10",
"checkOut": "2026-11-13",
"stars": 5,
"pool": true,
"freeCancellation": true,
"minReviewScore": 8,
"currency": "EUR",
"maxItems": 25
}

Example: load specific hotel pages

{
"mode": "details",
"startUrls": [
{ "url": "https://www.booking.com/hotel/fr/sorbonne.html" },
{ "url": "https://www.booking.com/hotel/fr/moxy-paris-la-villette.html" }
],
"checkIn": "2026-11-10",
"checkOut": "2026-11-13",
"includeRooms": true,
"includeFullAmenities": true
}

Use cases

  • Price comparison — compare stay totals for the same dates across a destination
  • Rate tracking — schedule runs to watch prices and discounts move
  • Room-level analysis — compare room types, breakfast and cancellation terms
  • Travel apps and spreadsheets — feed structured hotel data into your own tools
  • Market research — analyse ratings, review subscores and facilities by city or property type

FAQ

Do I need a Booking.com account? No. The actor reads public hotel and search pages. It solves the site's technical challenge without you providing cookies or a login.

Why does the first request take longer? Booking.com uses an AWS WAF JavaScript challenge. The actor opens one browser page to solve it, then reuses the resulting cookie over HTTP. That bootstrap is a few seconds per run.

What does price mean? It is the cheapest total for the whole stay, for the dates, guest count and room count in your input. pricePerNight divides that total by the number of nights. Use originalPrice when Booking.com shows a strike-through price.

Why do some prices differ from the search card? The search card can show a promotional or selected-room price. The detail parser takes the cheapest valid room-table price, which is the same number Booking.com uses for the cheapest rate on that page.

Why is fullAmenities missing? It is only collected when includeFullAmenities is on. That setting renders a hotel page in a browser, so it is slower and costs more than the default HTTP-only detail fetch.

What happens when Booking.com blocks the run? The actor fails with a BLOCKED status instead of returning an empty dataset. If only some detail pages fail, it finishes with a PARTIAL status and keeps the rows it did collect.

What happens when a search has no results? A valid search with no matches fails with NO_RESULTS, so you can tell it apart from a block. Loosen your filters or check the destination spelling.

How many results can I get? Set maxItems up to 250. Booking.com loads 25 cards at a time and exposes a "Load more results" button; the actor scrolls and clicks it until your cap or the page stops growing. Booking.com itself caps a single query at about 1,000 results.

Are prices and availability live? Yes. They are captured when the actor runs and can change as availability changes.

Is this affiliated with Booking.com? No. This is an independent third-party actor that reads publicly available Booking.com pages.