Google Hotels Scraper & API - Prices, OTA Rates & Room Rates avatar

Google Hotels Scraper & API - Prices, OTA Rates & Room Rates

Pricing

from $2.00 / 1,000 hotels

Go to Apify Store
Google Hotels Scraper & API - Prices, OTA Rates & Room Rates

Google Hotels Scraper & API - Prices, OTA Rates & Room Rates

Scrape Google Hotels by destination, dates and guest country: nightly and total prices, ratings and coordinates. Optional details add every OTA rate with its booking link, room rates with cancellation and breakfast, price insights and review summary. CSV, JSON or API.

Pricing

from $2.00 / 1,000 hotels

Rating

5.0

(1)

Developer

gianluca de dominicis

gianluca de dominicis

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

1

Monthly active users

a day ago

Last modified

Features

Limited permissions

Share

Google Hotels Scraper & API - Prices, OTA Rates & Room Rates

Compare Google Hotels rates for a city, hotel or address, with nightly and total-stay prices, ratings and locations. Export results to CSV, Excel or JSON, or access them through the API. Optional details add every booking partner's rate (OTA rates) with its booking link, room rates with cancellation and breakfast, Google's price insights, the hotel's website, check-in times, amenities and a review summary. Taxes and fees follow the source data: check pricesIncludeTaxes before treating a price as tax-inclusive.

⭐ Found this Actor useful? Leave a review — it takes 30 seconds and helps other people find it.

🛠️ Something not working? Open an issue with the run link, expected behavior and observed result. We review reported issues; resolution time depends on the cause.

What you get for each hotel

  • 🌍 62 countries and 44 currencies — search as a visitor from any supported market across Europe, the Americas, the Middle East, Africa and Asia-Pacific, with prices in the local currency (EUR, USD, GBP, SEK, NOK, DKK, PLN, HUF, KRW, MYR, ZAR and more).
  • 💶 Nightly and total-stay prices in your chosen currency and market. Check pricesIncludeTaxes; an unknown tax basis is not confirmed tax inclusion.
  • 🏷️ Available booking partner prices (OTA rates) — Booking.com, Expedia, Agoda, the official site… — each with its booking link, the cheapest one, the typical price range and Google's low / typical / high verdict (optional)
  • 🛏️ Room rates of the featured partners: room name, bed type, free cancellation and breakfast included, each with its price (optional)
  • 🏨 Hotel facts: official website, description, check-in and check-out times, popular amenities (optional)
  • 💬 Review summary: what guests mention most (Breakfast, Location, Cleanliness…) with the number of mentions, and ratings on other sites such as Tripadvisor (optional)
  • ⭐ Guest rating, number of reviews, hotel class (stars), amenities, coordinates and the Google Hotels link
  • 📍 Or the hotels closest to any address or landmark, sorted by distance

First run: open Input, paste the basic example below, update its dates if needed, then click Start. It requests up to 20 hotels in Rome, for 2 adults, in EUR, with optional details switched off. If 20 hotels are returned, the Actor charge is $0.06 at the base rate, before plan discounts. Open the completed run's dataset and export CSV, Excel or JSON. No Google account, login or cookies are needed.

Real results — hotels close to Madison Square Garden, 2 adults, Oct 22–24, 2026:

RankHotelDistancePer night (incl. taxes)Total stayRatingStars
1Fairfield by Marriott Inn & Suites Midtown Manhattan/Penn Station0.23 km$582$1,1644.24
2Renaissance New York Midtown Hotel0.25 km$641$1,2824.44
3The New Yorker Hotel0.25 km$694$1,3873.94

Why this Google Hotels scraper?

Capability / common requirementThis Actor
Frequent failed runs, unverified dataHistorical validation: we checked 156 prices by hand against Google Hotels in a browser — 153 identical; the other 3 were a price that changed between checks and two offers personalized by the booking site. Incomplete pages are retried automatically from a new IP
One price per hotel, often before taxesNightly and total-stay prices as reported by Google, plus before-tax prices when available. Check pricesIncludeTaxes before comparing tax-inclusive rates
Only the price Google highlightsAvailable booking partner offers and the lowest observed offer (Google's highlighted price is not always the lowest)
Prices from a random server locationChoose the visitor's country: partners, taxes and prices are requested for the selected market; results can differ by session
Just the first page, or "thousands" that are mostly duplicatesExpanded destination coverage: deep pagination plus related searches (B&Bs, hostels, apartments, 5-star, city center…), merged without duplicates
Only "hotels in a city"Hotels near any address or landmark ("Colosseum", "Via Nazionale 22, Rome", "Madison Square Garden"), sorted by distance, within the radius you choose
A specific hotel name returns a different hotelSingle-hotel searches — inspect the returned entity ID and name to confirm the match
No context on whether a price is goodTypical price range for your dates and Google's price insight (low / typical / high)

Google Hotels API vs this scraper

Google does not offer a public Google Hotels API. This Actor works as one: send a destination and dates (via the Apify API, MCP or x402) and get structured JSON back — prices, available booking partners, ratings and more.

Coverage depends on source availability, filters and accessible pages; complete coverage is not guaranteed. Any validation figures below or above describe historical samples, not a guarantee of future accuracy or uptime.

Use cases

  • AI travel agents: find and compare hotels for a user's exact dates and party size, with booking links.
  • Price monitoring: track rates for a city or a list of hotels and get alerted when they drop.
  • Trips around an event or a place: hotels within walking distance of a venue, a conference center, a hospital or an office.
  • Hotel revenue management: compare observed rates for your hotel and competitors; room and cancellation terms may differ.
  • Market research: average prices, availability and ratings by destination and season.

How to use

  1. Enter one or more destinations or hotels (e.g. hotels in Rome, Hotel Artemide Rome) — or an address or landmark in Near an address or landmark (e.g. Colosseum, Rome) plus a Max distance (km).
  2. Set check-in / check-out dates, adults, currency and the country to search from.
  3. Optional: turn on Include all booking offers, room rates & price insights for partner-by-partner prices.
  4. Click Start and export the results as JSON, CSV or Excel, or fetch them via API.

Input

Start with this basic configuration. The example uses a three-night stay; replace both fixed dates with future dates appropriate for your run. includeDetails: false keeps the first test to the base hotel charge.

{
"queries": ["hotels in Rome"],
"checkIn": "2026-11-20",
"checkOut": "2026-11-23",
"adults": 2,
"currency": "EUR",
"country": "IT",
"language": "en",
"maxResultsPerQuery": 20,
"includeDetails": false
}

Hotels near a place

{
"near": "Colosseum, Rome",
"maxDistanceKm": 1,
"onlyAvailable": true,
"currency": "EUR",
"country": "IT",
"maxResultsPerQuery": 20
}

The place is located with OpenStreetMap (coordinates like 41.8902, 12.4922 also work). Results come sorted by straight-line distance, each with distanceKm, and nearResolvedTo shows the exact place that was matched. In our tests the 20 hotels returned around the Colosseum were all within 240 m, and hotel coordinates matched Google Maps exactly.

Output

Basic output: what to look for

This excerpt shows the base fields for the same destination, stay dates, party size and currency as the input above. It is taken from the existing historical example below, with optional detail fields omitted—not a newly executed run or a current price quote. Actual hotel availability and prices change.

{
"query": "hotels in Rome",
"name": "Caravel Hotel - 4 stars",
"checkIn": "2026-11-20",
"checkOut": "2026-11-23",
"adults": 2,
"country": "IT",
"currency": "EUR",
"nights": 3,
"pricePerNight": 78,
"totalPrice": 234,
"pricesIncludeTaxes": true
}

Optional details: extended historical example

Set includeDetails to true to request booking-partner offers with booking links, room rates, price insights, hotel facts and the review summary. This adds a separate hotel-details charge. At base rates, 20 hotel events plus 20 hotel-details events cost $0.16: $0.06 + $0.10. The extended historical item below illustrates the additional fields; it is not a current offer or a promise that every field will be available.

{
"query": "Hotel Artemide Rome",
"position": 1,
"name": "Hotel Artemide",
"type": "hotel",
"available": true,
"pricePerNight": 290,
"totalPrice": 869,
"currency": "EUR",
"nights": 3,
"pricesIncludeTaxes": true,
"rating": 4.8,
"reviewCount": 2000,
"reviewCountIsRounded": true,
"stars": 4,
"checkIn": "2027-02-12",
"checkOut": "2027-02-15",
"adults": 2,
"country": "IT",
"googleHotelsUrl": "https://www.google.com/travel/hotels/entity/...",
"details": {
"address": "Via Nazionale, 22, 00184 Roma RM",
"phone": "06 489911",
"lowestPricePerNight": 270,
"lowestTotalPrice": 809,
"lowestPriceProvider": "Priceline",
"typicalPriceRange": null,
"priceInsight": null,
"offers": [
{"provider": "Priceline", "pricePerNight": 270, "totalPrice": 809, "pricePerNightBeforeTaxes": 246, "bookingUrl": "https://www.google.com/travel/lodging/clk?…", "freeCancellation": false, "perks": []},
{"provider": "Super.com", "pricePerNight": 297, "totalPrice": 892, "pricePerNightBeforeTaxes": 272, "bookingUrl": "https://www.google.com/travel/lodging/clk?…", "freeCancellation": false, "perks": []},
{"provider": "Expedia.com", "pricePerNight": 314, "totalPrice": 942, "pricePerNightBeforeTaxes": 272, "bookingUrl": "https://www.google.com/travel/lodging/clk?…", "freeCancellation": false, "perks": ["Free Wi-Fi"]}
],
"roomRates": [
{"provider": "Priceline", "room": "Basic Double Room", "conditions": "1 double bed", "freeCancellation": false, "breakfastIncluded": false, "pricePerNight": 270, "totalPrice": 809, "pricePerNightBeforeTaxes": 246},
{"provider": "Priceline", "room": "Comfort Double Room", "conditions": "1 double bed · Free cancellation until Feb 10 · breakfast", "freeCancellation": true, "breakfastIncluded": true, "pricePerNight": 372, "totalPrice": 1117, "pricePerNightBeforeTaxes": 325}
],
"website": "https://www.hotelartemide.it/it",
"description": "A 10-minute walk from Termini Station, this upscale hotel in a 19th-century building is also a 15-minute walk from the Spanish Steps and 2 km from the Colosseum Roman amphitheater.",
"checkInTime": "2:00 PM",
"checkOutTime": "12:00 PM",
"popularAmenities": ["Spa", "Hot tub", "Airport shuttle", "Wi-Fi (free)"],
"reviewTopics": [
{"topic": "Wellness", "mentions": 94},
{"topic": "Bar", "mentions": 186},
{"topic": "Breakfast", "mentions": 294},
{"topic": "Service", "mentions": 505}
],
"otherSiteRatings": [
{"site": "Priceline", "rating": 9.2, "scale": 10, "reviewCount": 32},
{"site": "Tripadvisor", "rating": 4.8, "scale": 5, "reviewCount": 9593}
]
}
}
FieldMeaning
pricePerNight / totalPricePrice per night and for the whole stay, taxes and fees as reported; inspect pricesIncludeTaxes and do not assume an unknown tax basis is comparable
pricePerNightIsDerivedtrue when Google showed a before-tax nightly price and we derived the after-tax one from the total (±1 rounding)
availablefalse when no priced availability was observed in the returned source data; this does not prove the hotel is sold out (turn on Only hotels with rooms available to skip them)
latitude / longitudeHotel location as on Google Maps; address and phone when Google lists them on the results page
distanceKmOnly with Near: straight-line distance from the place, in km
typehotel or vacation_rental (apartments and houses listed on Google Hotels)
starsOfficial hotel class (1–5 stars); rating is the guest review score out of 5
reviewCountIsRoundedGoogle abbreviates large counts (e.g. "2K")
details.lowestPriceProviderBooking site with the lowest observed offer among returned partners
details.priceInsightGoogle's verdict on the current price for your dates (e.g. low, typical, high)
details.offers[].bookingUrlLink to that partner's offer for your dates, through Google's redirect. Only free booking links are returned: an offer that Google shows only as a paid ad has null
details.offers[].perks / freeCancellationWhat the partner includes, as shown by Google (Free Wi-Fi, Free breakfast, Free cancellation)
details.roomRatesRoom-level rates of the featured partners: room, conditions (bed type, cancellation deadline, breakfast), freeCancellation, breakfastIncluded and prices
details.website, description, checkInTime, checkOutTime, popularAmenitiesThe hotel's own facts as listed on Google Hotels
details.reviewTopicsTopics guests mention in Google reviews, with the number of mentions
details.otherSiteRatingsRating, scale (5 or 10) and review count on other travel sites

How much does it cost?

Prices and examples below use base rates before plan discounts. The Store’s “from” price may reflect a higher-plan discount; check the Pricing tab for your current plan’s rate.

Pay per event — no monthly rental, no start fee, no proxy or compute surcharge:

  • Hotel — each hotel in the results: $3.00 per 1,000 (volume discounts on higher Apify plans).
  • Hotel details — only if you enable Include all booking offers, room rates & price insights: $5.00 per 1,000 hotels, additional to the base hotel event.

For the first example:

ConfigurationBase-rate calculationActor charge (USD)
20 hotels, details off20 × $3 / 1,000$0.06
20 hotels + 20 hotel-details events$0.06 + (20 × $5 / 1,000)$0.16

These are Actor charges before plan discounts, not accommodation prices. The final charge follows the events actually billed. Set Max cost per run to limit spending.

Automate & integrate

Scheduling, notifications and external destinations require configuration in Apify or the relevant integration.

Schedule daily runs to monitor prices, trigger webhooks, or send results to Google Sheets, Slack, Make, Zapier or n8n. Call it from any language through the Apify API.

Use with AI assistants (MCP)

Add this Actor as a tool to Claude, ChatGPT, Cursor or any MCP client through the Apify MCP server (https://mcp.apify.com). Your assistant can then search hotels and compare booking offers on demand.

Agent-ready: autonomous payments (x402 & Skyfire)

Where supported by Apify, agents can use platform payment integrations such as x402 or Skyfire. Availability, authentication and payment setup depend on Apify’s current integration requirements.

FAQ

Why do prices depend on the "Search from country" setting? Google Hotels shows different booking partners and displays taxes differently depending on where the traveler is. This Actor fetches results from a residential IP in the country you choose, to approximate the selected market (for the United States, plain result lists are read from US datacenter IPs, which returned the same prices as residential ones for 216 of 217 hotels in our check; hotel details and "near" searches always use residential IPs); personalization, sampling and timing can still produce different prices.

Can I include children? Not yet: Google Hotels ignores children passed through search links. Use the number of adults for now.

How many hotels can I get? Google says "15,000 results" for a city like Rome, but a single search only shows ~700–750 different hotels — deeper pages repeat the same ones. With Find more hotels with related searches on (default), the Actor adds related searches and merges them without duplicates: in our test, Rome reached 1,131 unique hotels in one run (the run's spending cap stopped it there). For large runs, raise Max cost per run in the run options: 1,000 hotels cost about $3.

Tested in October 2026 with a cap of 1,000 per city — every run succeeded on the first try:

DestinationUnique hotelsWith price for the dates
Milan, Florence, Naples1,000 each83–87%
Berlin1,00085%
New York1,00087%
Tokyo1,00074%
Dublin686 observed in that test61%

Why do I sometimes get fewer hotels than requested? The destination may have fewer hotels with offers for your dates, or your Max cost per run was reached. The run's status message tells you which.

How does "Near an address or landmark" work? The Actor finds the place on OpenStreetMap, searches Google Hotels around it, measures the straight-line distance to every hotel (from the hotel's own coordinates) and returns the closest ones first, up to Max distance (km). Distance is "as the crow flies", not walking time: walking routes, barriers and entrances can make the actual journey substantially longer. Check nearResolvedTo if the place name is ambiguous, or pass coordinates instead.

Is the price "live"? Each run requests prices from Google Hotels; source caching and partner updates can cause differences from checkout. Hotel prices can change within minutes, so compare runs made at the same time.

Something looks wrong? Open an issue on the Issues tab with the run link. Include the expected behavior and observed result. Resolution time depends on the cause.

More tools from us

Disclaimer: This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Google LLC. It only collects publicly available information from Google Hotels. All trademarks belong to their respective owners.