Booking.com Hotels Scraper
Pricing
Pay per event
Booking.com Hotels Scraper
Scrape hotel listings from Booking.com search results. Provide a destination, check-in/check-out dates, and number of guests to get hotel names, prices, ratings, review counts, room types, cancellation policies, and location data as a clean, structured dataset.
Pricing
Pay per event
Rating
0.0
(0)
Developer
BowTiedRaccoon
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Scrape hotel listings from Booking.com search results. Provide a destination, check-in/out dates, and number of guests to get hotel names, prices, ratings, review counts, room types, cancellation policies, and location data as a clean, structured dataset.
What it does
Given a destination city and date range, the actor searches Booking.com and returns all hotel listings from the search results page. Each record includes the hotel's name, URL, address, star rating, review score, nightly price, room type, and cancellation policy.
The actor uses a real Chromium browser (Playwright) to automatically solve Booking.com's AWS WAF JavaScript challenge and extract data after the page renders.
Use cases
- Travel analytics and competitor pricing research
- Hotel availability monitoring and rate tracking
- Business travel planning datasets
- Academic travel and hospitality research
- Destination popularity and pricing trend analysis
Input
| Field | Type | Required | Description |
|---|---|---|---|
destination | string | Yes | City, region, or address to search (e.g. "London", "Tokyo") |
checkIn | string | Yes | Check-in date in YYYY-MM-DD format |
checkOut | string | Yes | Check-out date in YYYY-MM-DD format |
adults | integer | No | Number of adult guests (default: 2) |
rooms | integer | No | Number of rooms (default: 1) |
currency | string | No | Currency code for prices (default: USD) |
language | string | No | Language code for hotel info (default: en-gb) |
maxItems | integer | Yes | Maximum number of hotel records to return |
Output
Each dataset item contains:
{"hotel_id": "12345","name": "The Savoy","url": "https://www.booking.com/hotel/gb/the-savoy-london.en-gb.html","address": "Strand, London WC2R 0EZ","star_rating": 5,"review_score": 9.2,"review_count": 4823,"review_category": "Exceptional","price_per_night": 450,"currency": "USD","checkin_date": "2026-08-01","checkout_date": "2026-08-02","nights": 1,"adults": 2,"rooms_searched": 1,"room_type": "Superior Room","cancellation_policy": "Free cancellation","breakfast_included": false,"thumbnail_url": "https://cf.bstatic.com/xdata/images/hotel/...","latitude": 51.5106,"longitude": -0.1201,"scraped_at": "2026-08-01T00:00:00.000Z"}
Technical notes
- Uses Playwright (Chromium) with DataImpulse residential proxy to bypass Booking.com's AWS WAF protection
- The AWS WAF JavaScript challenge resolves automatically in ~3-5 seconds
- Each search returns up to ~25 hotel listings from the first results page
- Recommended memory: 2048 MB (minimum 1024 MB)
- Requires compatibility tier 2 (browser-rendered pages with residential proxy)