OrbTop

Booking.com Hotels Scraper

TRAVELECOMMERCE

Booking.com Hotels Scraper

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)