Track hotel prices on Google Hotels by name or URL, up to 60 dates. One row per hotel and date: lowest nightly rate, stay total, cheapest source with link (Booking.com, Expedia, official site), free cancellation, cheapest date. Daily runs = price history; maxPrice = price drop alert. Price calendar.
2026-10-16 — Keyword Planner and locale documentation
Validated search terminology against Google Ads Keyword Planner and Store shelves. Added localized usage guidance and bounded examples; retained existing English phrases. Clarified locale limitations where measured. No runtime, output fields, defaults, or pricing changed.
1.0 — listing and input form reworded, 2026-10-11
No behaviour, output or price changed; the same inputs return the same rows.
The input form is reordered: hotelNames first (agents have names, not entity URLs), then hotels, the stay window (checkIn, days, nights), maxPrice moved up next to the window as the price-alert control, then guests, currency and market; proxy and pacing last. Nothing was renamed or removed.
Every input now says what to pass, with an example, its default and what it costs.days states the arithmetic (2 hotels × 30 dates = 60 rows, $0.24); maxPrice says what 0 means, that dates over it are never billed and that the window rank is computed before the filter; hotelNames states the name guard (two shared words and 60 % of yours) and what to do on not_found; hotels explains how to track the same set every day; country says it is the booker's market, not the destination; adults says Google prices one room and nothing above 6 adults.
Store description rewritten for agents: one row per hotel and date, the fields on the row, the free-cancellation flag, the cheapest date, daily runs as price history, maxPrice as the price drop alert. seoDescription carries the synonyms and the German, Spanish, French and Portuguese nouns.
The pricing text states the per-1,000 price, the exact rows-per-hotel arithmetic, what is never charged, that there is no start fee, and that a run stops at the maximum cost you set (maxTotalChargeUsd).
Dropped claim: the market (country) does not decide whether the displayed rate includes taxes — the parent module measured that the display basis follows the country of the proxy IP (pre-tax plus mandatory fees from a US IP, all-in from most others). country changes which booking sites are listed.
README: a section mapping common requests to the exact input, the row fields and the empty-result contract.
2026-08-30
Reliability: a run that cannot act on its input — a URL from the wrong site, a name nothing resolves to, an empty target list, a number outside the documented range — now ends cleanly with the reason on the run card instead of as a failed run. Nothing is charged in either case; a blocked or throttled source still fails loudly.
Store listing: moved into the categories buyers actually browse (the old Business category has no Store page).
1.0 — 2026-08-29
First release.
One rate row per property and check-in date across a window of up to 60 dates: the lowest nightly rate and stay total across every booking source Google Hotels lists that day, the cheapest source with its booking link, whether it is the official site, the official site's own rate, the free-cancellation flag and how many sources priced the stay.
rank_in_window and cheapest_in_window rank the dates of each property's window, so the cheapest date to stay is one filter away.
maxPrice is the alert: only dates at or under the target are delivered, and dates over it are never billed. The status row still reports the cheapest rate and date it saw.
Properties by Google Hotels URL or entity token (exact, one offers call per date) or by name (one search, kept only when the listing's name matches most of the words typed — never a stranger).
Relative dates ("30 days") so a daily schedule builds a price history that never goes stale; duplicates, unpriced dates, unresolved names and status rows are free.
Same verified module as the Google Hotels Prices Scraper and the Hotel Rate Parity Checker; watched by a daily canary run.