Google Hotels Scraper avatar

Google Hotels Scraper

Pricing

from $2.50 / 1,000 hotels

Go to Apify Store
Google Hotels Scraper

Google Hotels Scraper

Hotel prices from Google Hotels for any city and dates: nightly and total price with taxes, deals, rating, reviews, star class, amenities and coordinates. Fast HTTP-only scraper, pay per hotel.

Pricing

from $2.50 / 1,000 hotels

Rating

0.0

(0)

Developer

Ralf IJsbrandij

Ralf IJsbrandij

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 hours ago

Last modified

Share

Scrape hotel prices from Google Hotels for any city and dates. For every hotel you get the lowest nightly price, the price for the whole stay with taxes and fees, Google's deal note, the guest rating and review count, star class, amenities, check-in times, coordinates and links. Use it for hotel price monitoring, rate shopping, travel apps, market research or AI agents that need live hotel prices.

  • Fast and light: plain HTTP, no browser. One request returns about 20 hotels with prices.
  • Your dates, guests and currency: check-in and check-out dates (fixed or relative, such as "14 days" from the run), adults, children's ages, and any currency.
  • Built for reliability: fresh IPs and retries on every block, a run summary that explains every search, and a run that never fails because of one bad search.
  • Pay per hotel: you only pay for hotels you get.

What data do you get?

FieldExampleNotes
nameRadisson Hotel & Suites Amsterdam South
hotelIdChoIgfeI9cmwttG7ARoNL2cvMTFmMmdzenZrbBABGoogle's id for the property, stable across runs
position1Rank in Google's results for your search
pricePerNight / pricePerNightText97.91 / "$98"Lowest nightly price as Google shows it (see note below)
totalPrice195.82Whole stay, including taxes and fees
totalPriceBeforeTaxes, taxesAndFees143.6, 52.23When Google shows the split
currencyUSD
dealText23% less than usualGoogle's deal note
rating, reviewCount4.1, 1779Guest rating out of 5
hotelClass, hotelClassText4, "4-star hotel"Official star class when Google has it
propertyTypehotelhotel, hostel, resort hotel, vacation rental, ...
amenitiesFree Wi-Fi, Breakfast ($), Parking ($), PoolEnglish pages
checkInTime, checkOutTime3:00 PM, 12:00 PM
latitude, longitude, countryCode52.3215, 4.8815, NL
descriptionPolished hotel with a restaurant & a bar...Google's one-line summary
websitehttps://www.radissonhotels.com/...utm_* and click-tracking parameters removed
thumbnailUrlhttps://lh3.googleusercontent.com/...Main photo
googleHotelsUrl, googleMapsUrllinksThe hotel on Google Hotels (same dates) and on Google Maps
checkInDate, checkOutDate, nights, adults, children2026-11-12, 2026-11-14, 2, 2, 0What the price is for
query, searchLocation, searchUrl, scrapedAtWhere the row came from

Every result has the same fields in the same order. A value Google does not show is null, never missing. Guest reviews are not included because they contain personal data. You get the rating and review count instead.

Taxes: pricePerNight is the nightly price exactly as Google shows it. Google shows US visitors prices before taxes and fees, and most other markets prices that include them. For an all-in price you can compare across markets, use totalPrice.

How to use it

  1. Enter one or more searches, such as hotels in Amsterdam, Paris or hotels near Times Square.
  2. Pick check-in and check-out dates. Relative dates such as 14 days and 16 days keep a scheduled run pointing at the future.
  3. Set adults, children's ages and currency if needed, and click Start.
  4. Download the results as JSON, CSV or Excel, or use the API. The Hotels and prices tab shows them as a table with photos.

Input example

{
"queries": ["hotels in Amsterdam", "hotels in Paris"],
"checkInDate": "14 days",
"checkOutDate": "16 days",
"adults": 2,
"childrenAges": ["8"],
"currency": "EUR",
"maxHotelsPerSearch": 20
}
InputDefaultWhat it does
queries (required)One search per line. Search for a place; a hotel name on its own opens that hotel's page, which is skipped.
checkInDate14 days from todayYYYY-MM-DD or relative: 3 days, 2 weeks, 1 month
checkOutDate1 night after check-inUp to 30 nights
adults21 to 10
childrenAgesnoneOne age (0-17) per child
currencyUSDAny three-letter code: EUR, GBP, AUD, JPY, ...
maxHotelsPerSearch20Google shows about 20 hotels per search; lower it to spend less
countryusGoogle market (gl). Decides which booking sites Google compares
languageenLanguage of Google's texts. Keep en for amenities
proxyConfigurationResidentialResidential IPs from your Google country work best

Output example

{
"query": "hotels in Amsterdam",
"searchLocation": "Amsterdam",
"position": 1,
"name": "Radisson Hotel & Suites Amsterdam South",
"hotelId": "ChoIgfeI9cmwttG7ARoNL2cvMTFmMmdzenZrbBAB",
"propertyType": "hotel",
"hotelClass": null,
"hotelClassText": null,
"rating": 4.1,
"reviewCount": 1779,
"pricePerNight": 97.91,
"pricePerNightText": "$98",
"totalPrice": 195.82,
"totalPriceBeforeTaxes": 143.6,
"taxesAndFees": 52.23,
"currency": "USD",
"dealText": "23% less than usual",
"checkInDate": "2026-11-12",
"checkOutDate": "2026-11-14",
"nights": 2,
"adults": 2,
"children": 0,
"latitude": 52.3214936,
"longitude": 4.881534,
"checkInTime": "3:00 PM",
"checkOutTime": "12:00 PM",
"amenities": "Breakfast ($), Free Wi-Fi, Parking ($), Air conditioning, Pet-friendly, Fitness center, Bar, Restaurant, Room service",
"description": "Polished hotel with a restaurant & a bar, plus breakfast, parking & Wi-Fi access.",
"website": "https://www.radissonhotels.com/en-us/hotels/radisson-hotel-and-suites-amsterdam-south?cid=...",
"countryCode": "NL",
"thumbnailUrl": "https://lh3.googleusercontent.com/...",
"googleHotelsUrl": "https://www.google.com/travel/hotels/entity/ChoIgfeI9cmwttG7ARoNL2cvMTFmMmdzenZrbBAB?hl=en&gl=us&curr=USD&ts=...",
"googleMapsUrl": "https://maps.google.com/?cid=13520608194939992961",
"searchUrl": "https://www.google.com/travel/search?q=hotels+in+Amsterdam&...",
"scrapedAt": "2026-10-10T16:01:40.120Z"
}

Each run also saves a run summary (RUN_SUMMARY in the key-value store, linked from the Output tab). It lists every search with its status (ok, no-results, skipped, failed or not-run), the number of hotels, how Google read the search ("Amsterdam", 58 results) and a note on anything that went wrong.

Pricing

This Actor uses pay per event. You pay a fixed price for each hotel in your results, plus a tiny fee when a run starts:

EventPrice
Hotel result$0.0035 ($3.50 per 1,000 hotels), less on paid Apify plans (down to $2.50)
Run start$0.00005

Example: checking 10 cities for one date range returns about 200 hotels and costs about 200 x $0.0035 = $0.70. A daily price check of the same 10 cities costs about $21 a month.

Searches that return no hotels cost nothing beyond the run start. You can set a maximum charge per run; the Actor stops cleanly when it is reached and keeps everything found so far.

Tips

  • More hotels for a city: Google shows about 20 hotels per search. Add more specific searches, such as hotels in Amsterdam Jordaan or hotels near Amsterdam Centraal. Each search is priced separately.
  • Track prices over time: schedule the Actor with relative dates (30 days to 31 days) and match rows across runs by hotelId.
  • Compare markets: run the same search with country set to us, gb or de. Google compares different booking sites per market, and prices can differ.
  • Currencies: prices come in the currency you choose. pricePerNightText shows them exactly as Google displays them.

Use it as an API, from Python or from AI tools

Every run is also an API call. From Python, with the official Apify client:

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("ralfij/google-hotels-scraper").call(
run_input={"queries": ["hotels in Lisbon"], "checkInDate": "30 days", "checkOutDate": "32 days", "currency": "EUR"}
)
for hotel in client.dataset(run.default_dataset_id).iterate_items():
print(hotel["name"], "|", hotel["pricePerNightText"], "|", hotel["rating"])

More Python examples, including comparing cities, finding the cheapest weekend and a daily price tracker, are on GitHub: RalfIJ/google-hotels-api.

To let an AI assistant such as Claude, Cursor or VS Code look up hotel prices for you, add this MCP server URL in its settings: https://mcp.apify.com?tools=ralfij/google-hotels-scraper

FAQ

Is there an official Google Hotels API? Not for reading prices. Google's hotel APIs are for travel partners that send their prices to Google. This actor gives you the hotels and prices Google shows as structured data (JSON, CSV or Excel) through the Apify API.

Is it free to try? Yes. Apify's free plan includes $5 of credit every month, with no credit card needed. That covers more than 1,000 hotel prices at the standard price.

How many hotels does one search return? About 20, the first page of Google Hotels results. The run summary shows how many hotels Google has in total for the search.

Why did a search return no hotels? For some large cities Google sometimes answers a search with an empty list. The Actor then asks again from other IPs. If the list stays empty, the search is marked no-results in the run summary and costs nothing. Different wording or dates can help.

Do I need a Google account or an API key? No. The Actor reads the public Google Hotels pages, the same ones you see in a browser without logging in.

Are prices live? Yes. They are the prices Google shows at the time of the run for your dates, guests and currency. Hotel prices change often, so schedule runs if you need a history.

Why does a price differ from what I see in my browser? Google adapts prices to the visitor's country, currency and sometimes membership deals. Use the same country and currency as your browser to compare.

Does it collect personal data? No. It returns hotel (business) data only. Guest reviews and reviewer names are left out on purpose.

Is scraping Google Hotels legal? The Actor reads publicly visible, non-personal business data. You are responsible for how you use the data, including Google's terms of service and the laws that apply to you. If unsure, ask a lawyer.

Can I use it with AI agents? Yes. The flat output with fixed field names works well with LLM tools, the Apify API and the Apify MCP server.

Feedback

Found a search that fails or a field that looks wrong? Open an issue on the Actor page with the search and dates. Fixes ship quickly. Did it save you time? A short review on the Reviews tab helps other people find it.

This actor is not affiliated with, endorsed by or sponsored by Google. Google Hotels is a trademark of Google LLC.