Booking.com Hotel Price Tracker — Compare Hotel Prices avatar

Booking.com Hotel Price Tracker — Compare Hotel Prices

Pricing

from $10.00 / 1,000 results

Go to Apify Store
Booking.com Hotel Price Tracker — Compare Hotel Prices

Booking.com Hotel Price Tracker — Compare Hotel Prices

An Apify Actor that scrapes hotel search results from [Booking.com](https://www.booking.com). Extract prices, ratings, reviews, amenities, and booking links for

Pricing

from $10.00 / 1,000 results

Rating

0.0

(0)

Developer

Julien ApiKiy

Julien ApiKiy

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

a day ago

Last modified

Categories

Share

Booking.com Hotel Price Tracker

An Apify Actor that scrapes hotel search results from Booking.com. Extract prices, ratings, reviews, amenities, and booking links for any destination and date range.

Features

  • Multi-destination search — search multiple cities/destinations in one run
  • Rich data extraction — hotel name, price per night, total price, rating, review count, star rating, address, distance from center, image URL, booking URL, amenities
  • Pagination support — automatically navigates through result pages
  • Anti-detection — random delays, user-agent rotation, cookie consent dismissal, viewport randomization
  • No proxy required — works from datacenter IPs

Input

FieldTypeDefaultDescription
searchQueriesstring[]requiredList of destinations to search
checkInstringrequiredCheck-in date (YYYY-MM-DD)
checkOutstringrequiredCheck-out date (YYYY-MM-DD)
guestsnumber2Number of adult guests
maxResultsnumber20Max results per destination
maxConcurrencynumber2Browser pages in parallel

Example Input

{
"searchQueries": ["Paris", "London", "Barcelona"],
"checkIn": "2026-09-01",
"checkOut": "2026-09-05",
"guests": 2,
"maxResults": 10,
"maxConcurrency": 2
}

Output

Each item in the dataset:

{
"hotelName": "Grand Hotel Paris",
"pricePerNight": 189,
"totalPrice": 756,
"rating": 8.7,
"reviewCount": 2345,
"starRating": 4,
"address": "15 Rue de Rivoli, Paris",
"distanceFromCenter": "0.5 km from city centre",
"imageUrl": "https://cf.bstatic.com/xdata/hotel.jpg",
"bookingUrl": "https://www.booking.com/hotel/grand-hotel-paris.html",
"amenities": ["WiFi", "Pool"],
"destination": "Paris",
"scrapedAt": "2026-09-01T12:00:00.000Z"
}

How It Works

  1. Builds Booking.com search URLs from your input parameters
  2. Launches headless Chrome via PlaywrightCrawler
  3. Dismisses cookie consent banners
  4. Extracts hotel data from search result cards using multiple fallback selectors
  5. Handles pagination to collect the requested number of results
  6. Pushes all results to the default dataset

Anti-Detection

  • Random user-agent rotation (8 real browser UAs)
  • Random viewport sizes (1280–1920 × 720–1080)
  • Random delays between actions (2–5 seconds)
  • Cookie consent auto-dismissal
  • WebDriver detection override

Running Locally

# Install dependencies
npm install
# Run tests
npm test
# Run the actor (with Apify CLI)
apify run
# Or run directly
npm start

Running with Docker

docker build -t booking-price-tracker .
docker run -e APIFY_TOKEN=your_token booking-price-tracker

Testing

$npm test

Tests use ESM, node:assert, and Mocha. No proxy or external services needed.

💰 Pricing

Pay-per-use, no monthly fees:

Price
Actor start$0.01
Per result$0.01

💡 Example: A run returning 500 results costs $5.01 total ($0.01 start + 500 × $0.01).

License

MIT