Booking.com Scraper - 50+ fields per property
Pricing
from $4.10 / 1,000 property scrapeds
Booking.com Scraper - 50+ fields per property
[💵 $8.00 / 1K · no start fee] Scrape Booking.com hotels, apartments and homes for any destination and dates. 50+ fields per property: exact coordinates, street address, review subscores, discounts, local-currency rates, free-cancellation deadline. Filter by price, stars, score and type.
Pricing
from $4.10 / 1,000 property scrapeds
Rating
0.0
(0)
Developer
WebData Labs
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Booking.com Scraper - prices, coordinates, review subscores and policies
Scrape Booking.com hotels, apartments and homes into a clean spreadsheet. 60 fields per property, including the exact coordinates and the free-cancellation deadline that other Booking scrapers leave out.
Give it a destination and your dates - or paste a Booking.com search URL - and get back every property with nightly rate, stay total, what the price includes, star rating, review score, review subscore, street address, latitude/longitude, distance to the centre, room composition and cancellation policy.
✅ What you get / ❌ what this isn't
| ✅ This Actor gives you | ❌ This Actor is not |
|---|---|
| 60 fields per property, not the usual ~20 | Not a name-and-price list |
| Exact latitude/longitude and street address on every row | Not "2.1 km from centre" and nothing else |
| Nightly rate and stay total, plus the price in the property's own currency | Not one ambiguous price number |
| Free-cancellation deadline as a real timestamp, not a yes/no | Not a boolean you still have to check by hand |
| Review subscores (Location 9.3, Staff 9.1...) alongside the headline score | Not the overall score only |
| Beds, bedrooms, bathrooms, kitchens for apartments and homes | Not hotels-only |
| No start fee, no warm-up surcharge - you pay per property, full stop | Not a per-run charge on top of per-result |
| Many destinations in one run | Not one run per city |
🔎 Why this one
- The fields that make the data usable. Coordinates and street address mean you can map, geofence or join to your own data straight away. Most Booking scrapers hand you a distance string and a hotel name.
- Prices you can actually compare. Booking shows some searches as a nightly rate and others as a stay total, depending on which experiment your session lands in. This Actor always returns both, plus
priceBeforeDiscountand the itemised discounts. - Taxes broken out as a number when Booking states them. Where the rate is quoted exclusive ("+US$25 taxes and fees"), you get
taxesAndFeesIncluded: falseandtaxesAndFeesAmount: 25instead of a string to re-parse. Booking only returns this on some sessions, so treat it as a bonus rather than a guarantee. - The cancellation deadline, not just a flag.
freeCancellationUntilis an ISO timestamp - the actual moment the free window closes. - Real pagination. Booking.com ignores
offsetin the URL and pages results in through its own internal call. This Actor drives that call directly, so you get hundreds of properties per destination instead of the first 25. - Fast. The first page costs one browser load; every further 25 properties takes well under a second. ~150 properties in about 13 seconds.
- No start fee. A run that finds nothing costs nothing.
👥 Who it's for
- Revenue managers and hoteliers tracking competitor rates by date, star class and district.
- Travel and OTA analysts building rate-parity or price-index datasets.
- Short-let and property investors comparing apartment and whole-home inventory by neighbourhood.
- Market researchers mapping accommodation supply, pricing and ratings by geography.
- Developers who need Booking.com inventory as clean JSON or CSV.
⚙️ How to scrape Booking.com
- Open the Actor on Apify.
- Type a Location, e.g.
Paris. - Set Check-in and Check-out. Leave them empty for a rolling 2-night stay 30 days out - handy for scheduled runs.
- Set Adults, Children and Rooms - Booking prices by occupancy, so these change the rates you get.
- Set Maximum properties - the budget for the whole run, split evenly across your locations.
- Optional: filter by price, star rating, review score, property type or free cancellation, and pick a sort order.
- Click Start, then download the results as CSV, JSON or Excel.
Prefer a URL? Skip steps 2-6 and paste your Booking.com search URL into Booking.com search URLs - the filters already in it are honoured.
📥 Input
{"locationQuery": "Barcelona","locationQueries": ["Amsterdam"],"checkIn": "2026-09-10","checkOut": "2026-09-13","adults": 2,"rooms": 1,"maxResults": 200,"currency": "EUR","sortBy": "reviewScore","minReviewScore": 8,"starRatings": ["4", "5"],"freeCancellationOnly": true}
| Field | Meaning |
|---|---|
locationQuery | City, region, country, district or property name, as you would type it on Booking.com. |
locationQueries | Extra locations to search in the same run, up to 25. |
startUrls | Paste Booking.com search URLs; their filters are used as-is. |
checkIn / checkOut | YYYY-MM-DD. Leave empty for a rolling window 30 days out. |
adults, children, childrenAges, rooms | Occupancy. Booking prices depend on it. |
maxResults | Properties for the whole run, split across your locations. |
sortBy | Top picks, price, review score, stars high/low, distance from centre. |
currency / language | 3-letter currency code and a Booking language code such as en-us. |
minPricePerNight / maxPricePerNight | Nightly rate range, in the currency above. |
starRatings | Keep only these star ratings, e.g. ["4", "5"]. |
minReviewScore | 6+, 7+, 8+ or 9+ out of 10. |
propertyTypes | Hotels, apartments, entire homes, hostels, guest houses, B&Bs, resorts, villas. |
freeCancellationOnly | Only rates that can be cancelled free. |
proxyConfiguration | Apify Proxy residential by default. Recommended to leave as-is. |
📤 Output
One row per property:
| name | pricePerNight | price | currency | reviewScore | reviewCount | starRating | district | freeCancellation | url |
|---|---|---|---|---|---|---|---|---|---|
| Castex Hotel | 178.15 | 356.3 | USD | 7.4 | 823 | 3 | 4th arr., Paris | true | link |
Identity: name, hotelId, url, slug, accommodationTypeId
Location: latitude, longitude, address, city, countryCode, district, popularDistrict, distanceFromCentre, distanceFromCentreMetres, isCentrallyLocated, publicTransport, beachDistance
Ratings: starRating, starRatingType, reviewScore, reviewCount, reviewLabel, topSubscore, topSubscoreName
Pricing: price, pricePerNight, currency, priceBeforeDiscount, discountAmount, discounts, priceInPropertyCurrency, propertyCurrency, chargesInfo, taxesAndFeesIncluded, taxesAndFeesAmount
Policies and badges: freeCancellation, freeCancellationUntil, noPrepayment, petsAllowedFree, isPreferredPartner, isSponsored, isSoldOut, isNewlyOpened, isSustainable, hostType, urgencyMessage
Rooms: roomId, bedCount, bedrooms, bathrooms, kitchens, livingRooms
Media and context: photoUrl, thumbnailUrl, checkIn, checkOut, nights, searchQuery, destination, totalResultsAvailable, scrapedAt
Quick preview
| Input | Output |
|---|---|
Paris, 2 adults, 2 nights | 25-1,000 properties with rates, coordinates and review scores |
Barcelona + Amsterdam, score 8+, sorted by review score | The best-rated stays in both cities, tagged by city, in one dataset |
Lisbon, propertyTypes: ["apartments"], 4 adults | Apartments with bedrooms, bathrooms and kitchen counts on every row |
💵 How much does it cost?
$8.00 per 1,000 properties. No start fee - a run that returns nothing costs you nothing, and there is no surcharge for small runs.
| Properties | Cost |
|---|---|
| 25 (one page) | $0.20 |
| 100 | $0.80 |
| 1,000 | $8.00 |
🚀 Ready-made setups
Five ready-to-run tasks ship with this Actor - open one, hit Start, or copy it and swap in your own destination and dates:
| Task | What it does |
|---|---|
| Scrape 5-star hotels in Paris on Booking.com | Every 5-star property in Paris, best-rated first, with coordinates and nightly rates. |
| Find cheap Booking.com hotels in Barcelona | Barcelona stays under $90 a night, cheapest first, with review scores and free-cancellation flags. |
| Scrape apartments and aparthotels in Lisbon | Lisbon apartments for 4 guests, with bedroom, bathroom and kitchen counts on every row. |
| Scrape top-rated Booking.com hotels in Tokyo | Tokyo properties scoring 9+ out of 10, with review counts and subscores. |
| Find New York hotels with free cancellation | New York stays that can be cancelled free, with the cancellation deadline where Booking gives one. |
🔁 Run it on the Apify platform
Schedule it to track your competitors' rates every morning, call it from the Apify API, export to CSV/JSON/Excel, or wire it into Make, Zapier, Google Sheets or a webhook so fresh pricing lands wherever you work.
⚠️ Limits and caveats
- Reads only public Booking.com search results. It does not log in and it does not book anything.
- Prices are occupancy- and date-specific. Change
adults,roomsor the dates and the rates change. Always storecheckIn,checkOutandnightswith the price - they are on every row for this reason. - Booking.com personalises and A/B-tests its ranking. Two runs minutes apart can return slightly different orders and totals. Filters and sorting are honoured; exact ordering is not guaranteed to be reproducible.
priceInPropertyCurrencyandpropertyCurrencyappear only when your chosen currency differs from the property's own - Booking omits the conversion otherwise.chargesInfo,taxesAndFeesIncludedandtaxesAndFeesAmountdepend on Booking returning a charges note for that session; they are populated on some runs and empty on others, for the same search.beachDistanceis populated for coastal destinations only.- Booking stops serving new properties after roughly 1,000 per search. For bigger sweeps, split by district, price band or property type.
propertyTypesuses Booking.com's own grouped categories, so a few neighbouring types come along. Asking forapartmentsmostly returns apartments but also some aparthotels;entireHomesalso matches whole apartments and guest houses. Filter onaccommodationTypeIdin the output if you need one exact type.- Price filters apply to Booking.com's base rate, not to the
pricePerNightwe return. Once fees and currency conversion are applied, a handful of rows can land slightly above your ceiling. Set the cap ~10% below your true limit, or filterpricePerNightyourself afterwards. - Review subscores exist only where Booking has enough reviews to compute one; star ratings are absent for unrated properties such as many guesthouses.
- Residential proxy is on by default and should stay on. Booking.com answers datacenter IPs with a redirect to its homepage rather than search results, so a datacenter run returns nothing. Each retry moves to a different exit IP; the Actor fails the run loudly rather than reporting a green run with zero rows.
🧩 Related Actors
- Google Maps Business Scraper - local businesses and points of interest around the same coordinates.
- Trustpilot Review Scraper - reputation data for the brands behind the properties.
❓ FAQ
Do I need a Booking.com account? No. It reads public search results only.
Can I scrape several destinations in one run? Yes - add them to locationQueries. Every row is tagged with the searchQuery it came from.
Can I get more than the first 25 results? Yes. That is a large part of why this Actor exists - Booking ignores offset in the URL, and this Actor drives Booking's own pagination instead.
Is the price per night or for the whole stay? Both. pricePerNight and price (stay total) are on every row, along with nights.
Why do some prices differ from what I see in my browser? Booking personalises rates by currency, occupancy, device and Genius status. Set currency, adults and rooms to match what you want to compare.
Can I reuse a search I built in my browser? Yes - paste the URL into startUrls.
Why are some fields empty? Some fields only exist for some property kinds: bedroom and kitchen counts for apartments and homes, beach distance for coastal destinations, subscores for properties with enough reviews.
🛠️ Support
If a run fails or a field looks wrong, open an Actor issue with the run URL, the input you used, and what you expected. Booking.com changes its internals regularly - reports get fixed quickly.
⭐ Rate this Actor
If this Actor saved you time, please take 30 seconds to leave a review on the Reviews tab - reviews are the main trust signal other users see, and they decide which features get built next. If something is broken, please open an issue first: we typically respond within a day and would love the chance to fix it before you rate.