Booking.com Hotel & Price Scraper avatar

Booking.com Hotel & Price Scraper

Pricing

from $2.18 / 1,000 hotel results

Go to Apify Store
Booking.com Hotel & Price Scraper

Booking.com Hotel & Price Scraper

Scrape Booking.com hotels from search — name, address, rating, reviews, nightly price, coordinates, image. Needs a browser-capable proxy (Apify Residential or Bright Data) due to Booking AWS WAF. Each record has parse_confidence.

Pricing

from $2.18 / 1,000 hotel results

Rating

0.0

(0)

Developer

Vitalii Bondarev

Vitalii Bondarev

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

3

Monthly active users

6 days ago

Last modified

Share

Booking.com Hotel Scraper — Price, Rating & Coords | from $2/1K

For travel market researchers, hotel chains doing competitive pricing, and hospitality lead-gen agencies that need Booking.com data at scale without managing browser infrastructure.

$2.00 per 1,000 hotels (search card). Add $1.00/1k for hotel detail pages (fetchHotelDetail=true) — full address, GPS coords, and Hotel JSON-LD. Only pay for what you pull. No Booking.com account required. Works in 40+ countries.

ScraperPrice / 1kDetail page?Coords?parse_confidence?
This actor$2 base + $1 detailYesYesYes
Apify booking-scraper (official)$3-5/1kPartialSometimesNo
outscraper Booking$5-10/1kYesYesNo

Scrape Booking.com hotel search results into clean, structured JSON. For each hotel you get: name, address, city, country, star rating, review count, nightly price, currency, image URL, and GPS coordinates — every record stamped with parse_confidence for quality monitoring.

Important: Managed Browser Included

Booking.com uses AWS WAF with a JavaScript challenge page that blocks all static HTTP requests (curl, requests, httpx). A browser-capable proxy is mandatory:

This actor uses a publisher-managed browser backend to clear the challenge. You do not need to bring your own Booking.com account or proxy for the default path.

proxyConfiguration is kept as a compatibility input, but the production data path is the managed browser backend.

What You Get

{
"hotel_name": "Hotel Minerve",
"address": "13 Rue des Ecoles, 75005 Paris, France",
"city": "Paris",
"country": "France",
"rating": 8.6,
"review_count": 1204,
"price": 199.0,
"currency": "USD",
"url": "https://www.booking.com/hotel/fr/hotel-minerve.html",
"image_url": "https://cf.bstatic.com/xdata/images/hotel/max500/...",
"latitude": 48.8506,
"longitude": 2.3524,
"parse_confidence": 1.0,
"warnings": []
}

Input

FieldTypeDescription
searchQueriesstring[]City / destination names (e.g. "Paris", "New York")
hotelUrlsstring[]Direct Booking.com hotel page URLs
checkInstringYYYY-MM-DD. Defaults to 30 days from today
checkOutstringYYYY-MM-DD. Defaults to checkIn + 1 night
maxItemsintegerMax hotels per query (default 5; quality-test prefill 1)
proxyConfigurationobjectOptional compatibility field; managed browser is used by default
fetchHotelDetailbooleanVisit each hotel page for richer data (default false; slower)
languagestringUI language code (default "en")
currencystringPrice currency code (default "USD")

How It Works

  1. Launches a managed remote Chromium browser.
  2. Navigates to the Booking.com search results page and waits for JS to settle.
  3. Parses hotel cards using structural data-testid anchors (not fragile CSS classes).
  4. Optionally visits each hotel's detail page to extract Hotel JSON-LD for richer address/coords.
  5. Merges card + detail into the flat output schema.

parse_confidence

Every record includes parse_confidence (0.0–1.0) and a warnings list. A score below 0.7 suggests the page structure may have changed. Common warnings:

  • price_missing — price not found on the search card
  • no_hotel_jsonld — Hotel JSON-LD not found on detail page (detail fetch degraded)
  • coords_missing — coordinates unavailable

Integrations

Built for travel market researchers and hotel chains pulling competitive pricing, ratings, and coordinates at scale — the JSON/dataset output drops into the tools you already run, no glue code:

  • n8n / Make / Zapier — trigger a run or pipe every new dataset item into 500+ apps (Google Sheets, Airtable, Slack, HubSpot, your database) with no code: n8n, Make, Zapier.
  • Webhooks — fire your own endpoint the moment a run finishes, to push results straight into your pipeline (docs).
  • MCP server — expose this actor as a tool to Claude, Cursor, or any MCP client so an AI agent can pull this data mid-conversation (guide).
  • API & SDKs — fetch the dataset as JSON, CSV, or Excel through the Apify REST API or the Python / JS SDKs.

See all Apify integrations.

This actor scrapes publicly accessible hotel listings on Booking.com as seen by an anonymous browser. Use it for market research, competitive pricing analysis, and travel planning. You are responsible for ensuring your use complies with Booking.com's Terms of Service and applicable data protection laws in your jurisdiction.

This actor is not affiliated with, endorsed by, or sponsored by Booking.com or its parent Booking Holdings Inc.

Access Resistance

Booking.com's AWS WAF challenge has been active since 2024 and requires:

  • Real browser (Chromium) with valid JS execution
  • Residential or Scraping Browser proxy (datacenter IPs are blocked)
  • Sufficient wait time for the WAF token to be generated

If you see awswaf_challenge_202 in warnings, your proxy is insufficient.

Performance & Cost

  • ~25 hotels per search-results page
  • With fetchHotelDetail=true: 1 extra browser page load per hotel (search + detail enrichment)
  • With fetchHotelDetail=false: 1 page load per 25 hotels (search card data only)
  • Managed-browser bandwidth: ~1–2 MB per search page, ~1 MB per hotel detail page with media blocked.
  • The default input is optimized to finish automated quality checks within 5 minutes and return at least one hotel.

parse_confidence trust score

Every record includes parse_confidence (0.0–1.0) and a warnings list. A score below 0.7 suggests the page structure may have changed — you get a loud signal instead of silent data corruption.

Use with AI agents (MCP)

This actor is available as an MCP tool for Claude, GPT-4o, or any MCP-compatible agent.

Config: https://mcp.apify.com/?tools=bovi/booking-hotel-scraper