Booking.com Hotel Scraper avatar

Booking.com Hotel Scraper

Pricing

from $2.87 / 1,000 hotel scrapeds

Go to Apify Store
Booking.com Hotel Scraper

Booking.com Hotel Scraper

Scrape hotel listings from Booking.com including prices, ratings, availability, and cancellation policies. Uses the unprotected GraphQL API — HTTP-only, low memory, fast.

Pricing

from $2.87 / 1,000 hotel scrapeds

Rating

0.0

(0)

Developer

NanoScrape

NanoScrape

Maintained by Community

Actor stats

3

Bookmarked

361

Total users

167

Monthly active users

13 days ago

Last modified

Share

Scrape hotel listings from Booking.com with 34+ structured fields including GPS coordinates, guest review scores, street addresses, discount badges, sold-out signals, high-res photos, and cancellation policies. Search any city, region, or country worldwide.

Export results as JSON, CSV, Excel, or HTML directly from the Apify platform.

How it works

  1. Enter a destination (e.g., "Berlin", "Rome", "Tokyo")
  2. Set check-in and check-out dates
  3. Choose number of guests and rooms
  4. Run the actor — results appear in seconds

The actor calls Booking.com's internal GraphQL API directly. No browser, no cookies, no manual session handling required.

Use cases

  • Travel price comparison and monitoring — track nightly rates across hundreds of hotels for any destination and date range
  • Revenue management and competitive pricing intelligence — monitor competitor pricing, discount patterns, and availability signals
  • Market research for hotel operators and consultants — benchmark star ratings, pricing tiers, and cancellation policies by location
  • Mapping hotel inventories with GPS data — build geo-analytics dashboards, coverage maps, or proximity-based filters using latitude/longitude
  • Lead generation for travel agencies and OTAs — extract hotel contact details and inventory at scale
  • Tracking promotional discount patterns — capture "Getaway Deal", "Limited-time Deal", and "Early Bird" badges as they appear
  • Monitoring availability and sold-out signals — identify high-demand periods by tracking is_sold_out across date windows
  • Building hotel comparison tools and travel apps — structured data with photos, GPS, pricing, and policies ready for direct integration
  • Academic research on travel pricing patterns — large-scale structured dataset for econometric or machine-learning studies
  • Yield analysis and demand forecasting — correlate occupancy signals with price fluctuations over time

Architecture note

HTTP-only (no browser) — uses Booking.com's internal GraphQL API with TLS fingerprinting. Significantly faster and cheaper than browser-based alternatives, with lower memory requirements and no risk of JavaScript rendering failures.

Output

FieldTypeDescription
idnumberBooking.com hotel ID
namestringHotel name
urlstringDirect link to hotel on Booking.com
star_ratingnumber|nullStar rating (1–5)
review_scorenumber|nullGuest review score (0–10, e.g. 8.7)
review_countnumber|nullTotal number of guest reviews
review_score_wordstring|nullScore label (Exceptional / Fabulous / Wonderful / Superb / Very Good / Good / Pleasant / Okay)
secondary_scorenumber|nullSecondary review sub-score (0–10)
is_closedbooleanWhether the hotel is temporarily closed
photo_urlstring|nullMain photo (240px square)
photo_url_high_resstring|nullMain photo (600px square, high-res)
photosstring[]|nullAll photo URLs (when includeAllPhotos=true)
locationstring|nullDistrict + city from search results
districtstring|nullDistrict or neighborhood
citystring|nullCity from destination resolution
property_citystring|nullCity from hotel's own data
property_countrystring|nullCountry from hotel's own data
country_codestring|nullISO country code
addressstring|nullStreet address (e.g. "Kurfürstendamm 12")
latitudenumber|nullGPS latitude
longitudenumber|nullGPS longitude
distance_from_centerstring|nullDistance from city center
pricenumber|nullTotal stay price in selected currency
price_per_nightnumber|nullPrice divided by number of nights
original_pricenumber|nullOriginal price before discount
original_price_staystring|nullPre-discount formatted stay total (e.g. "CHF 259")
currencystring|nullPrice currency code
is_sold_outbooleanWhether sold out for selected dates
discount_badgestring|nullPromotion label ("Getaway Deal", "Limited-time Deal")
discount_badge_idstring|nullInternal badge identifier from Booking.com
free_cancellationbooleanFree cancellation available
free_cancellation_untilstring|nullCancellation deadline date
no_prepaymentbooleanNo prepayment required
room_idstring|nullRoom type identifier
meal_planstring|nullIncluded meal plan
scraped_atstringISO timestamp of when data was scraped

Pricing

EventCost
Start$0.050 per run
Hotel$0.005 per result

100 hotels = $0.55 | 1,000 hotels = $5.05

Input options

FieldDefaultDescription
destination(required)City, region, or country name
checkinTomorrowCheck-in date (YYYY-MM-DD)
checkoutDay after checkinCheck-out date (YYYY-MM-DD)
adults2Number of adult guests
children0Number of child guests
rooms1Number of rooms
currencyEURPrice currency (ISO 4217)
sortByPOPULARITYSort order (POPULARITY, PRICE, REVIEW_SCORE, DISTANCE)
maxResults100Max hotels to scrape (0 = unlimited)
includeAllPhotosfalseInclude photos[] array with all photo URLs

Use with AI Agents (MCP)

Connect this actor to any MCP-compatible AI client — Claude Desktop, Claude.ai, Cursor, VS Code, LangChain, LlamaIndex, or custom agents.

Apify MCP server URL:

https://mcp.apify.com?tools=santamaria-automations/booking-com-scraper

Example prompts once connected:

"Use booking-com-scraper to find the 20 cheapest hotels in Rome for next weekend. Sort by price and return as a table with name, price per night, GPS coordinates, and cancellation policy."

"Scrape 50 hotels in Amsterdam for July 15–17 and show which ones have a discount badge active."

Clients that support dynamic tool discovery (Claude.ai, VS Code) will receive the full input schema automatically via add-actor.

Examples

Hotels in Berlin

{
"destination": "Berlin",
"checkin": "2026-08-01",
"checkout": "2026-08-03",
"adults": 2,
"currency": "EUR",
"maxResults": 50
}

Cheapest hotels in Rome

{
"destination": "Rome",
"checkin": "2026-09-01",
"checkout": "2026-09-03",
"sortBy": "PRICE",
"maxResults": 100
}

Family trip to Zurich with photos

{
"destination": "Zurich",
"checkin": "2026-10-01",
"checkout": "2026-10-05",
"adults": 2,
"children": 2,
"rooms": 1,
"currency": "CHF",
"maxResults": 50,
"includeAllPhotos": true
}

Hotels sorted by review score in Tokyo

{
"destination": "Tokyo",
"checkin": "2026-11-01",
"checkout": "2026-11-04",
"sortBy": "REVIEW_SCORE",
"currency": "JPY",
"maxResults": 200
}

E-Commerce & Price Comparison

Classifieds

Enrich your data

Issues & Feedback

Missing a field or not working as expected? Open an issue and we'll fix it.