Booking.com Hotels Scraper avatar

Booking.com Hotels Scraper

Pricing

from $11.99 / 1,000 result items

Go to Apify Store
Booking.com Hotels Scraper

Booking.com Hotels Scraper

Scrapes Booking.com hotel listings by destination search or direct URL. Returns each hotel as a flat row with price, rating, review count, address, star count, and property type.

Pricing

from $11.99 / 1,000 result items

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

112

Total users

16

Monthly active users

6 days ago

Last modified

Share

ParseForge

Booking.com Hotels Scraper

Scrape hotel listings from Booking.com by destination and stay dates, up to a million per run. Every listing returns its name, price, review score, review count, stars, address, city, country, image and URL. Export to CSV, JSON, Excel, or XML.

Low minimum charge: $0.01 to start a run, then you only pay for the results you get.

Booking.com's hotel data is spread across thousands of search pages, and manually copying prices or ratings for a market analysis is slow and error-prone. This Actor opens the public search results for any destination and stay dates and returns one structured row per hotel.

Who uses itWhat they scrape Booking.com for
Revenue managersMonitor competitor pricing and rating trends for a destination over a specific date range.
Market researchersBuild a dataset of hotel supply, price distribution, and locations in a city.
Travel app buildersFeed a hotel search backend with fresh listing data for a set of destinations.
Lead generation teamsCollect the business contact Booking.com publishes for each property.

What it does

  • 🏨 Destination search: type a city, region or landmark and the Actor builds the Booking.com search for you.
  • 📅 Date control: set check-in and check-out to capture real prices and availability for those nights.
  • 📄 Flat rows: every hotel has the same fields, ready for CSV, JSON, Excel, or XML export.
  • 🌐 Residential proxies built in: no proxy setup needed.
  • ➕ Optional extras: price breakdown, coordinates, full hotel details and host contact, each behind its own switch.

Input

FieldWhat it does
destinationCity, region, or landmark to search (for example Paris). Required.
checkInCheck-in date, YYYY-MM-DD.
checkOutCheck-out date, YYYY-MM-DD.
maxItemsMaximum number of hotels to collect.
includePriceBreakdownOptional extra, off by default. Adds priceBreakdown.
includeGeoLocationOptional extra, off by default. Adds geoLocation.
includeHotelDetailsOptional extra, off by default. Adds hotelDetails.
includeHostContactOptional extra, off by default. Adds hostContact.

A first run with the defaults:

{
"destination": "Paris",
"checkIn": "2026-11-10",
"checkOut": "2026-11-12",
"maxItems": 10
}

With every extra turned on:

{
"destination": "Barcelona",
"checkIn": "2026-11-10",
"checkOut": "2026-11-12",
"maxItems": 50,
"includePriceBreakdown": true,
"includeGeoLocation": true,
"includeHotelDetails": true,
"includeHostContact": true
}

Output

Every row carries imageUrl, name, stars, rating, reviewCount, reviewScore, pricePerNight, currency, city, country, address, hotelUrl and scrapedAt.

The optional extras add one block each, only when it comes back:

BlockWhat is inside
priceBreakdownExact total for the stay, nights, average per night, total in the hotel currency, price before discount, each discount with its amount, taxes and fees not included, deal badges, free cancellation and its deadline, prepayment terms, meal plan, and the room the price is for (name, bedrooms, bathrooms, beds, area, occupancy).
geoLocationLatitude, longitude, Booking.com property ID, street address, district, distance from the center, nearest public transport, country code.
hotelDetailsFull description, full address with postal code and region, property type, check-in and check-out times, popular facilities, amenities, languages spoken, review subscores (staff, facilities, cleanliness, comfort, value, location, wifi), featured guest reviews, room types with size and beds, breakfast, questions and answers, fine print, and photo URLs.
hostContactThe trader information Booking.com publishes for the property: email, phone, company legal name, trade register name, registration number, business address and license numbers. When the trader is a private individual, the person's name and street address are left out.

Pricing

Pay-per-result: $0.01599 per result collected. You pay only for the results written to your dataset.

Results collectedApproximate cost
100 results$1.60
1,000 results$15.99
10,000 results$159.90

Optional extras (from 2026-10-03)

Four opt-in blocks add data to each hotel: priceBreakdown, geoLocation, hotelDetails and hostContact. All are off by default, the per-result price does not change, and a block that does not come back is never charged.

EventPriceCharged when
apify-actor-start$0.005 per GB of run memorythe run starts
price-breakdown$0.004 per hotelincludePriceBreakdown is on and the hotel comes back with a price for your dates
geo-location$0.003 per hotelincludeGeoLocation is on and the hotel comes back with coordinates
hotel-details$0.012 per hotelincludeHotelDetails is on and the property page comes back
host-contact$0.01 per hotelincludeHostContact is on and Booking.com publishes an email or phone for the property

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Booking.com Hotels Scraper.
  3. Set your destination and dates, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to Booking.com through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

$claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/booking-com-hotels-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check that your destination name is spelled correctly and that Booking.com returns results for it in a browser. Also check that the dates are in the future and in YYYY-MM-DD format.

Why are prices missing or different from what I see on the site?

Prices depend on the exact check-in and check-out dates. Booking.com also personalizes prices by visitor location; this Actor searches from the United States in USD.

Why does a hotel have no hostContact?

Booking.com publishes trader information mainly for properties that sell to customers in the European Union. When a property has none, the block is left out and nothing is charged for it.

Browse the full ParseForge collection for more scrapers.

🆘 Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Booking.com B.V. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.