VOOZH about

URL: https://apify.com/corent1robert/booking-price-monitor

⇱ Booking Price Monitor Β· Hotel Rate Tracker Β· Apify


πŸ‘ Booking Price Monitor Β· Hotel Rate Tracker avatar

Booking Price Monitor Β· Hotel Rate Tracker

Pricing

from $2.49 / 1,000 hotel price retrieveds

Go to Apify Store

Booking Price Monitor Β· Hotel Rate Tracker

Track hotel market rates on Booking.com. Paste a city search URL β€” get avg, min, max prices per property, discount %, promo flags and free cancellation across 5 upcoming periods. No login.

Pricing

from $2.49 / 1,000 hotel price retrieveds

Rating

0.0

(0)

Developer

πŸ‘ Corentin Robert

Corentin Robert

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

3

Monthly active users

12 days ago

Last modified

Share

Track hotel prices across any Booking.com market. Paste a city search URL β€” get avg, min, max rates per property across 15 date windows (3 stay durations Γ— 5 upcoming periods) with automatic discount detection.

No login. No API key. No account required.


Who is this for?

You are…Typical goalSuggested setup
STR / hotel revenue managerBenchmark your property against the market for coming monthsCity search URL with your star/type filters
Property management agencyWeekly pricing report for client portfolios across multiple citiesOne URL per market Β· schedule every Monday
Real estate investorValidate projected hotel revenues before purchaseCity URL with price range filter Β· run once
Travel agency / OTA analystMonitor seasonal rate trends and discount windowsCity URL Β· review windowSummary in run log
Data analyst / BI teamFeed price time-series into a dashboardAPI integration Β· flat-prices view
Competitive intelligence teamTrack competitor pricing by stars, type, or neighbourhoodFiltered Booking.com URL with your criteria

What you get by default β€” property name, star rating, review score, coordinates, avg/min/max nightly rate for 1-night, 2-night, and 7-night stays, weekly discount %, max discount %, promo badge detection, free cancellation flag, pay-on-arrival flag, and a full priceByWindow[] array (one entry per date/duration combination).

Coverage: runs 15 search configurations per URL β€” 3 stay durations (1N, 2N, 7N) Γ— 5 date windows (J+7, J+14, J+30, J+60, J+90 from today). Properties that only appear for specific stay durations are captured automatically.


Quick start

  1. Open the Actor in Apify Console and click Try for free
  2. Go to booking.com, search for a city, apply any filters you want (stars, property type, neighbourhood…), and copy the URL from your browser
  3. Paste it in the Booking.com search URL(s) field
  4. Click Start β€” results appear in the Dataset tab within a few minutes
  5. Use the Overview view to compare properties side by side, or Flat prices for a date-by-date spreadsheet

Tip: Your filters (guest count, star rating, property type, neighbourhood…) are automatically preserved in the search.


What it extracts

Per property

FieldDescription
propertyNameProperty display name
propertyUrlDirect link to the Booking.com property page
cityCity
starRatingStar rating (1–5)
ratingGuest review score (e.g. 8.4)
reviewCountNumber of reviews
latitude / longitudeGPS coordinates
distanceFromCenterDistance from city centre (e.g. "1.8 km from centre")
currencyISO currency code (e.g. EUR, USD)
avgPrice1N / minPrice1N / maxPrice1NAvg / min / max nightly rate across all 1-night windows
avgPrice2N / minPrice2N / maxPrice2NSame for 2-night stays
avgPrice7N / minPrice7N / maxPrice7NSame for 7-night stays
weeklyDiscountPct% cheaper per night for 7-night vs 1-night stays
maxDiscountPctLargest discount detected across all windows (vs original price)
hasPromoPromo badge detected (e.g. "Limited Time Deal")
freeCancellationFree cancellation available on at least one window
noPrepaymentPay on arrival available on at least one window
priceSamplesNumber of date/duration windows where a price was found
priceByWindow[]Array β€” one entry per (checkin, checkout, nights) configuration
scrapedAtISO timestamp of the run

priceByWindow array entry

FieldDescription
checkinCheck-in date (YYYY-MM-DD)
checkoutCheck-out date
nightsStay duration (1, 2, or 7)
pricePerNightPrice per night for this window
totalPriceTotal stay price
discountPct% discount vs original price (0 if no discount)
hasPromoFlagPromo badge present for this specific window
currencyCurrency for this window

Market summary (in run log)

At the end of each market scan, the run log prints:

─── Market Summary ──────────────────────────────────────────────────────────────
Properties withprices:743/743
Free cancellation :49%
With active discount :31%
With promo badge :23%
Avg price by check-indate(2-night stays):
2026-06-19:403EUR/night(743 properties)
2026-06-26:385EUR/night(692 properties)
2026-07-12:391EUR/night(678 properties)
2026-08-11:420EUR/night(621 properties)
2026-09-10:372EUR/night(589 properties)
────────────────────────────────────────────────────────────────────────────────

Input

ParameterTypeDefaultDescription
searchUrlsarrayβ€”Booking.com search URLs. Paste one or more.
maxPropertiesnumber0Max properties per URL. 0 = no cap (up to ~930, Booking.com backend limit). API-only.
verboseLogsbooleanfalseLog per-page debug details. API-only.

Input examples

Monitor a city market:

{
"searchUrls":["https://www.booking.com/searchresults.html?ss=Barcelona%2C+Spain"]
}

Monitor multiple cities at once:

{
"searchUrls":[
"https://www.booking.com/searchresults.html?ss=Paris%2C+France",
"https://www.booking.com/searchresults.html?ss=Lisbon%2C+Portugal"
]
}

Monitor 4-star hotels only (with star filter applied on Booking.com):

{
"searchUrls":["https://www.booking.com/searchresults.html?ss=Rome%2C+Italy&nflt=class%3D4"]
}

How it works

  1. URL parsing β€” extracts destination, guest count, and all filters from the pasted URL
  2. Date window generation β€” builds 15 configurations: 1N/2N/7N stays Γ— J+7/J+14/J+30/J+60/J+90 from today
  3. GraphQL fetch β€” calls Booking.com's internal /dml/graphql endpoint (HTTP-only, no browser needed) for each configuration with full pagination
  4. Deduplication β€” properties found across multiple windows are merged by pageName
  5. Aggregation β€” computes avg/min/max per stay duration, weekly discount, max discount, promo flag
  6. Dataset push β€” one row per property; market summary printed to run log

Why 3 stay durations? Booking.com returns different property sets depending on stay length β€” a property with a 3-night minimum stay is invisible in 1-night searches. Running all three durations guarantees maximum market coverage.


Data quality β€” what priceSamples means

A property only appears in a search window when it is available and priced for those exact dates. A fully-booked hotel for the next month appears in fewer windows.

priceSamplesInterpretation
1–3Limited availability β€” appeared in few windows
4–9Good coverage across date windows
10–15Available across all or most windows

For deep per-date analysis, see the Flat prices dataset view.


Output sample

{
"propertyName":"Saphir Grenelle",
"propertyUrl":"https://www.booking.com/hotel/fr/saphirgrenelle.html",
"city":"Paris",
"starRating":3,
"rating":7.2,
"reviewCount":1720,
"latitude":48.8484,
"longitude":2.2971,
"distanceFromCenter":"4.1 km from centre",
"currency":"EUR",
"avgPrice1N":173.9,
"minPrice1N":140.66,
"maxPrice1N":197.36,
"avgPrice2N":179.81,
"minPrice2N":144.71,
"maxPrice2N":205.46,
"avgPrice7N":209.7,
"minPrice7N":196.2,
"maxPrice7N":223.2,
"weeklyDiscountPct":0,
"maxDiscountPct":0,
"hasPromo":false,
"freeCancellation":false,
"noPrepayment":false,
"priceSamples":11,
"scrapedAt":"2026-06-13T09:48:01.831Z",
"priceByWindow":[
{"checkin":"2026-06-19","checkout":"2026-06-20","nights":1,"pricePerNight":197.36,"totalPrice":197.36,"discountPct":0,"hasPromoFlag":false,"currency":"EUR"},
{"checkin":"2026-06-19","checkout":"2026-06-21","nights":2,"pricePerNight":205.46,"totalPrice":410.92,"discountPct":0,"hasPromoFlag":false,"currency":"EUR"},
{"checkin":"2026-06-19","checkout":"2026-06-26","nights":7,"pricePerNight":223.2,"totalPrice":1562.42,"discountPct":0,"hasPromoFlag":false,"currency":"EUR"}
]
}

Dataset views

ViewBest for
OverviewComparing properties side by side β€” avg prices, discounts, promo flags
Flat pricesDate-level analysis, pivot tables, Excel / Sheets import

Performance and cost

ScenarioPropertiesTime (Apify cloud)
Paris full market (5 windows Γ— 3 durations)~740~20 s
Marbella, Spain~300~10 s
3 cities in one run~2,000~60 s

Runs are HTTP-only (no browser) β€” 256 MB memory, high concurrency.

No residential proxy needed β€” Booking.com's GraphQL endpoint is not gated by the HTML WAF. The actor works reliably without any proxy configuration.


Set up automated weekly monitoring

Most users run this actor on a schedule β€” once a week per city β€” and store results over time to track price trends.

Step-by-step in Apify Console:

  1. Open the Actor and click Schedule (top right)
  2. Set the frequency β€” every Monday at 08:00 is the most common for weekly reports
  3. Paste your search URL(s) in the input
  4. Save β€” the actor will run automatically and push data to the same dataset each time

Track trends across runs with the API:

Each run appends to the default dataset. Query it via the Apify API and filter by scrapedAt to build a time-series:

$curl"https://api.apify.com/v2/datasets/{datasetId}/items?token={token}&fields=propertyName,avgPrice1N,scrapedAt"

Tip: use the flat-prices dataset view to get one row per property per date window β€” ideal for feeding directly into Excel, Google Sheets, or a BI tool.


How much does it cost?

You pay per hotel row successfully written to the dataset. Properties with no price are never billed.

PlanPrice per property
FREE$0.00399
BRONZE$0.00349
SILVER$0.00299
GOLD$0.00249
PLATINUM / DIAMOND$0.00199

Plus a one-time $0.05 actor start charge (same across all plans).

Typical cost

ScenarioPropertiesFREEBRONZEGOLD
Test run β€” Paris, 50 properties50~$0.25~$0.22~$0.17
Full city scan β€” Paris~740~$3.00~$2.63~$1.89
Full city scan β€” Marbella~300~$1.25~$1.10~$0.80
3 cities in one run~2,000~$8.03~$7.03~$5.05

All figures include the $0.05 actor-start charge.


Is it legal to scrape Booking.com?

This Actor only accesses data that Booking.com makes publicly available on its search results pages β€” property names, star ratings, review scores, publicly listed prices, and publicly visible policies (free cancellation, etc.). No login, account, or credentials are required or used.

As with any data, ensure your use complies with applicable regulations, including GDPR where personal data may be involved.


Local development

npminstall
# Edit storage/key_value_stores/default/INPUT.json with your test URLs
node src/main.js

Or use the Apify CLI:

$apify run

Also available


Support

Custom scraper or tailored automation? Contact corentin@outreacher.fr.

You might also like

Booking.com Hotel Search Scraper

corent1robert/booking-hotel-search

Search Booking.com by destination text or URL β€” get all hotels with prices, ratings, coordinates, free cancellation flags, and promo badges. Beats the 1,000 result cap. HTTP-only, fast, reliable.

πŸ‘ User avatar

Corentin Robert

4

Booking.com Hotel Scraper - Prices, Reviews & Availability

fascinating_lentil/booking-com-hotel-scraper

Collect public Booking.com hotel and accommodation listing data including prices, ratings, review counts, cancellation options, amenities, and property URLs.

πŸ‘ User avatar

Md Jakaria Mirza

3

Booking.com Scraper - Hotel Prices & Reviews

logiover/booking-hotels-prices-scraper

Booking.com API alternative: scrape hotel prices, reviews & availability without an API key. Export Booking.com hotel data to CSV, JSON & Excel.

Booking Hotel Availability Monitor Β· Day-by-Day

corent1robert/booking-availability-monitor

Paste Booking.com hotel URLs β€” get a day-by-day availability calendar with prices, free cancellation flags, and promo detection for up to 180 days ahead. No login needed.

πŸ‘ User avatar

Corentin Robert

5

Booking.com Hotel Scraper

scrapepilot/booking-com-hotel-scraper

Extract comprehensive hotel data from Booking.com – property details, pricing, availability, guest reviews, amenities, and more

Booking.com Scraper for Hotel Prices & Reviews

runtime/booking-scraper

Extract Booking.com hotel search results with prices, ratings, review counts, addresses, coordinates, direct hotel URLs, filters, and optional room details.

πŸ‘ User avatar

scraping automation

72

1.2

Booking.com Hotel Price Tracker

scrapyspider/booking-com-hotel-price-tracker

Tracks and extracts hotel prices from Booking.com for any location across a configurable date range. Filter by hotel name, set stay duration, guests, and proxy options.

27

Airbnb Price Monitor Β· Nightly Rate Tracker

corent1robert/airbnb-price-monitor

Track nightly rates across any Airbnb market. Paste a city search URL β€” get avg, min, max, and median price per listing with full day-by-day breakdown. No login. No API key.

πŸ‘ User avatar

Corentin Robert

2

Fast Booking Scraper

voyager/fast-booking-scraper

Scrape Booking with this hotel scraper and get data about accommodation on Booking.com. Extract data by keywords or URLs for hotel prices, ratings, location, number of reviews, stars. Scrape and download data from Booking.com in JSON, Excel, HTML ,and CSV.

1.5K

2.3