Booking.com Scraper — Hotels, Prices & Reviews avatar

Booking.com Scraper — Hotels, Prices & Reviews

Pricing

from $3.50 / 1,000 hotel from search results

Go to Apify Store
Booking.com Scraper — Hotels, Prices & Reviews

Booking.com Scraper — Hotels, Prices & Reviews

Scrape Booking.com: hotels from destination searches with prices for your dates (per stay, per night, taxes), review scores, stars and distance; hotel details with facilities and policies; guest reviews. Monitor prices and new reviews.

Pricing

from $3.50 / 1,000 hotel from search results

Rating

0.0

(0)

Developer

Trevor Ortega

Trevor Ortega

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Categories

Share

Scrape Booking.com search results with prices for your dates, hotel details (address, coordinates, description, facilities, house rules, check-in/out times, photos, score breakdown) and guest reviews for any hotel or destination. Export to JSON, CSV or Excel, or call it from your app through the Apify API.

  • Prices for your exact dates, guests, rooms and currency: price per stay and per night, taxes and fees, struck-through price and deal name, free cancellation, breakfast, rooms left.
  • Search any city, region, district or landmark; filter by stars, review score, free cancellation or breakfast; sort by price, rating or distance.
  • Reviews: score, title, liked / disliked text, review date, stay dates and nights, room type, traveller type, reviewer name and country as shown, hotel response, language. Every review of a hotel is reachable (thousands for big hotels).
  • Monitoring: schedule it and get only changed prices or new reviews each run; repeats are not charged.
  • Fast: plain HTTP through Apify datacenter proxies, no browser. 100 hotels per request in search mode.

What data does it extract?

Search results (mode: search, default)

FieldExample
hotelId, name, url59015, Ibis Styles Paris Batignolles, https://www.booking.com/hotel/fr/mirific.html
accommodationType, starRatingHotel, 3
address, area, city, countryCode, latitude, longitude119 Avenue De Clichy, 17th arr., Paris, Paris, FR, 48.8899, 2.3212
distanceFromCentre, distanceFromCentreKm, publicTransport2.7 miles from downtown, 4.35, Brochant station is within 150 yards
reviewScore, reviewScoreText, reviewCount8.3, Very Good, 3225
price, pricePerNightPrice for the whole stay as Booking.com shows it, and per night
taxesAndCharges, priceWithTaxes, pricePerNightWithTaxesTaxes and fees not included in price (city tax etc.), and the total with them
originalPrice, originalPricePerNight, dealStruck-through price and the deal name (Late Escape Deal)
currency, checkIn, checkOut, nights, adults, roomsEUR, 2026-11-10, 2026-11-12, 2, 2, 1
available, soldOut, roomsLefttrue, false, 1 ("Only 1 left at this price")
roomType, freeCancellation, freeCancellationUntil, noPrepaymentStandard Twin Room, false, …
mealPlan, breakfastIncludedBreakfast included, true
photo, position, searchQuery, destinationMain photo URL, rank in the results, your input, the resolved destination
changeType, previousValuesOnly with monitoring

Hotel details (mode: hotels)

hotelId, name, url, accommodationType, starRating, address, city, countryCode, latitude, longitude, reviewScore, reviewCount, scoreBreakdown (Staff, Facilities, Cleanliness, Comfort, Value for money, Location, WiFi, Breakfast, …), scoreByTravellerType (Couples, Solo travelers, Groups of friends), description, checkInFrom, checkInUntil, checkOutFrom, checkOutUntil (24-hour times), amenities, amenityGroups (facilities by group: General, Bathroom, Food & Drink, Parking, …), languagesSpoken, policies (pets, children, cribs, extra beds, minimum check-in age, accepted cards, cash), roomTypes, images (up to 45 photo URLs), hotelCurrency, and with a check-in date: checkIn, checkOut, nights, available, price, pricePerNight, taxesAndCharges, priceWithTaxes, originalPrice, currency, cheapestRoom, freeCancellation, breakfastIncluded, reviewScoreText.

Reviews (mode: reviews)

FieldExample
reviewId7cc232726d221a9b
hotelId, hotelName, hotelUrl280149, The Savoy, https://www.booking.com/hotel/gb/the-savoy.html
rating10 (Booking.com's 1-10 scale)
title, positives, negativesReview title, what the guest liked, what they disliked
reviewDate2026-10-06T20:13:48Z
checkInDate, checkOutDate, lengthOfStay2026-10-02, 2026-10-04, 2
roomType, travellerTypeDeluxe Room with 2 Twin Beds, Family
reviewerName, reviewerCountry, reviewerCountryCode, isAnonymousKatie, United Kingdom, GB, false (as Booking.com shows them)
languageen, fr, en-us, …
helpfulVotes, photosVotes and guest photo URLs
hotelResponseThe property's reply

How to scrape Booking.com hotel prices for my dates

Use the default Search results with prices mode:

{
"mode": "search",
"destinations": ["Paris"],
"checkIn": "2026-11-10",
"nights": 2,
"adults": 2,
"rooms": 1,
"currency": "EUR",
"starRatings": ["4", "5"],
"maxItems": 200
}

Output example (shortened):

{
"type": "searchResult",
"hotelId": 50013,
"name": "Hôtel Jardin de Cluny",
"url": "https://www.booking.com/hotel/fr/lejardindecluny.html",
"accommodationType": "Hotel",
"starRating": 4,
"area": "5th arr., Paris",
"distanceFromCentre": "0.5 miles from downtown",
"distanceFromCentreKm": 0.8,
"reviewScore": 9.1,
"reviewScoreText": "Wonderful",
"reviewCount": 1763,
"available": true,
"price": 437.21,
"pricePerNight": 218.6,
"taxesAndCharges": 77.52,
"priceWithTaxes": 514.73,
"originalPrice": 514.36,
"deal": "Late Escape Deal",
"currency": "EUR",
"roomType": "Classic Double Room",
"roomsLeft": 1,
"freeCancellation": false,
"breakfastIncluded": false,
"checkIn": "2026-11-10",
"checkOut": "2026-11-12",
"nights": 2
}

Prices depend on the dates, the number of guests and rooms, the currency and the visitor's country, so all of them are inputs. Without a check-in date the search uses the dates in your search URL, else 7 days from today. You can also paste a search URL copied from Booking.com (https://www.booking.com/searchresults.html?ss=Rome&checkin=...&checkout=...&nflt=class%3D4); its dates, guests and filters are used.

How to scrape Booking.com reviews

  1. Choose Reviews mode.
  2. Paste hotel URLs (https://www.booking.com/hotel/gb/the-savoy.html; language suffixes and tracking parameters are fine), or give a destination to read the reviews of its top hotels (Max hotels per destination).
  3. Set Max reviews per hotel, optionally Review languages (en, fr, …), Sort reviews by or Only reviews newer than.
{
"mode": "reviews",
"startUrls": [{ "url": "https://www.booking.com/hotel/gb/the-savoy.html" }],
"maxReviewsPerHotel": 1000,
"maxItems": 1000
}
{
"type": "review",
"reviewId": "7cc232726d221a9b",
"hotelId": 280149,
"hotelName": "The Savoy",
"rating": 10,
"title": "The staff were so polite, kind and helpful. They went above and beyond to make us feel welcome.",
"positives": "Great decor and amazing attention to detail.",
"negatives": "It was all amazing, can’t fault a thing.",
"language": "en",
"reviewDate": "2026-10-06T20:13:48Z",
"checkInDate": "2026-10-02",
"checkOutDate": "2026-10-04",
"lengthOfStay": 2,
"travellerType": "Family",
"roomType": "Deluxe Room with 2 Twin Beds",
"reviewerName": "Katie",
"reviewerCountry": "United Kingdom",
"reviewerCountryCode": "GB",
"hotelResponse": "Dear Katie, Thank you for staying with us at The Savoy ..."
}

How to get Booking.com hotel details, facilities and policies

Use Hotel details mode with hotel URLs or destinations. Add a Check-in date to also get the price and availability for your stay (one extra request per hotel URL; hotels taken from a destination search reuse the search prices).

Monitor changes on a schedule

Turn on Only new or changed items, save the input as a task and add a Schedule in Apify (for example daily). In search mode the first Max items hotels of each search are watched and a hotel is saved again only when its price, struck-through price, availability or review score changed; use fixed dates for this. Hotel details are compared on price, availability, review score and stars. In reviews mode each run checks the newest Max reviews per hotel reviews of every hotel and saves only reviews it has not saved before; Only reviews newer than (1 day, 7 days or a date) narrows it further. Unchanged items are not output and not charged. New items carry changeType: "new", changed ones changeType: "changed" plus previousValues with the old values of the fields that changed. Booking.com shows different rates to different anonymous visitors (A/B pricing), so each watch keeps one visitor identity between runs to compare like with like. Use Monitoring key to keep several schedules on the same input apart.

Does it work without login or a browser?

Yes. It reads the same public data the Booking.com website loads for any visitor, with no login, no cookies from you and no browser. The default Apify datacenter proxy is enough.

How much does it cost?

Pay per result: $0.0035 per search result, $0.006 per hotel details item, $0.0015 per review. Platform usage is small (plain HTTP, 512 MB), and you can cap spend with Max items.

Proxy note

The default {"useApifyProxy": true} (datacenter) works; no residential or Unblocker proxy is needed. Booking.com may show different prices to visitors from different countries; set a proxy country (for example US) to keep prices comparable between runs, especially when monitoring.

The actor collects publicly visible data: hotel information, prices and guest reviews with the reviewer's display name and country as Booking.com shows them. It does not log in or access anything private. Reviews contain personal data (names, countries); make sure your use complies with GDPR and similar laws and with Booking.com's terms, and do not use the data to contact or profile individuals.