Booking.com Hotel Scraper - Ratings, Review Counts & Prices avatar

Booking.com Hotel Scraper - Ratings, Review Counts & Prices

Pricing

from $2.00 / 1,000 hotel scrapeds

Go to Apify Store
Booking.com Hotel Scraper - Ratings, Review Counts & Prices

Booking.com Hotel Scraper - Ratings, Review Counts & Prices

Scrape Booking.com hotels by destination, or paste hotel URLs directly. Get the overall guest rating, total review count, star rating, full address, GPS coordinates, price per night and room type. One clean row per hotel. Fast, HTTP-only, no browser. JSON, CSV or Excel.

Pricing

from $2.00 / 1,000 hotel scrapeds

Rating

0.0

(0)

Developer

Muhamed Didovic

Muhamed Didovic

Maintained by Community

Actor stats

0

Bookmarked

20

Total users

15

Monthly active users

12 hours ago

Last modified

Categories

Share

Booking.com Scraper ๐Ÿจ

Scrape Booking.com hotels and accommodations by destination โ€” prices, ratings, guest review scores, coordinates, room types, photos, cancellation policies, and direct booking URLs. Fast, HTTP-only, and structured JSON/CSV/Excel out.

Booking.com Scraper

Why use Booking.com Scraper?

  • Search any destination, or paste hotel URLs โ€” city, region, country, a hotel name, or a list of direct Booking.com hotel page URLs.
  • URLs resolve exactly, even after a rename โ€” a hotel's URL slug and its listed name are independent (/hotel/tc/the-alexandra is listed as "Alexandra Resort - All-Inclusive"). Each URL is read from the property's own page, so renamed hotels come back rather than going missing.
  • Rich per-hotel data โ€” name, star rating, guest review score & count, total & per-night price, room type, bed/bathroom counts, GPS coordinates, full address, photo, and the direct Booking.com URL.
  • Full control โ€” set check-in/check-out dates, guests, rooms, currency, language, sort order, price range, star filters, and property type.
  • Unlimited results โ€” paginate through every matching property, not just the first page.
  • No login, no browser โ€” talks directly to Booking's data API, so runs are fast and cheap.
  • Runs on any plan โ€” the standard Apify proxy is enough, no residential subscription required.
  • Pay only for what you scrape โ€” pay-per-result pricing with volume discounts, no monthly rental.

What data can you extract from Booking.com?

FieldTypeDescription
namestringHotel or property name
hotelIdnumberBooking.com internal hotel ID
ufinumberBooking.com destination (city) ID
urlstringDirect Booking.com hotel page URL
propertyTypenumberAccommodation type ID (204 = Hotel, 201 = Apartment, โ€ฆ)
addressstringStreet address
citystringCity
countryCodestringISO country code
latitudenumberGPS latitude
longitudenumberGPS longitude
starRatingnumberStar rating (1โ€“5)
reviewScorenumberGuest review score (0โ€“10)
reviewScoreWordstringRating label (e.g. "Exceptional", "Very Good")
reviewCountnumberTotal number of guest reviews
pricenumberTotal price for the stay (numeric)
priceFormattedstringTotal price, formatted with currency symbol
priceBeforeDiscountnumberOriginal price before discount, if any
currencystringCurrency code (USD, EUR, GBP, โ€ฆ)
roomTypestringRecommended room/unit type
bedroomsnumberNumber of bedrooms
bathroomsnumberNumber of bathrooms
bedsnumberTotal number of beds
freeCancellationbooleanWhether free cancellation is available
noPrepaymentbooleanWhether no-prepayment is available
petsAllowedbooleanWhether pets are allowed for free
mealPlanstringIncluded meal plan text, if any
isSustainablebooleanWhether the property has a sustainability certification
distanceFromCenterstringDistance from city centre
photoUrlstringMain hotel photo URL
descriptionstringShort property description, if available
checkin / checkoutstringThe searched stay dates
scrapedAtstringISO 8601 timestamp of collection

Use cases

  • Rate & availability monitoring โ€” track competitor hotel prices across dates and markets.
  • Travel content & metasearch โ€” power a hotel directory, deals site, or comparison tool.
  • Market research โ€” analyse pricing, star ratings, and review scores across a destination.
  • Lead lists โ€” build accommodation-partner prospect lists with locations and contact-ready URLs.
  • Data science โ€” feed structured hotel data into pricing models and dashboards.

How to scrape Booking.com hotels

You can work two ways, and they can be mixed in one run.

By destination โ€” set Destination to a city, region, country, or hotel name (London, Paris, France, The Savoy), pick your check-in and check-out dates, set guests, rooms and any filters, then set Max results (0 = unlimited) and run.

By hotel URL โ€” paste Booking.com hotel page URLs into Start URLs and run. You get one row per URL, each read from that property's own page, so the name, rating and review count are exact.

Download the results as JSON, CSV, Excel, HTML, or XML โ€” one row per property.

Input configuration

ParameterTypeDefaultDescription
startUrlsarrayโ€”Direct Booking.com hotel page URLs, e.g. https://www.booking.com/hotel/gb/the-savoy.html. One row per URL. Use this, locationQuery, or both.
resolveUrlsViaPagebooleantrueRead each start URL's own page for its exact name, rating and review count. Leave this on โ€” it is what makes renamed properties resolve.
locationQuerystringโ€”City, region, country, or hotel name to search. Optional when you supply startUrls.
checkinstringtomorrowCheck-in date, YYYY-MM-DD.
checkoutstringcheck-in + 2 daysCheck-out date, YYYY-MM-DD.
adultsinteger2Number of adult guests.
roomsinteger1Number of rooms.
childreninteger0Number of children.
maxResultsinteger100Max hotels to return. 0 = unlimited.
sortByenumpopularitypopularity, price, review_score, class, distance.
propertyTypeenumanyhotels, apartments, hostels, guesthouses, villas, resorts, bnb.
currencystringUSDCurrency code for prices (USD, EUR, GBP, โ€ฆ).
languagestringen-usLanguage code (en-us, de, fr, es, it, โ€ฆ).
minPriceintegerโ€”Minimum price-per-night filter.
maxPriceintegerโ€”Maximum price-per-night filter.
starsFilterstring[]โ€”Star ratings to include, e.g. ["4","5"].
proxyConfigurationobjectApify proxyProxy settings. The standard Apify proxy is the default and is enough; residential is supported but costs more and is not required.

Output sample

{
"name": "Sansi Pedralbes",
"hotelId": 91017,
"ufi": -372490,
"url": "https://www.booking.com/hotel/es/sansipedralbes.html",
"propertyType": 204,
"address": "Avenida Pearson, 1-3",
"city": "Barcelona",
"countryCode": "es",
"latitude": 41.3937882727419,
"longitude": 2.1118788421154,
"starRating": 4,
"reviewScore": 9.7,
"reviewScoreWord": "Exceptional",
"reviewCount": 567,
"price": 790.42,
"priceFormatted": "โ‚ฌ 790",
"currency": "EUR",
"roomType": "Double Room",
"bedrooms": 0,
"bathrooms": 0,
"beds": 2,
"freeCancellation": true,
"noPrepayment": true,
"petsAllowed": false,
"isSustainable": false,
"distanceFromCenter": "4.9 km from downtown",
"photoUrl": "https://cf.bstatic.com/xdata/images/hotel/square600/36537530.jpg",
"checkin": "2026-09-10",
"checkout": "2026-09-12",
"scrapedAt": "2026-07-12T04:05:09.746Z"
}

FAQ

Do I need a Booking.com account or API key? No. The scraper pulls public search-results data directly โ€” no login, cookies, or key required.

Do I need residential proxies? No. The default Apify proxy is enough for both destination search and hotel pages, and it is what the Actor uses out of the box. Residential is supported if you prefer it, but it costs considerably more per run and buys you nothing here.

A hotel URL returned nothing. Why? Almost always because the property has been delisted. A removed hotel redirects to a generic destination page with no property record left to read, so no scraper can recover it. If the hotel is still live on Booking and you get an empty result, send the URL via the Issues tab.

The name in my output doesn't match the URL. Is that wrong? No, that is correct behaviour. A slug and a listed name are independent, and properties get renamed. /hotel/tc/leeward-resort is listed as "Blue Haven Resort", /hotel/tc/bianca-sands-on-grace-bay as "The Regent Grand". The Actor returns the name Booking currently shows.

Why is roomType / mealPlan sometimes empty? Search-results pages expose a recommended room and a summary. Fields like full room lists, amenities, and reviews live on the individual hotel page โ€” see Additional services below for a detail/reviews-focused run. Rows resolved from a start URL also have no price fields, because rates are per-stay and only exist in a dated search.

Can I control the currency and language? Yes โ€” set the currency (e.g. EUR, GBP) and language (e.g. fr, de) inputs.

How many results can I get? Set maxResults to 0 for unlimited โ€” the scraper paginates through every matching property for your search.

Support

Found a bug or need a field added? Open an issue on the Actor's Issues tab and we'll take a look.

Additional services

Need individual hotel details (full room matrix, amenities, all photos) or guest reviews at scale? Those are available as companion runs on the same fast, HTTP-only pipeline โ€” get in touch via the Issues tab.

Explore more scrapers

Check the Apify Store for more travel and accommodation data tools.

๐Ÿค– For AI Agents & LLM Apps

Compact reference for AI agents calling this actor via the Apify MCP server or the Apify API (actor: memo23/booking-scraper).

Purpose: Scrape Booking.com hotels by destination or by direct hotel URL โ€” prices, review scores, coordinates, room types, cancellation policies, and booking URLs, one row per property.

Minimal input (destination search):

{
"locationQuery": "London",
"adults": 2,
"rooms": 1,
"children": 0,
"maxResults": 25,
"sortBy": "popularity",
"currency": "USD",
"language": "en-us",
"proxyConfiguration": { "useApifyProxy": true }
}

Minimal input (specific hotels):

{
"startUrls": [
{ "url": "https://www.booking.com/hotel/gb/the-savoy.html" },
{ "url": "https://www.booking.com/hotel/tc/the-alexandra.html" }
],
"proxyConfiguration": { "useApifyProxy": true }
}

checkin/checkout default to tomorrow and +2 nights (set YYYY-MM-DD to override). Optional filters: propertyType, minPrice, maxPrice, starsFilter.

Output: one row per hotel โ€” name, hotelId, ufi, url, propertyType, address, city, countryCode, latitude, longitude, starRating, reviewScore, reviewScoreWord, reviewCount, price, priceFormatted, priceBeforeDiscount, currency, roomType, bedrooms, bathrooms, beds, freeCancellation, noPrepayment, petsAllowed, mealPlan, isSustainable, distanceFromCenter, photoUrl, description, checkin, checkout, scrapedAt.

Behaviors an agent should know:

  • Supply locationQuery, startUrls, or both. At least one is required.
  • startUrls resolves each URL from the property's own page, so the returned name is the hotel's current listed name and may differ from the URL slug. That is correct: slugs and names are independent, and properties get renamed.
  • A start URL that yields no row means the property is delisted, not that the run failed. Live hotels always resolve.
  • Rows from startUrls carry no price fields โ€” rates are per-stay and exist only in a dated search. Use locationQuery if you need pricing.
  • maxResults caps hotels returned and billed from the search path; set 0 for unlimited.
  • currency and language control regional pricing and result locale.
  • Filter with sortBy, propertyType, minPrice, maxPrice, starsFilter.
  • The default Apify proxy is sufficient. Residential is supported but unnecessary and more expensive.
  • Search-results data only โ€” full room matrix, amenities, and guest reviews live on hotel-detail pages (a separate run).
  • Billing: pay per result โ€” one charge per hotel row.

โš ๏ธ Disclaimer

This Actor scrapes only publicly available information from Booking.com. It does not log in, bypass access controls, or collect personal data. You are responsible for how you use the extracted data, including compliance with Booking.com's Terms of Service, applicable laws (such as GDPR), and any copyright or database rights. Use the data lawfully and ethically.

SEO Keywords

booking.com scraper, booking scraper, hotel scraper, booking.com api, scrape booking.com, hotel price scraper, accommodation data, hotel data extraction, booking.com data, travel data scraper, hotel rates api, hotel availability scraper, booking hotels export, hotel review scraper, accommodation prices, hotel listings scraper