Hotel price tracker: get alerts when Google Hotels prices drop for your dates

To track hotel prices for a trip, run Google Hotels Scraper on Apify on a schedule with Only price drops turned on. Each run searches Google Hotels for your city and dates and saves a hotel only when its nightly price is lower than the last price seen for it, with that previous price on the row. Filters for rating, star class and max price per night keep it to hotels you would book. It costs $1 per 1,000 hotels saved, and a run with no drops saves nothing.

Open Google Hotels Scraper on Apify $1 per 1,000 hotels ($0.80 on Gold and above)

Step by step

  1. Create a free Apify account. Sign up at apify.com. The free plan's $5 monthly credit covers months of daily checks.
  2. Set the city and dates. Open Google Hotels Scraper and enter a city, area or a search such as "hotels near Times Square", plus check-in and check-out dates and the number of adults.
  3. Narrow it down. Set Min rating, Min hotel class or Max price per night so only hotels you'd book are tracked.
  4. Turn on Only price drops and schedule it. Switch on Only price drops, click Save as a new task, then Schedule it daily. The first run saves every hotel and records its price; later runs save only the hotels that got cheaper.
  5. Get the drops. Send each run's rows to Slack, email, Google Sheets or a webhook from the Integrations tab. Each row has pricePerNight, previousPricePerNight, rating, class and the Google Hotels link.

Do it from code

One check (cURL)

curl -X POST "https://api.apify.com/v2/acts/automationnation~google-hotels-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"locations": ["Lisbon"], "checkIn": "2026-12-18", "checkOut": "2026-12-21", "minRating": "4", "onlyPriceDrops": true}'

# Later runs return only hotels whose pricePerNight is below previousPricePerNight, marked "price_drop".

A daily hotel price check, set up through the API (cURL)

# 1. Save the search as a task
curl -X POST "https://api.apify.com/v2/actor-tasks?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"actId": "QWkWu9wrDqELqoSdE", "name": "lisbon-hotel-tracker", "input": {"locations": ["Lisbon"], "checkIn": "2026-12-18", "checkOut": "2026-12-21", "minRating": "4", "onlyPriceDrops": true}}'

# 2. Run it every morning (TASK_ID is the id returned by step 1)
curl -X POST "https://api.apify.com/v2/schedules?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "lisbon-hotel-tracker-daily", "cronExpression": "0 8 * * *", "timezone": "Europe/London", "isEnabled": true, "isExclusive": true, "actions": [{"type": "RUN_ACTOR_TASK", "actorTaskId": "TASK_ID"}]}'

From an AI assistant (MCP)

Add this MCP server URL to Claude, ChatGPT or Cursor and ask in plain English:

https://mcp.apify.com?tools=automationnation/google-hotels-scraper

Alternatives

Google Hotels and the big booking sites have their own price-tracking emails for signed-in users, with no data export or API. Amadeus switched off its free Self-Service hotel APIs in July 2026. See the side-by-side comparison.

FAQ

Does Google show the same hotels every run?

Not exactly; the order and the 20 hotels shown shift. The tracker remembers the last price of up to 500 hotels per search, so a hotel that drops out for a day is still compared when it comes back.

Which price is compared?

The nightly price before taxes as Google shows it for your dates and currency. Rows also include the price with taxes and the estimated stay total.

Can I track several cities or trips?

Yes. Each search keeps its own history; Monitor name keeps separate histories for the same search.

Written by AutomationNation, the developer of Google Hotels Scraper. Prices checked October 2026.