Hotel Price Tracker - Google Hotels Scraper avatar

Hotel Price Tracker - Google Hotels Scraper

Pricing

from $1.99 / 1,000 hotels

Go to Apify Store
Hotel Price Tracker - Google Hotels Scraper

Hotel Price Tracker - Google Hotels Scraper

Compare hotel prices and find the cheapest rate. Google Hotels scraper API, no API key: price per night and total for any dates across Booking.com, Agoda, Expedia and official sites, plus ratings, reviews, stars, amenities, photos and GPS. Dates never expire in schedules. $1.99 per 1,000 hotels.

Pricing

from $1.99 / 1,000 hotels

Rating

0.0

(0)

Developer

Quiet Harvest

Quiet Harvest

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a month ago

Last modified

Security

Limited permissions

Share

This Google Hotels scraper gets hotel prices for any city and dates. No API key, no login, no browser.

$1.99 per 1,000 hotels. Prices from every booking site add $0.99 per 1,000 hotels.

Quick start

Runs as-is with this input (the same input Apify tests daily):

{
"locations": [
"Tokyo"
]
}

Main output fields: thumbnail, name, location, hotel_class, rating, review_count, price_per_night, total_price, currency, check_in, check_out, cheapest_vendor, cheapest_vendor_total, google_hotels_url.

Price: Hotel: $1.99 per 1,000; Booking-site prices: $0.99 per 1,000. Pay only for results delivered.

Run it from code and get the results in one call: POST https://api.apify.com/v2/acts/reportable_broth~google-hotels-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN with the input above as the JSON body.

What does the Google Hotels Scraper do?

  • Price per night and total for the stay (with taxes and fees), stars, guest rating, review counts, amenities, photos and GPS.
  • Optional: the price on every booking site (Booking.com, Agoda, Expedia, Hotels.com, Trip.com, the hotel's own site...) with free-cancellation terms.
  • Google Hotels ignores the dates in its URL and can quietly show other dates. This sends dates the way the page does, then checks them against what Google used.
  • For a scheduled hotel price tracker, use checkInDaysFromToday. A past check-in date is moved to today and noted in date_note instead of failing.

How do I use it?

  1. Click Try for free. You need a free Apify account.
  2. Type a city, neighborhood or landmark under Locations, e.g. Tokyo. Pick check-in and check-out dates, or leave them empty for a 1-night stay two weeks from today.
  3. Click Start.
  4. Wait for the run to finish. You get about 16 hotels per page.
  5. Open the Output tab and download the hotels as JSON, CSV or Excel.

What can I use it for?

  • If you run a hotel, check what the hotels around you charge for the next few weeks.
  • Compare the price on Booking.com, Expedia and the hotel's own site for the same room night.
  • Find 4-star hotels under a set price in a city for your dates.
  • Collect ratings, stars and amenities for every hotel in an area for market research.

Examples

{
"locations": ["Tokyo", "Paris"],
"checkInDate": "2026-11-20",
"checkOutDate": "2026-11-23",
"maxResultsPerLocation": 100
}

Daily monitoring (put it on a Schedule):

{
"locations": ["hotels near Times Square"],
"checkInDaysFromToday": 30,
"nights": 2,
"includeVendorPrices": true,
"minHotelClass": 4
}

A location can be a city, neighborhood, landmark or a full query. A plain place name is searched as hotels in <place>.

Input

FieldDefault
locationsRequired. One search per line
checkInDate, checkOutDateYYYY-MM-DD. Leave empty to use the two below
checkInDaysFromToday14Used when checkInDate is empty
nights1Used when checkOutDate is empty. Up to 30
adults2
currencyUSDThree-letter code
countryCodeusTraveller's country. Booking sites and prices depend on it
maxResultsPerLocation20Up to 1,000. About 16 new hotels per page
includeVendorPricesfalseOne extra request per hotel
minRating, minHotelClass, maxPricePerNightHotels that don't match are skipped and not charged
concurrency5Parallel requests

What data do I get?

One row per hotel (shortened):

{
"name": "the b hachioji",
"hotel_class": 3,
"rating": 3.7,
"review_count": 926,
"price_per_night": 52,
"total_price": 155.99,
"currency": "USD",
"check_in": "2026-10-13",
"check_out": "2026-10-16",
"nights": 3,
"amenities": ["Free Wi-Fi", "Parking ($)", "Restaurant", "Kid-friendly"],
"cheapest_vendor": "Ikyu.com",
"vendor_prices": [
{"vendor": "Ikyu.com", "official_site": false, "price_per_night": 52, "total_price": 156, "free_cancellation": "Free cancellation until Oct 11"}
]
}

Also included: hotel_id, rating_distribution, base_price, taxes_and_fees, date_note, description, latitude, longitude, check_in_time, check_out_time, website, nearby_places, images, google_hotels_url, google_maps_url, position, cheapest_vendor_total, plus text versions of the prices and stars. Vendor offers also have conditions (e.g. Non-refundable).

Limits

  • Prices are what Google Hotels shows for your currency and country. Booking sites change them any time.
  • Only the best offer per booking site, not every room type. amenities is the short list from the results page.
  • No guest review texts, just the rating and review counts.
  • A query that isn't a real place can still return hotels somewhere else. Check location and the coordinates.
  • A search with nothing to return finishes with 0 items and costs nothing.

How much does it cost?

$1.99 per 1,000 hotels. includeVendorPrices adds $0.99 per 1,000 hotels, only charged when offers were found. There's no separate compute bill on top.

Example: 5 cities, 100 hotels each, is 500 hotels. That's about $1.00, or $1.49 with booking-site prices. A daily run on 50 hotels with booking-site prices is about $0.15 a day, $4.47 over 30 days. Hotels dropped by your rating, star or price filters aren't charged.

Tracking prices on a schedule

Save your input as a Task with checkInDaysFromToday instead of fixed dates, then add a Schedule (daily is typical). Check-in is always that many days ahead, so the task never needs editing. Send results to Google Sheets, Slack, Make, Zapier or n8n, or call it from the Apify API or MCP.

FAQ

Does it get prices from Booking.com, Expedia and the hotel's own site? Yes, with includeVendorPrices on. You get the best offer from each site Google lists, and official_site marks the hotel's own one.

Do I have to set dates? No. Leave them empty and it uses checkInDaysFromToday (14) and nights (1).

Why are the prices different from what I see on Google Hotels? Google shows different prices and booking sites depending on the traveller's country. Set countryCode and currency to match yours.

Am I charged for hotels my filters drop? No. Hotels below minRating or minHotelClass, or above maxPricePerNight, are skipped before charging.

Other scrapers I made

Found a bug or need a field? Open an issue on the Issues tab.


Only collects publicly available data. You're responsible for how you use it (Google's terms, local law).