Booking.com Search Scraper
Pricing
from $2.00 / 1,000 results
Booking.com Search Scraper
Scrapes Booking.com search results over plain HTTP. Full filter set, currency selection, and structured output — prices, ratings, coordinates, room layout.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
Mina
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
11 days ago
Last modified
Categories
Share
Scrape Booking.com search results at speed — every property matching your dates, destination, and filters, with prices in the currency you choose. No browser, no cookies, no login.
What does Booking.com Search Scraper do?
This Actor runs a search on Booking.com exactly as you would in a browser — destination, dates, guests, and any combination of Booking's filters — and returns the results as structured data. For each property you get the name, link, price for your stay, review score, star rating, coordinates, distance from the centre, room layout, and cancellation terms.
It runs no browser, so it is fast and inexpensive — expect a few hundred properties in well under a minute.
Why use Booking.com Search Scraper?
- Rate and availability monitoring — track competitor pricing for a city on given dates, on a schedule.
- Market research — pull every 4- and 5-star hotel in a region with review scores and facilities.
- Travel aggregation — feed a comparison site or an internal booking tool.
- Lead lists — build a list of properties by type, brand, or facility for outreach.
Running it on Apify adds scheduling, an API, integrations (Sheets, Slack, Zapier, S3), and run monitoring.
How to use Booking.com Search Scraper
- Type a Destination — a city, region, landmark, or property name, exactly as you would on Booking.com.
- Set Check-in and Check-out dates. Leave them empty to browse without prices.
- Set Adults, Children ages, and Rooms.
- Pick a Currency — all prices are converted to it.
- Add any Filters you want, then click Start.
Results appear in the Output tab as they are scraped, and can be downloaded as JSON, CSV, Excel, or XML.
Input
Destination is the only required field.
| Field | Description |
|---|---|
destination | Where to search — a city, region, district, landmark, airport, or a specific property. Type it as you would on Booking.com. |
checkin / checkout | YYYY-MM-DD. Omit both to search without availability. |
adults, children_ages, rooms | Occupancy. Children are priced by age, so pass one age per child. |
currency | Currency for all prices, e.g. EUR. |
language | Language of names, descriptions, and labels in the output. |
sort_by | Price, review score, distance, star rating, and so on. |
max_results | Stops after this many properties. |
Filters
The full Booking filter set is exposed as plain dropdowns:
Price (min/max per night) · Property rating (1–5 stars) · Review score (6+ through 9+) · Property type (hotels, apartments, villas, resorts, hostels, and 18 more) · Meals (breakfast, half board, all-inclusive, self catering) · Reservation policy (free cancellation, no prepayment, book without credit card) · Property facilities (pool, parking, spa, beachfront, gym, and more) · Room facilities (kitchen, balcony, sea view, air conditioning, and more) · Fun things to do (beach, golf, diving, skiing, and more) · Accessibility (property and room features) · Bed preference · Travel group (pets allowed, adults only) · Distance from centre · Min bedrooms / bathrooms · Entire homes only · Only available properties · Accepts online payments · Sustainability certified
Booking also offers filters that exist only for a particular search — the hotel brands present in that city, its neighbourhoods, nearby landmarks. Every run saves the full list of filters available for your search, along with how many properties match each one, to the Available filters output. Copy an entry from there into Extra filters to apply it.
Output
{"hotel_id": 16768029,"name": "Hôtel Test Paris","url": "https://www.booking.com/hotel/fr/hotel-test.html","price": 450.0,"price_formatted": "€ 450","currency": "EUR","taxes_and_charges": "+€ 30 taxes and charges","review_score": 8.6,"review_count": 412,"star_rating": 4,"address": "1 Rue de Rivoli","city": "Paris","country_code": "fr","latitude": 48.8566,"longitude": 2.3522,"distance_from_centre": "1.2 km from centre","unit_type": "Entire apartment","bedrooms": 2,"bathrooms": 1,"beds": 3,"area": "110 m²","meal_plan": "Breakfast included","free_cancellation_until": "2026-09-01T11:00:00Z","is_sustainable": true,"photo_urls": ["https://cf.bstatic.com/xdata/images/hotel/square600/…"]}
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
Data fields
| Field | Description |
|---|---|
hotel_id, name, url | Property identity and its Booking.com page. |
price, price_formatted, currency, taxes_and_charges | Total for the whole stay, in the selected currency. |
price_before_discount | Struck-through price, when the property is discounted. |
review_score, review_count, star_rating | Guest rating and official star rating. |
address, city, country_code, latitude, longitude | Location. |
display_location, distance_from_centre, beach_distance | Location as shown on the search card. |
unit_type, bedrooms, bathrooms, beds, living_rooms, kitchens, area | Room or unit layout. |
meal_plan, free_cancellation_until | Board basis and cancellation deadline. |
is_sustainable, is_sold_out, is_newly_opened, wishlist_count | Property flags. |
photo_urls, description | Main photo and summary. |
How much does it cost to scrape Booking.com?
Cost scales with how many properties you ask for, not with how complex the pages are. Set Max results to the number you actually need — it is the single biggest lever on what a run costs.
Tips
- Narrow before you paginate. Filters are applied by Booking, not after the fact, so filtering cuts requests as well as noise.
- Dates matter for prices. Without
checkin/checkoutthere is no availability to price, so price fields come back empty. - Be specific with ambiguous places. Your destination is matched the same way Booking's own search box matches it, and the closest match wins — "Paris" could mean the city, a district, an airport, or Disneyland Paris. The run log names the place it searched and lists the other matches, so if it picked the wrong one, retype the destination more precisely ("Paris City Center", "Paris Charles de Gaulle Airport").
- Discover niche filters via the
AVAILABLE_FILTERSkey-value store record after any run.
FAQ and support
Does it need a Booking.com account or cookies? No. It reads only publicly visible search results.
Why did a run return fewer results than I asked for? Booking limits how far any single search goes, no matter how many properties match. To cover a large market, split it into several narrower searches — by price band, star rating, or neighbourhood — and run each one.
Is scraping Booking.com legal? This Actor collects only publicly available data and no personal information. You are responsible for how you use the data, including compliance with Booking.com's terms and with GDPR and similar laws. Consult a lawyer if you are unsure.
Found a bug or need a field that is missing? Open an issue on the Actor's Issues tab.
SEO Keywords
booking.com scraper, scrape booking.com hotels, hotel price scraper, booking.com api, hotel rate monitoring, travel data scraping, hotel availability scraper, accommodation price comparison, booking.com search results, hotel reviews and ratings data, revenue management data