Google Hotels Scraper & Price Tracker avatar

Google Hotels Scraper & Price Tracker

Pricing

from $4.00 / 1,000 hotels

Go to Apify Store
Google Hotels Scraper & Price Tracker

Google Hotels Scraper & Price Tracker

The Google Hotels Scraper extracts hotels for any destination, hotel name or URL: nightly and total prices, star class, ratings, reviews, location, amenities and every booking provider's price, plus a price calendar across a range of check-in dates. For rate monitoring and revenue management.

Pricing

from $4.00 / 1,000 hotels

Rating

0.0

(0)

Developer

FalconScrape

FalconScrape

Maintained by Community

Actor stats

1

Bookmarked

1

Total users

0

Monthly active users

a day ago

Last modified

Share

🚀 Google Hotels Scraper

Extract Google Hotels search results for any destination and any dates as clean, structured JSON. The Google Hotels Scraper turns a query like hotels in Berlin plus a check-in / check-out date into a list of hotels with nightly and total prices, star class, Google rating and review count, review highlights, location, amenities, images and — optionally — every booking provider's offer (Booking.com, Expedia, Hotels.com, the hotel's own site…). Switch on the price calendar to track the same hotels over the next 30, 90 or 365 check-in dates. Built for rate monitoring, revenue management, travel market research and price comparison.

✨ Features

  • 💰 Live prices for your dates: Nightly price, stay total and the tax / fee breakdown in the currency you choose (USD, EUR, GBP…).
  • ⭐ Quality signals: Star class, Google rating, review count and per-topic review highlights (Service, Location, Breakfast… with positive / negative mention counts).
  • 📍 Property details: Coordinates, website, check-in / check-out times, description, amenities, thumbnail and photo URLs, Google Hotels link.
  • 🏷️ Booking offers (optional): Every provider Google lists for the stay (often 15–25), the hotel's official-site rate flagged, free-cancellation deadlines, plus perks and room-level prices for featured providers — one extra request per hotel.
  • 📅 Price calendar: Set priceCalendarDays and every hotel gets one row per check-in date with every provider's price — a whole city or one hotel, over a date range, in one run.
  • 🔎 Any query, deep pagination: Destinations, neighbourhoods, landmarks, hotel names or Google Travel hotel URLs; 20 hotels per page, as many pages as you ask for, de-duplicated.
  • 💸 Pay per result: You pay per hotel row, plus a small fee per hotel when you switch offers on.

🛠️ How It Works

  1. Enter queries – One per line in queries, exactly as you would type them into Google Hotels: hotels in Berlin, hotels near Times Square, Ritz-Carlton Berlin.
  2. Pick the stay – checkIn, checkOut (YYYY-MM-DD), adults and currency. Leave the dates empty for a 2-night stay 30 days from now.
  3. Choose depth – maxHotels per query (default 40), maxItems overall, and includeOffers to add every provider's rate per hotel.
  4. Track a date range (optional) – priceCalendarDays: 30 repeats the stay for 30 consecutive check-in dates (same stay length). Combine with a hotel name or URL to follow one property, or with a destination and a small maxHotels for a competitive set. maxItems counts hotel × date rows.
  5. Run the scraper – Results stream into the dataset as JSON, CSV or Excel.

💰 Pricing

EventPriceWhat you get
hotel$0.004One hotel row with prices, rating, reviews, location, amenities and images
hotel-offers$0.006Per hotel row with offers (includeOffers or the price calendar): every provider's rate

Example: 5 destinations × 40 hotels = 200 rows = $0.80; the same with offers = $0.80 + $1.20 = $2.00. Price calendar: 1 hotel × 30 dates = 30 rows with offers = $0.30. Rows where Google lists no provider are not billed the offers fee.

⚠️ Good to know

  • Prices are for the exact stay you enter (dates, number of adults, currency). Change the dates and you get different prices — that is the point.
  • Google sorts results by relevance and the ranking shifts slightly between requests, so treat the output as "up to N hotels for this query", not a fixed top N.
  • starClass is empty for properties Google does not classify (hostels, apartments, private rooms). address and phone are present when Google exposes them in the results list.
  • Offer links open Google's booking redirect for that provider and stay.
  • Provider prices are per night, as Google shows them for the stay; nightlyPrice on the row is the lowest of them. A calendar date with no offers usually means the hotel is sold out or not bookable through Google for that stay.

📊 Sample Output Data

[
{
"type": "hotel",
"name": "The Ritz-Carlton, Berlin",
"hotelToken": "ChgIveLHqY3365ykARoLL2cvMTIzMjYwN3gQAQ",
"hotelId": "4242520988797572998",
"url": "https://www.google.com/travel/hotels/entity/ChgIveLHqY3365ykARoLL2cvMTIzMjYwN3gQAQ",
"starClass": 5,
"starClassText": "5-star hotel",
"rating": 4.6,
"reviews": 3266,
"reviewAspects": [
{ "aspect": "Service", "mentions": 359, "positive": 304, "negative": 43 },
{ "aspect": "Bar or lounge", "mentions": 131, "positive": 107, "negative": 16 },
{ "aspect": "Food and Beverage", "mentions": 122, "positive": 98, "negative": 18 }
],
"nightlyPrice": 306,
"nightlyPriceText": "$306",
"totalPrice": 611,
"totalPriceText": "$611",
"priceBreakdown": { "base": 611.34, "taxes": 88.63, "fees": 0, "total": 699.97 },
"currency": "USD",
"checkIn": "2026-11-05",
"checkOut": "2026-11-07",
"adults": 2,
"latitude": 52.5103836,
"longitude": 13.3752744,
"address": null,
"phone": null,
"website": "https://www.ritzcarlton.com/en/hotels/berzt-the-ritz-carlton-berlin/overview/",
"checkInTime": "3:00 PM",
"checkOutTime": "12:00 PM",
"thumbnailUrl": "https://lh3.googleusercontent.com/gps-cs-s/AHRPTWk5zfVHHjlQmJbeLsvNYEYgHwn8xd3u6BT11fLQe1YDpeaiMg2CrJy1t17II-DIfaZvthoqsWylogzQAa3=s287-w287-h192-n-k-no-v1",
"images": [
"https://lh3.googleusercontent.com/gps-cs-s/AHRPTWk5zfVHHjlQmJbeLsvNYEYgHwn8xd3u6BT11fLQe1YDpeaiMg2CrJy1t17II-DIfaZvthoqsWylogzQAa3=s287-w287-h192-n-k-no-v1",
"https://lh3.googleusercontent.com/gps-cs-s/AHRPTWnNA5s7ZkTzx0hQZENLCtcR3MljauMyorln97u4XEvOMJhb9Yo2nlSNt5bH_HwCZrfs5hGqvZEwqbatbBa=s287-w287-h192-n-k-no-v1"
],
"amenities": [],
"description": "Contemporary upscale hotel with plush quarters, plus fine German dining, elegant lounges & a pool.",
"featuredProvider": null,
"query": "hotels in Berlin",
"scrapedAt": "2026-09-11T11:00:47.072Z",
"offers": [
{
"provider": "Hotels.com",
"isOfficial": false,
"nightlyPrice": 367,
"nightlyPriceText": "$367",
"freeCancellationUntil": "Sep 11 11:59 PM",
"url": "https://www.google.com/aclk?sa=l&ai=DChsSEwiyuOv5r-aWAxWZKEQIHa7oCMUYACICCAEQFxoCZHo&co=1&ase=2&gclid=…",
"perks": ["Save on the app", "Earn rewards everywhere"],
"rooms": [
{
"name": "1 king bed",
"features": ["Free cancellation until Sep 11", "2 guests", "Free Wi-Fi"],
"priceText": "$367",
"price": 367
}
]
},
{
"provider": "Expedia.com",
"nightlyPrice": 367,
"nightlyPriceText": "$367",
"url": "https://www.google.com/aclk?sa=l&ai=DChsSEwj7sev5r-aWAxUUOkQIHfsPOZMYACICCAEQFxoCZHo&co=1&ase=2&gclid=…",
"perks": ["Earn rewards on this stay", "Save with free membership"],
"rooms": [
{
"name": "1 king bed",
"features": ["Free cancellation until Sep 11", "2 guests", "Free Wi-Fi"],
"priceText": "$367",
"price": 367
}
]
}
]
}
]

Track hotel rates for any city and any dates with the Google Hotels Scraper today! 🚀