Booking.com Scraper - Hotel Prices, Ratings & Availability
Pricing
from $2.10 / 1,000 hotels
Booking.com Scraper - Hotel Prices, Ratings & Availability
Scrape Booking.com hotel search results for any city: hotel name, total and nightly price, rating, review count, stars, district, coordinates and free cancellation, for your dates and currency. Booking hotel scraper for travel and pricing research.
Scrapes Booking.com search results for a given location. Returns one record per hotel with the hotel name, total price and price per night, currency, rating (0-10 scale), review count, star rating, address, district, distance from the centre, city, country, property type, room type, amenities, main photo, coordinates and the hotel URL. Supports check-in/check-out dates and currency selection.
Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
location | string | No* | — | City, region, country to search |
url | string | No* | — | Booking.com search URL; ss, dest_id, dest_type, checkin, checkout, group_adults, no_rooms and selected_currency are used |
checkIn | string | No | — | Check-in date (YYYY-MM-DD) |
checkOut | string | No | — | Check-out date (YYYY-MM-DD) |
maxItems | integer | No | 20 | Maximum number of hotels to return |
currency | string | No | USD | Currency code (USD, EUR, GBP, etc.) |
*Either location or url is required.
Output JSON example
Real item (search "Paris", 2026-12-01 to 2026-12-03, USD; amenities shortened):
{"hotelId": "15793591","name": "Líbere Paris Haussmann","url": "https://www.booking.com/hotel/fr/libere-paris-haussmann.html","pricePerNight": 587.8,"currency": "USD","totalPrice": 1175.61,"originalPrice": 1679.45,"taxesAndCharges": 129.26,"checkIn": "2026-12-01","checkOut": "2026-12-03","nights": 2,"rating": 8.8,"ratingText": "Excellent","reviewCount": 28,"stars": 4,"address": "3 Rue du Havre","district": "8th arr., Paris","distanceFromCenter": "1.7 miles from downtown","publicTransport": "Havre - Caumartin station is within 100 yards","city": "Paris","country": "France","countryCode": "FR","propertyType": "Apartment","roomType": "One-Bedroom Apartment","freeCancellation": false,"amenities": ["Pet friendly", "Non-smoking rooms", "Internet", "Elevator", "Express check-in/out"],"imageUrl": "https://cf.bstatic.com/xdata/images/hotel/square600/913424527.webp?k=8c11bb47ea5af6910658ce2ccdd1a9e89541c55cd8bed2a9fb37ad1a55004a00&o=","images": ["https://cf.bstatic.com/xdata/images/hotel/square600/913424527.webp?k=8c11bb47ea5af6910658ce2ccdd1a9e89541c55cd8bed2a9fb37ad1a55004a00&o="],"latitude": 48.8744432,"longitude": 2.3265986,"location": "Paris","scrapedAt": "2026-10-21T19:42:12.876700+00:00"}
totalPrice is the price shown for the whole stay; pricePerNight is totalPrice / nights. taxesAndCharges is filled when Booking.com shows taxes separately from the total.
Pricing
Pay-per-event, no start fee: $3.50 per 1,000 hotels on the Apify Free plan, with lower prices on paid plans. Each hotel pushed to the dataset is one event.
| Event | Free | Starter | Scale | Business | Enterprise |
|---|---|---|---|---|---|
Hotel (HOTEL) | $3.50 | $3.00 | $2.60 | $2.10 | $2.10 |
Prices in USD per 1,000 events.
Cost examples (Free plan)
| Scenario | Hotels | Cost |
|---|---|---|
| Quick look | 25 | $0.0875 |
| One city | 500 | $1.75 |
| Several cities | 5,000 | $17.50 |
Limitations
- Prices need dates: without
checkIn/checkOut, Booking.com returns the properties but no prices (totalPrice,pricePerNightandfreeCancellationare null). - Prices are for 2 adults and 1 room, unless a search URL with
group_adults/no_roomsis given. - Only data shown on search result cards is returned; room details and cancellation terms of each room require the hotel page.
- Ratings are on Booking.com's 0-10 scale.
starsis the official star classification and is null for unclassified properties. - Booking.com's default ordering shifts slightly between result pages; duplicates are removed, so a few properties of a very large result set can be missed.
- The free-text
locationis resolved by Booking.com. Ambiguous or unknown names fail with a clear message; use a search URL withdest_idto pin a destination. - Prices and availability are point-in-time; they change frequently.
Related Actors
- Airbnb Scraper - Listings, Prices & Ratings — Scrape Airbnb search results for any location: listing name, price per night, total price, rating, review count, room type, beds, badges and coordinates, with optional dates and currency.
- Google Flights Scraper - Fares, Airlines & Schedules — Scrape Google Flights fares for a route and date: price, airline, flight numbers, departure and arrival times, duration, stops and layovers.
- Zillow Scraper - Homes for Sale & Rent Listings — Scrape Zillow listings for a city, ZIP code or neighborhood: price, Zestimate, beds, baths, square feet, home type, status, address and coordinates, for sale or for rent.