Booking.com Scraper - Hotels, Prices & Availability
Pricing
from $1.10 / 1,000 hotel scrapeds
Booking.com Scraper - Hotels, Prices & Availability
Scrape Booking.com hotels: live prices for your dates with taxes and all-in totals, availability, review scores by category, stars, rooms, policies, photos and business contacts. Search any city, landmark or hotel, or paste URLs. Monitor prices. Independent tool, not affiliated with Booking.com.
Pricing
from $1.10 / 1,000 hotel scrapeds
Rating
0.0
(0)
Developer
Scrape Sage
Maintained by CommunityActor stats
0
Bookmarked
12
Total users
3
Monthly active users
4 days ago
Last modified
Categories
Share
Disclaimer: This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Booking.com B.V. or any of its subsidiaries. All trademarks mentioned are the property of their respective owners. "Booking.com" is referenced only to describe the publicly available website this Actor collects data from.
Extract complete Booking.com hotel data for any destination or hotel: live prices for your exact stay (with taxes, the all-in total, any crossed-out "was" price and the deal behind it), availability, guest review scores overall and by category (staff, cleanliness, location, value...), star ratings, room offers, free-cancellation and breakfast flags, neighbourhood and distance from the centre, the hotel description, facilities, check-in/out times, pet and child policy, up to 20 photos, and, for professional hosts, the company contact details Booking.com publishes. Search by city, region, landmark, airport or hotel name, or paste Booking.com URLs.
No login, no cookies, no browser, no API key: fast structured extraction from Booking.com's own data service, with built-in price and availability monitoring.
Why this Booking.com scraper?
| Data | Typical scrapers | This Actor |
|---|---|---|
| Hotel name, stars, review score, address, coordinates | ✅ | ✅ |
| Price for your dates and guests | partial | ✅ any stay up to 90 nights, from today to about 500 days ahead |
| Taxes & fees as a number + the all-in total | ❌ | ✅ |
| "Was" price, discount % and the deal name | ❌ | ✅ |
| Review scores by category (staff, cleanliness, comfort, value, location, Wi-Fi) | ❌ | ✅ |
| Description, facilities, check-in/out times, pet & child policy, languages spoken | partial | ✅ |
| Business contact details of professional hosts (company, email, phone, registration number) | ❌ | ✅ |
| Neighbourhood, distance from centre, nearest station, beach / ski-lift distance | ❌ | ✅ |
| Room offers with meal plan, cancellation deadline and rooms left at this price | ❌ | ✅ |
| Paste a hotel page URL and get exactly that hotel | partial | ✅ language versions (.en-gb.html...) too |
| Filters applied by Booking.com and re-checked on every row before it is billed | ❌ | ✅ |
| Relative dates ("check-in in 14 days") so schedules never go stale | ❌ | ✅ |
| Monitor mode: only new hotels and price / availability changes | ❌ | ✅ |
What you get
One record per hotel (type: "hotel"). Highlights:
| Group | Fields |
|---|---|
| Hotel | name, hotelId, url, propertyType (Hotel, Apartment, Guesthouse...), unitType, starRating, chain, photoUrl, photoUrlLarge, photos |
| Location | address, area (neighbourhood), city, country, countryCode, latitude, longitude, distanceFromCenter, distanceFromCenterKm, nearestStation, beachDistance, nearbyBeaches, skiLiftDistance |
| Price for your stay | price, currency, pricePerNight, taxesAndFeesAmount, priceWithTaxes, priceBeforeDiscount, discountPercent, deals, hasGeniusDiscount, roomsLeftAtThisPrice, stayUrl (opens Booking.com on that stay) |
| Conditions | freeCancellation, noPrepayment, breakfastIncluded, mealPlan, available |
| Reviews | reviewScore, reviewScoreLabel, reviewCount, scoreStaff, scoreFacilities, scoreCleanliness, scoreComfort, scoreValueForMoney, scoreLocation, scoreFreeWifi, externalReviewScore |
| Rooms | roomName, beds, bedrooms, bathrooms, roomSizeM2, rooms[] (each offer: name, price, guests, meal plan, free-cancellation deadline, rooms left) |
| Hotel details | description, facilities, checkInFrom / checkInUntil, checkOutFrom / checkOutUntil, minCheckInAge, petsAllowed, petsFee, childrenAllowed, cribsAvailable, extraBedsAvailable, isWheelchairAccessible, languagesSpoken, mealsServed, breakfastPrice, acceptedCards, acceptsCash, licenseNumbers, importantInformation |
| Host & business | hostType (professional / private), hostCompanyName, hostEmail, hostPhone, hostRegistrationNumber, hostTradeRegister, hostAddress, isPreferredPartner, isSustainable, sustainabilityCertifications, isNewlyOpened |
| Your search | checkIn, checkOut, nights, adults, children, roomsRequested, rank, searchTerm, searchUrl, destinationLabel, scrapedAt |
The dataset has four ready-made views: Hotels, Prices & availability, Hotel details and Business contacts.
Use cases
- Rate intelligence & revenue management - track nightly and all-in prices, taxes, discounts and rooms left for any stay, across cities and dates.
- Competitor benchmarking - compare a property with its market by stars, review categories, price band, cancellation and breakfast policy.
- B2B lead generation - build lists of professionally run hotels and apartments with the company name, email, phone and registration number they publish on Booking.com.
- Price & availability alerts - schedule monitor mode to receive only price drops, price rises and newly listed hotels.
- Travel content & apps - feed trip planners, comparison sites and dashboards with descriptions, facilities, photos and coordinates.
- Market & event research - see how prices move around holidays, events and seasons in a destination.
How to use
- Sign up for Apify - the free plan is enough to try this Actor.
- Open Booking.com Scraper, type a destination (e.g.
Lisbon) or a hotel name, and choose your stay: exact dates, or Check-in in N days + Nights. - Optionally add filters (price per night, stars, review score, free cancellation, breakfast, property type) and click Start.
- Watch hotels arrive in the dataset, then export to JSON, CSV, Excel, XML or RSS, or read them with the Apify API.
Input
{"searchTerms": ["Lisbon", "Hotel Armoni Paris"],"checkInDaysFromToday": 30,"nights": 2,"adults": 2,"rooms": 1,"currency": "USD","sortBy": "review_score_and_price","minReviewScore": 8,"maxResultsPerSearch": 50,"maxResults": 100,"includeDetails": true}
- searchTerms - destinations (
Paris,Bali,New York,Eiffel Tower,Schiphol Airport) or hotel names (Hotel Armoni Paris), resolved with Booking.com's own search box. - searchUrls - Booking.com search-results URLs (their dates, guests, sort order and filters are used) or hotel page URLs, including language versions such as
.../hotel/fr/de-nesle.en-gb.html. A whole list can be imported from a file or Google Sheet via urlsFromFile. - destinations (advanced) - Booking.com IDs as
destId:destType, e.g.-1456928:cityor850371:hotel. - Stay - exact
checkInDate/checkOutDate, or relativecheckInDaysFromToday+nights(best for saved tasks and schedules). Without dates: a 1-night stay 14 days from the run date. - Guests -
adults,childrenwithchildrenAges(0-17),rooms. - currency / language - any currency and site language Booking.com offers, picked from a list.
- sortBy - top picks, price (lowest or highest first), best reviewed and lowest price, guest review score, stars, stars and price, distance, or homes and apartments first.
- Filters -
minPrice/maxPrice(per night),starRatings,minReviewScore,minReviews,freeCancellationOnly,breakfastIncludedOnly,entireHomesOnly,propertyTypes, plus raw Booking.com filter codes inextraFilters. - includeDetails (default on) - adds the hotel-page fields (description, facilities, category scores, policies, photos, business contact).
- includeRooms (default on) - adds the
roomslist of individual room offers. - maxResultsPerSearch / maxResults - limits per search and for the whole run; with several searches the total is shared fairly between them.
- monitorMode - output only hotels that are new or whose price changed since the last run (plus sold-out / back-in-stock for hotels searched by name or URL).
Output
{"type": "hotel","hotelId": 50845,"name": "Hotel Armoni Paris","url": "https://www.booking.com/hotel/fr/armoni-paris.html","stayUrl": "https://www.booking.com/hotel/fr/armoni-paris.html?checkin=2026-11-06&checkout=2026-11-08&group_adults=2&no_rooms=1&group_children=0&selected_currency=USD","propertyType": "Hotel","starRating": 4,"reviewScore": 8.2,"reviewScoreLabel": "Very Good","reviewCount": 1978,"address": "7 Villa Berthier","area": "17th arr., Paris","city": "Paris","country": "France","countryCode": "fr","latitude": 48.885137723181,"longitude": 2.292984500309103,"distanceFromCenter": "3.3 miles from downtown","distanceFromCenterKm": 5.311,"nearestStation": "Porte de Champerret station is within 100 yards","price": 358.16,"currency": "USD","pricePerNight": 179.08,"taxesAndFeesAmount": 73.86,"priceWithTaxes": 432.02,"taxesAndFees": "+$74 taxes and fees","roomsLeftAtThisPrice": 4,"available": true,"freeCancellation": true,"noPrepayment": false,"breakfastIncluded": false,"roomName": "Superior Double Room","beds": 1,"rooms": [{ "roomId": "5084502", "name": "Superior Double Room", "price": 358.16, "currency": "USD", "priceInPropertyCurrency": 318.18, "propertyCurrency": "EUR", "freeCancellationUntil": "2026-11-03T23:00:00Z", "mealPlan": null, "roomsLeftAtThisPrice": 4 }],"hostType": "professional","isPreferredPartner": true,"photoUrlLarge": "https://cf.bstatic.com/xdata/images/hotel/max1280x900/58999173.jpg?k=781f44b9fd2da820995bc5f29b26226e690cb8892d47cb9299291f00c2d7ccc2&o=","detailsFetched": true,"description": "Hotel Armoni Paris is a design hotel set a 17-minute walk from the Palais des Congrès de Paris...","facilities": ["Off-site parking", "Internet", "Family rooms", "Airport shuttle", "Non-smoking rooms"],"scoreStaff": 8.7,"scoreCleanliness": 8.6,"scoreComfort": 8.6,"scoreValueForMoney": 8.1,"scoreLocation": 8.9,"scoreFreeWifi": 8.9,"checkInFrom": "3:00 PM","checkOutUntil": "12:00 PM","minCheckInAge": 18,"petsAllowed": "no","childrenAllowed": true,"languagesSpoken": ["de", "en", "es", "fr", "it", "pt"],"breakfastPrice": "$19.14","acceptedCards": ["American Express", "Visa", "Mastercard"],"hostCompanyName": "Example Hotel Company SAS","hostEmail": "contact@example-hotel.com","hostPhone": "+33100000000","hostRegistrationNumber": "00000000000000","checkIn": "2026-11-06","checkOut": "2026-11-08","nights": 2,"adults": 2,"children": 0,"roomsRequested": 1,"scrapedAt": "2026-10-07T18:40:12.000Z"}
(Shortened, and the business contact values are placeholders here; real records carry what Booking.com publishes.) In monitor mode every record also has monitorChange: new, price_drop, price_rise, sold_out or now_available. Each run also writes a RUN_SUMMARY record (per search: hotels saved, hotels checked, filtered out, total available, and why a search returned nothing).
Good to know
- Which price you see.
priceis the price Booking.com shows to a visitor from the proxy's country. With the default US proxy that is usually the price before tax, andtaxesAndFeesAmountholds the rest.priceWithTaxesis the all-in total and is the field to compare across hotels and countries. - Availability. Destination searches list properties that can be booked for your stay; sold-out properties do not appear. For a hotel searched by name or URL, a stay with no availability is reported on the run card (and as
sold_outin monitor mode). - Dates. Booking.com prices stays of up to 90 nights, from today to about 500 days ahead. A check-in in the past ends the run immediately with an explanation and nothing billed; use
checkInDaysFromTodayfor scheduled runs. - Fields that exist only for some properties:
starRating(many apartments and homes have none),reviewScore(new properties without reviews),priceBeforeDiscount/discountPercent/deals(only when a deal runs),bedrooms/bathrooms/kitchens(counted for apartment-type units only),roomSizeM2,beachDistance/skiLiftDistance(near beaches and ski lifts),licenseNumbers(where a city requires a licence),checkInUntil/checkOutFrom(when the property states them). - Business contacts come from the trader details Booking.com publishes for professional hosts. Private hosts publish none, and this Actor never outputs a private individual's name or contact details.
- Filters are exact. Booking.com's own price and review-score filters are approximate, so every row is checked again against your numbers before it is saved and billed; the Actor pages further to fill your limit.
- Languages. Descriptions, labels and room names follow
language. In a few languages an unusual meal-plan wording leavesbreakfastIncludedempty rather than guessing. - Very large cities. Booking.com's "top picks" order shifts between pages, so very deep crawls are best sorted by price, or split by district with
extraFiltersor several search URLs.
How much does it cost to scrape Booking.com?
This Actor uses Apify's pay-per-event pricing: you are charged only for the results it delivers, with no monthly rental and no start fee. The events it can charge are:
- Hotel scraped - One Booking.com hotel in your dataset: live price for your dates with taxes and the all-in total, availability, review score, stars, location, room offers, cancellation and breakfast terms, photos; with hotel details on (default) also description, facilities, category scores, policies and business-host contacts.
The current price of each event is shown on the Pricing tab of this page. Set a maximum total charge on the run if you want a hard cap on spend, and use the input limits to control how much the Actor fetches.
Automate & schedule
Run this Actor on autopilot and pull results into your own stack:
- Apify API - start runs, fetch datasets and manage schedules over REST.
- apify-client for JavaScript and apify-client for Python - official SDKs.
- Schedules - run hourly, daily or weekly; with
checkInDaysFromTodayevery run prices a stay the same distance ahead. - Webhooks - trigger a price alert, a Slack message or a database import the moment a run finishes.
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });const run = await client.actor('scrapesage/booking-scraper').call({searchTerms: ['Lisbon'],checkInDaysFromToday: 30,nights: 2,currency: 'EUR',maxResults: 50,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Got ${items.length} hotels`);
Integrate with any app
Connect the dataset to thousands of apps - no code required:
- Make - multi-step automation scenarios.
- Zapier - push hotels, prices and contacts into your sheets or CRM.
- Slack - get notified when a monitored destination has price drops or new hotels.
- Google Drive / Sheets - export every run to a spreadsheet automatically.
- Airbyte - pipe results into your data warehouse.
- GitHub - trigger runs from commits or releases.
Use with AI assistants (MCP)
The output is clean, LLM-ready JSON. Call this Actor from Claude, ChatGPT or any agent framework through the Apify MCP server - ask your assistant to "find 4-star hotels in Lisbon under $200 a night with free cancellation for a 2-night stay next month" and let it run this scraper for you.
Agent-ready: autonomous payments (x402 & Skyfire)
This actor is agent-ready: AI agents can discover it, run it, and pay for it autonomously, with no Apify account and no human in the loop. It uses pay-per-event pricing and limited permissions, so it qualifies for Apify's agentic-payment standards:
- x402: an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the Apify MCP server, with no account and no API key.
- Skyfire: agent-to-service payments for fully autonomous AI-agent workflows.
Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.
More scrapers from scrapesage
Build a complete travel data stack:
- Google Hotels Scraper - hotel prices across booking sites, reviews and hotel leads.
- Trip.com Scraper - hotels, prices and reviews from Trip.com.
- Agoda Scraper - hotels, prices, reviews and ratings from Agoda.
- Airbnb Scraper & Market Monitor - vacation rentals with prices and availability.
- Google Flights Scraper - fares, routes and price tracking.
- GetYourGuide Scraper - tours and activities with prices and reviews.
Tips
- Any destination: a city, region, district, landmark, airport or a hotel's name. A hotel name, or a hotel page URL, returns just that property.
- Track a stay over time: set
checkInDaysFromTodayandnights, turn onmonitorMode, and schedule the run daily. - Fair multi-city runs: list several destinations and set
maxResults; the limit is shared between them, and a cost limit on the run is shared the same way. - Faster, leaner runs: switch off
includeDetailswhen you only need prices, andincludeRoomswhen one price per hotel is enough. - Pay only for matches: price, stars, review score, free cancellation, breakfast, entire homes and property type are filtered before any row is billed.
FAQ
How is this Actor billed? Pay-per-event: you pay only for the hotels it delivers, with no monthly rental and no start fee. The per-event price is shown on the Pricing tab.
Does it return live prices? Yes - the price Booking.com shows for your dates, guests and currency, the taxes not included in it, and the all-in total (priceWithTaxes).
Can I scrape a specific hotel? Yes - type its name in searchTerms or paste its Booking.com URL into searchUrls; you get exactly that property for your stay.
Why did a hotel I searched not come back? It had no availability for your dates and guests; the run card names it. Try other dates.
Can I schedule it and get results automatically? Yes - create a Schedule and add a webhook or an integration (Google Sheets, Slack, Make, Zapier). Use relative dates so every run prices a future stay.
Does monitor mode conflict with Apify Schedules? No. The schedule decides when the Actor runs; monitor mode decides what is saved (only new hotels and changes).
Is it legal to scrape Booking.com? This Actor collects publicly available hotel and pricing data. You are responsible for using it in line with the laws that apply to you and with Booking.com's terms; see Data & lawful use below.
Is this an official Booking.com tool? No. It is an independent, third-party Actor with no affiliation to, endorsement by or sponsorship from Booking.com B.V. See the Disclaimer below.
Data & lawful use
This Actor reads what Booking.com publishes to any logged-out visitor: property listings, prices for the stay you choose, review scores and the hotel-page information. It does not log in, create accounts, use cookies or session tokens, or reach anything behind a sign-in.
Most of the output is business data about accommodation. The host contact fields come from the trader information Booking.com publishes for professional hosts; the Actor emits them only for businesses and never outputs a private individual's name or contact details. A business email or phone number can still identify a person, so if you are in the EU or UK treat those fields as personal data: you are the data controller for what you do with them, need a lawful basis (usually legitimate interest for B2B outreach or market research), should keep outreach relevant to the business, honour opt-outs and deletion requests, and must not use the output for spam.
Under Apify's Standard Actor Contract, which governs your use of this Actor, you are the controller of any personal data in your input and output and scrapesage acts only as your processor: that data is processed solely to run your job, written only to your own Apify storage, never used for any other purpose and never shared onward. If you need help with a data-subject request that involves this Actor's output, open an issue on the Issues tab.
Disclaimer
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Booking.com B.V. or any of its subsidiaries. All trademarks mentioned are the property of their respective owners.
"Booking.com" and any related marks are the property of their respective owners and are used here only in a descriptive, nominative sense - to identify the publicly accessible website from which this Actor collects data. This Actor is not an official Booking.com product, is not authorised or certified by Booking.com B.V., and does not distribute Booking.com software. It collects only publicly available information; you are responsible for ensuring your use of that data complies with applicable laws, regulations and the terms of the source website.
Need help?
Open an issue on the Actor's Issues tab, or visit the Apify help center. Feature requests are welcome - this Actor is actively maintained.