Hotel price tracker on Google Hotels: for each property and check-in date in a window, one row with the lowest rate across every booking site and the official site, the cheapest source and its link. Daily schedules build hotel price history; maxPrice alerts filter before billing. Pay per row.
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.