Booking.com Scraper avatar

Booking.com Scraper

Pricing

from $1.50 / 1,000 results

Go to Apify Store
Booking.com Scraper

Booking.com Scraper

Scrapes hotels from Booking.com

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

petteri mähönen

petteri mähönen

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Booking.com Scraper — Hotel & Accommodation Search

Scrape hotels, apartments, and other accommodations from Booking.com search results. Extract prices, ratings, reviews, availability, amenities, and more — with residential proxy support to avoid blocking.

[💰 $1.00 / 1,000 results] — no monthly subscription, no hidden fees.

Why This Scraper?

  • Pay only per result — flat $1.00 per 1,000 hotels, all platform costs included
  • Direct URL support — paste any Booking.com search or hotel URL, the actor handles both modes
  • Every Booking.com search field exposed — dates, guests, rooms, currencies, star rating, price range, and sort order
  • Anti-bot protection handled — Playwright with residential proxies bypasses Booking.com's WAF where simple scrapers fail
  • 20+ data fields per hotel — prices, review scores, star ratings, room types, cancellation policy, breakfast, distance, photos, and more
  • Automatic pagination — scrapes across multiple result pages until your maxResults is reached
  • Multi-language support — works with English, Finnish, Swedish, German, French, Dutch, Polish, and more
  • Clean, flat output — every field is a primitive type (string, number, boolean), ready for spreadsheets and databases

Who Is It For?

  • Revenue managers and hoteliers monitoring competitor pricing across their market
  • Travel agencies and OTAs building data feeds or price comparison tools
  • Data analysts and researchers studying hotel supply, pricing trends, and review distributions
  • Developers integrating accommodation data into applications, dashboards, or automated pipelines
  • Individual travelers who want to track prices for a specific destination over time

Use Cases

  • Travel price monitoring — track hotel prices in a destination over time to find the best booking window
  • Competitor analysis for hoteliers — compare your property's pricing and review scores against nearby competitors
  • Market research — analyze hotel supply, pricing tiers, and review distributions across cities or regions
  • Lead generation for travel agencies — build lists of hotels with locations, ratings, and pricing
  • Travel content & editorial — power "Top 25 hotels in Lisbon" guides with live data
  • Aggregator data feeds — power a travel comparison site or internal dashboard with fresh Booking.com data

Quick Start

1. Search by location (most common)

{
"locations": ["Barcelona, Spain"],
"maxResults": 50,
"checkIn": "2026-09-01",
"checkOut": "2026-09-07",
"adults": 2,
"rooms": 1,
"currency": "USD",
"sortOrder": "review"
}

2. Filtered — narrow by stars, price, and currency

{
"locations": ["Lisbon"],
"maxResults": 100,
"checkIn": "2026-07-10",
"checkOut": "2026-07-15",
"adults": 2,
"currency": "EUR",
"minPrice": 80,
"maxPrice": 200,
"starsFilter": ["4", "5"],
"sortOrder": "review"
}

3. Direct Booking.com URLs

Paste any Booking.com hotel page or search URL. The actor visits each property and extracts all available data.

{
"startUrls": [
{ "url": "https://www.booking.com/hotel/gb/the-savoy.html" },
{ "url": "https://www.booking.com/hotel/es/arts-barcelona.html" }
],
"checkIn": "2026-09-01",
"checkOut": "2026-09-07",
"currency": "EUR"
}

Input

ParameterTypeDefaultDescription
startUrlsarray[]Direct Booking.com hotel or search page URLs
locationsstring[]["San Francisco, CA"]Cities/areas to search
maxResultsinteger30Maximum results to return
checkInstring"2026-08-01"Check-in date (YYYY-MM-DD)
checkOutstring"2026-08-07"Check-out date (YYYY-MM-DD)
adultsinteger2Number of adults (1-30)
childreninteger0Number of children (0-10)
roomsinteger1Number of rooms (1-30)
currencyenum"USD"Currency: USD, EUR, GBP, JPY, CAD, AUD, CHF, SEK, NOK, DKK, PLN, CZK, HUF, BRL, INR, CNY, KRW, MXN, TRY
sortOrderenum"popularity"Sort: popularity, price, review, stars, distance
minPriceinteger0Minimum price per night filter
maxPriceinteger0Maximum price per night filter
starsFilterstring[][]Filter by star rating (e.g., ["4", "5"])
useProxybooleantrueEnable residential proxies (recommended)

Output

FieldTypeDescription
titlestringHotel/property name
hotel_idstringBooking.com hotel ID from URL
urlstringClean Booking.com property URL (tracking removed)
star_ratingstringStar classification (1-5)
review_scorenumberGuest review score (0.0-10.0)
review_labelstringQualitative label (e.g., "Wonderful", "Very Good")
review_countintegerNumber of guest reviews
location_scorenumberLocation rating score
locationstringAddress/area text
distancestringDistance from city center
pricenumberTotal price for the stay
price_per_nightnumberAverage price per night
currencystringCurrency code (USD, EUR, etc.)
original_pricenumberOriginal/strikethrough price
price_labelstringPrice period description
room_typestringRecommended room/unit type
free_cancellationbooleanWhether free cancellation is available
breakfast_includedbooleanWhether breakfast is included
property_typestringProperty type (Hotel, Apartment, Resort, etc.)
is_preferredbooleanWhether property has Preferred/Genius badge
image_urlstringProperty image URL
availabilitystringRoom availability text
search_sourcestringWhether from location_search or direct_url
search_locationstringThe location searched
platformstringAlways "booking.com"
scraped_atstringISO 8601 timestamp

Pricing

TierPrice
Pay per result$1.00 / 1,000 results

All platform costs (compute, residential proxy, storage) are included. No monthly subscription.

Tips for Best Results

  • Start small — test with maxResults: 10 before running large scrapes
  • Set specific dates — Booking.com prices vary significantly by date
  • Use price filters — narrow results with minPrice and maxPrice to focus on your target segment
  • Filter by stars — use starsFilter: ["4", "5"] to only get upscale properties
  • Change currency — set currency to your local currency to avoid conversion math
  • Residential proxies recommended — the actor uses them by default for best reliability against Booking.com's WAF
  • Batch URLs — when scraping by direct URL, include 5+ hotels per run for best value

Notes

  • Booking.com uses heavy JavaScript rendering — PlaywrightCrawler is required
  • Residential proxies are strongly recommended (Booking.com blocks datacenter IPs)
  • Targets vary by region — results are in the chosen currency
  • Max ~25-30 cards per page; maxResults controls total across all pages
  • Direct hotel URLs skip pagination (single property only)

Support & Feedback

Enjoying this Actor? Leave a review on Apify Store — it helps others discover the tool.

Found a bug or have a feature request? Open an issue on the Actor page.