Google Hotels Prices Scraper avatar

Google Hotels Prices Scraper

Pricing

from $0.80 / 1,000 prices

Go to Apify Store
Google Hotels Prices Scraper

Google Hotels Prices Scraper

Hotel prices from Google Hotels: every booking site's price (Booking.com, Expedia, Agoda, the hotel's own site...) for any hotel and dates, per night and total, with and without taxes, plus hotel searches like "hotels in Paris" with ratings, stars, address and lowest price. $0.80 per 1,000 prices.

Pricing

from $0.80 / 1,000 prices

Rating

0.0

(0)

Developer

Wulfcare Data

Wulfcare Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

21 hours ago

Last modified

Share

Get hotel prices from Google Hotels: what every booking site (Booking.com, Expedia, Hotels.com, Agoda, Trip.com, Priceline, the hotel's own website...) charges for any hotel, any dates and any number of guests. You get per-night and total prices, before and after taxes, with a direct booking link and the room types and free-cancellation terms where Google shows them.

  • Hotels: give a hotel's name ("Hilton London Paddington"), its Google Hotels link, its entity ID or its Google Maps link. You get one row per booking site and date.
  • Price calendars: set Check-in dates to 30, 90 or 365 to get the prices for each check-in date in a row, in one run.
  • Searches: "hotels in Paris", "beach hotels in Bali"... give one row per hotel with stars, rating, review count, address, phone, website, coordinates, photos and the lowest price. Every booking site's price for each hotel is optional.

$0.80 per 1,000 prices and no start fee.

What people use it for

  • Rate shopping and parity checks for hotels and revenue managers: what each booking site charges for your rooms (and your competitors') day by day, and whether your own website is the cheapest.
  • Price calendars and alerts: a daily schedule over the next 90 check-in dates shows when prices move.
  • Travel apps and price comparison sites: live prices with booking links for the hotels your users look at.
  • Market research: hotel supply, stars, ratings and price levels for a city or an area.
  • Datasets for analytics and AI: clean, structured hotel and price data in JSON, CSV or Excel.

How to use it

  1. Add hotels (names, links or IDs) and/or searches.
  2. Pick the check-in date (default: tomorrow), how many check-in dates in a row, the nights per stay and the adults.
  3. Run it, then download JSON, CSV or Excel, or use the API.

What you get

One row per booking site and date (hotels)

{
"hotelName": "Hôtel Atrium by HappyCulture",
"provider": "Travelocity.com",
"isOfficial": false,
"price": 105,
"price2": 128,
"adults": 2,
"currency": "USD",
"checkInDate": "2026-11-10",
"checkOutDate": "2026-11-11",
"nights": 1,
"pricePerNight": 105.13,
"pricePerNightWithTaxes": 128.18,
"totalPrice": 105.13,
"totalPriceWithTaxes": 128.18,
"rank": 19,
"isCheapest": false,
"bookingUrl": "https://www.travelocity.com/Hotel-Search?selected=44896&...",
"otaUrl": "https://www.google.com/travel/lodging/clk?pc=...",
"isAd": false,
"rooms": [
{ "room": "Classic Double or Twin Room", "pricePerNight": 105.13, "pricePerNightWithTaxes": 128.18,
"totalPrice": 105.13, "totalPriceWithTaxes": 128.18, "freeCancellation": false, "freeCancellationUntil": null }
],
"priceText": "$105",
"googleCurrency": null,
"exchangeRate": null,
"entityId": "ChcIhpronI2bp7cBGgsvZy8xdmc2dDB6NRAB",
"hotelUrl": "https://www.google.com/travel/hotels/entity/ChcIhpronI2bp7cBGgsvZy8xdmc2dDB6NRAB/prices?hl=en&gl=us&ts=...",
"input": "ChcIhpronI2bp7cBGgsvZy8xdmc2dDB6NRAB",
"scrapedAt": "2026-10-01T13:53:51+00:00",
"error": null
}
  • price and price2 are the per-night price before and after taxes and fees, rounded. pricePerNight, pricePerNightWithTaxes, totalPrice and totalPriceWithTaxes are exact. A total is for the whole stay.
  • rank 1 is the cheapest site for that hotel and date, and isCheapest marks every site at the lowest price.
  • isOfficial is the hotel's own website. isAd is a sponsored listing.
  • bookingUrl goes straight to the booking site's page for the hotel and dates. otaUrl is Google's link to it.
  • rooms lists room types with their prices and free-cancellation terms when Google shows them (mostly for the hotel's own site and sponsored listings).
  • When a date has no prices (sold out, or no site lists the hotel), you get one row with error set and no charge.

One row per hotel (searches, or Output: "One row per hotel and date")

{
"query": "hotels in London",
"rank": 1,
"name": "Hilton London Paddington",
"hotelClass": 4,
"hotelClassText": "4-star hotel",
"rating": 4,
"reviewCount": 4649,
"checkInDate": "2026-11-10",
"checkOutDate": "2026-11-12",
"nights": 2,
"adults": 2,
"currency": "USD",
"pricePerNight": 309.19,
"pricePerNightWithTaxes": 368.62,
"totalPrice": 618.38,
"totalPriceWithTaxes": 737.24,
"priceText": "$309",
"dealText": null,
"cheapestProvider": "KAYAK.com",
"prices": [{ "provider": "KAYAK.com", "isOfficial": false, "pricePerNight": 309.19, "...": "..." }],
"address": "146 Praed St, London W2 1EE, United Kingdom",
"phone": "+44 20 7850 0500",
"website": "https://www.hilton.com/en/hotels/lonpdhi-hilton-london-paddington/",
"latitude": 51.5157041,
"longitude": -0.1758593,
"countryCode": "GB",
"checkInTime": "4:00 PM",
"checkOutTime": "12:00 PM",
"description": "Art deco-style rooms in a 19th-century hotel offering a restaurant, a bar & a fitness centre.",
"descriptionLong": "Set in a 19th-century building connected to Paddington Station, ...",
"ratingBreakdown": { "1": 303, "2": 231, "3": 608, "4": 1343, "5": 2164 },
"reviewAspects": [{ "aspect": "Location", "mentions": 756, "positive": 632, "negative": 62 }],
"otherRatings": [{ "source": "Tripadvisor", "rating": 3.8, "outOf": 5, "reviews": 5939 }],
"nearbyPlaces": [{ "name": "Hyde Park", "travelTimes": { "walking": "11 min", "transit": "12 min" } }],
"thumbnailUrl": "https://lh3.googleusercontent.com/...",
"photos": ["https://lh3.googleusercontent.com/..."],
"googleMapsUrl": "https://www.google.com/maps?cid=574977390524767931",
"entityId": "ChUIu73w4L7crv0HGgkvbS8wZDI1cl8QAQ",
"hotelUrl": "https://www.google.com/travel/hotels/entity/ChUIu73w4L7crv0HGgkvbS8wZDI1cl8QAQ/prices?...",
"error": null
}
  • pricePerNight ... totalPriceWithTaxes are the lowest price Google shows, and dealText is its note when the price is low for the hotel ("36% less than usual").
  • prices has every booking site's price (the same fields as the rows above). For searches it's filled when Every booking site's price for searched hotels is on.
  • A search's hotels come in Google's order (rank). Some fields (address, phone, long description) are only in a hotel's full record: they're always there for hotels you list, and for searched hotels with every booking site's price on.

Pricing

Pay per result, no start fee:

Price
A price (one booking site's price for one hotel and date)$0.80 per 1,000
A hotel from a search (with its lowest price)$1.50 per 1,000
Rows without prices, and errorsfree

Examples: one hotel's prices on about 20 booking sites for the next 30 check-in dates comes to about 600 prices, or $0.48. 100 hotels from a search cost $0.15. Apify's platform usage is included.

Set a maximum cost per run in the run options to cap the spend: the run stops when it gets there.

Input examples

Every booking site's price for one hotel, for each of the next 30 check-in dates

{ "hotels": ["Hilton London Paddington"], "days": 30 }

Several hotels, 3-night stays from 20 December, 1 adult, in euros

{ "hotels": ["https://www.google.com/travel/hotels/entity/ChcIhpronI2bp7cBGgsvZy8xdmc2dDB6NRAB", "The Plaza New York", "https://www.google.com/maps?cid=574977390524767931"],
"checkInDate": "2026-12-20", "nights": 3, "adults": 1, "currency": "EUR" }

The top 100 hotels for a search, with their lowest prices

{ "searchQueries": ["hotels in Paris"], "maxHotels": 100, "checkInDate": "2026-11-10" }

The top 10 hotels for a search, with every booking site's price

{ "searchQueries": ["hotels near Shibuya Tokyo"], "maxHotels": 10, "includeAllPrices": true }

Same input as other Google Hotels price scrapers (entity, checkInDate, days, adults, currency, device, proxyConfig)

{ "entity": "ChcIhpronI2bp7cBGgsvZy8xdmc2dDB6NRAB", "checkInDate": "2026-11-10", "days": 7, "adults": 2, "currency": "USD", "device": "desktop" }

Good to know

  • Currency: Google prices hotels in the currency of the country the request comes from: US dollars with the default Apify Proxy. When you ask for another currency, prices are converted at the day's ECB reference rate, and the rows show googleCurrency and exchangeRate. (priceText stays as Google wrote it.) For prices exactly as shown in a country, with its currency and tax rules (in Europe prices include taxes), use a residential proxy from that country.
  • Dates: Google has prices for about a year ahead. A stay can be 1 to 30 nights. When Google has no prices for a date it shows other dates; the Actor spots that and returns a free row with an error rather than wrong prices.
  • Guests: prices and the booking sites offering them change with the number of adults. Children aren't supported.
  • Hotel names: the best results come from the name with the city ("ibis Paris Gare du Nord"). When the name isn't exact, the Actor takes the closest hotel Google lists for it and says so in the log. If nothing matches, the row has an error (and no charge). For bulk work, Google Hotels links, entity IDs and Google Maps links are exact.
  • Speed: about 70 prices a second (7,400 prices for 10 hotels × 30 dates in under 2 minutes). Up to 5 dates of one hotel come in one request to Google.
  • Proxy: Apify Proxy (datacenter) is on by default and works well.
  • Public data only: everything comes from Google Hotels as a logged-out visitor sees it. No Google account, no login, no personal data.

Other Actors by Wulfcare Data