Booking.com Hotel Details Scraper avatar

Booking.com Hotel Details Scraper

Pricing

$0.30 / 1,000 hotel detail results

Go to Apify Store
Booking.com Hotel Details Scraper

Booking.com Hotel Details Scraper

Review Booking.com hotel pages for the property name, address, guest rating, check-in times and structured hotel details. Submit a hotel URL or a country and hotel slug, with batch input for multiple properties.

Pricing

$0.30 / 1,000 hotel detail results

Rating

0.0

(0)

Developer

Scrappa

Scrappa

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

0

Monthly active users

8 days ago

Last modified

Categories

Share

Review a Booking.com hotel page with its property name, address, guest rating and check-in details. Submit a hotel URL or country and slug, with batch input for multiple properties.

What data can you extract?

Each saved row represents one hotel lookup. The record includes structured hotel details and Schema.org markup when Booking.com provides them.

FieldTypeDescription
titletextTitle of the hotel listing, as shown by Booking.com; null when no title is published.
canonical_urllinkCanonical page url for this hotel listing on Booking.com; null when the source does not provide a URL.
hotel_schemaobjectSchema.org hotel details with name, street and city address fields, aggregateRating and check-in and check-out times; null when the page has no hotel schema.
aggregate_ratingobjectBooking.com rating summary with ratingValue on the 10-point guest scale, reviewCount and bestRating; null when the page has no rating data.
json_ldarray of objectsSchema.org records with @type, name, address and aggregateRating fields; an empty list when the page has no structured hotel records.
parsedbooleanWhether the page was parsed; false is a reported value, while null means Booking.com provided no flag.
request_indexnumberZero-based position of this request in the submitted Booking.com input batch; null for a single-item lookup.
request_input_typetextInput type passed to Booking.com. This input value is copied into the output row; null when it was not supplied.
request_urllinkSource page url passed to Booking.com. This input value is copied into the output row; null when it was not supplied.
request_countrytextCountry code or country name passed to Booking.com. This input value is copied into the output row; null when it was not supplied.
request_slugtextSource hotel or shop slug passed to Booking.com. This input value is copied into the output row; null when it was not supplied.
request_successbooleanLookup success flag passed to Booking.com. This input value is copied into the output row; null when it was not supplied.
error_messagetextDiagnostic text for the Booking.com lookup; null when the request completes without an error.

Use cases

  • Travelers can review a property’s published address and check-in details before planning a stay.
  • Hospitality teams can organize public property details from a list of Booking.com pages.
  • Researchers can compare the rating and structured details Booking.com publishes for hotels.

How to use

  1. Open the Actor’s Input tab and start with the JSON below.
  2. Put the supported targets in urls and use the identifier or URL format required by Booking.com.
  3. Start the run and open its default dataset to inspect or download the rows.
{
"country": "fr",
"slug": "ritz-paris",
"urls": [
"https://www.booking.com/hotel/fr/ritz-paris.html"
]
}

The run dataset can be downloaded as JSON, CSV, Excel or another format offered by Apify.

Input

FieldTypeRequiredDescription
urlstringNoFull Booking.com hotel URL for a single hotel detail request. If URL is provided, it takes precedence over Country and Slug.
countrystringNoTwo-letter country code from the Booking.com hotel URL, such as fr, us, de, or gb. Use with Slug.
slugstringNoBooking.com hotel slug, such as ritz-paris. The trailing .html is optional.
urlsarray of stringNoOptional list of Booking.com hotel URLs to process in one actor run. Constraints: maximum 10 items.
hotelsarray of objectNoOptional list of hotel request objects. Each item can include { "url" } or { "country", "slug" }. Constraints: maximum 10 items.

Output example

The record below is synthetic. Names and links are examples, and private contact fields are omitted.

{
"title": "Juniper House Hotel in Portland",
"canonical_url": "https://www.booking.com/hotel/us/juniper-house.html",
"hotel_schema": {
"@type": "Hotel",
"name": "Juniper House Hotel",
"address": {
"streetAddress": "18 Pine Avenue",
"addressLocality": "Portland",
"addressRegion": "OR",
"addressCountry": "US"
},
"aggregateRating": {
"ratingValue": "8.8",
"reviewCount": 184
},
"checkinTime": "15:00",
"checkoutTime": "11:00"
},
"aggregate_rating": {
"ratingValue": "8.8",
"reviewCount": 184,
"bestRating": "10"
},
"json_ld": [
{
"@type": "Hotel",
"name": "Juniper House Hotel",
"aggregateRating": {
"ratingValue": "8.8",
"reviewCount": 184
}
}
],
"parsed": true
}

Pricing

Current live price: $0.30 per 1,000 results.

Each saved hotel record counts as one result.

FAQ

This Actor is for information visible on the public source pages it reads. You are responsible for checking the source terms, privacy and copyright rules, and the laws that apply to your use.

How many records will a run return?

The result count depends on the input limits, pagination settings and what the source makes available. A small query or unavailable page can return fewer records, including none.

Can I call it through the API or connect it to other tools?

Yes. Send the same JSON input to POST https://api.apify.com/v2/acts/thescrappa~booking-hotel-details-scraper/runs, then read the run’s default dataset. Make, Zapier and n8n can start runs and pass dataset rows to the next step; Google Sheets can receive rows through those workflows or a dataset export.

What happens when a request fails?

Check the run log for the source or input error, correct the input and retry after a temporary source issue. A run can contain rows saved before a later request failed.

Can Booking.com Hotel Details take a full hotel URL?

Yes. Submit one URL in url or a list in urls. You can also provide a country code and hotel slug; the page must be accessible to retrieve its public schema.