Google Hotels Extractor Fast & affordable avatar

Google Hotels Extractor Fast & affordable

Pricing

from $1.99 / 1,000 results

Go to Apify Store
Google Hotels Extractor Fast & affordable

Google Hotels Extractor Fast & affordable

Google Hotels scraper that pulls live prices, guest ratings, review counts, and locations for any city and date range. No login or API key needed. It walks the full result list and exports clean JSON or CSV for price tracking, travel research, and SEO work.

Pricing

from $1.99 / 1,000 results

Rating

0.0

(0)

Developer

Kawsar

Kawsar

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Google Hotels Extractor: Scrape Hotel Prices, Ratings, and Reviews

Google Hotels Extractor pulls live hotel listings straight from Google Hotels search results. Give it a city and your travel dates, and it returns hotel names, nightly prices, star ratings, review counts, map coordinates, descriptions, and photos as structured data you can download in JSON, CSV, or Excel, or send to another app.

It runs on plain HTTP requests, not a browser. That makes it fast, cheap to run, and free of logins, cookies, or API keys. A typical search finishes in seconds, and one run can collect hundreds of unique hotels per location.

What data does this actor extract?

For every hotel in the search results you get:

  • Hotel name and star class (for example, 4-star hotel)
  • Nightly price for your dates, as displayed and as a plain number, in your chosen currency
  • A reference rate when Google shows one, so you can spot deals
  • Guest rating out of 5 and the total review count
  • Latitude, longitude, and the Google place id
  • A short description and the main photo URL
  • A Google Maps link and a Google Hotels link for the exact property
  • The search location, your check-in and check-out dates, and a scrape timestamp

Use cases

  • Hotel price tracking: watch how nightly rates for a city move across different check-in and check-out dates
  • Travel market research: compare hotel prices, ratings, and star classes across several cities in one run
  • Revenue management: benchmark your property against nearby competitors on price and guest rating
  • SEO and content work: pull real hotel data for travel guides, comparison pages, and destination articles
  • Lead generation: build lists of hotels with locations and ratings for a target market
  • Data science: feed clean, structured hotel data into pricing models and dashboards

Input

ParameterTypeDefaultDescription
locationsarray["New York"]One or more places to search, one per line. Cities work best; neighborhoods work too.
checkInDatestring2026-08-01Check-in date in YYYY-MM-DD format. Prices are returned for this stay.
checkOutDatestring2026-08-03Check-out date in YYYY-MM-DD format. Must be after check-in.
adultsinteger2Number of adult guests.
currencystringUSDThree-letter currency code for prices: USD, EUR, GBP, JPY, BDT, and any other code Google supports.
languageCodestringenInterface language for results, for example en, fr, de, es.
countryCodestringusTwo-letter search region, for example us, gb, fr, bd.
maxResultsinteger20Upper limit on hotels stored per location. Raise it up to 1000 for large extractions.
requestTimeoutSecsinteger30Timeout for each request to Google.
proxyConfigurationobjectDatacenter (Anywhere)Proxy type and location for requests. Supports Datacenter, Residential, Special, and custom proxies. Optional; the actor falls back to a direct connection if the proxy fails.

Example input

{
"locations": ["New York", "Paris"],
"checkInDate": "2026-08-01",
"checkOutDate": "2026-08-03",
"adults": 2,
"currency": "USD",
"languageCode": "en",
"countryCode": "us",
"maxResults": 100,
"proxyConfiguration": { "useApifyProxy": true }
}

Output

The actor stores results in a dataset. Each hotel is one record:

{
"name": "The Manhattan at Times Square Hotel",
"price": "$196",
"priceValue": 196.22,
"currency": "USD",
"compareRate": 350,
"rating": 3.0,
"reviewCount": 10116,
"hotelClass": "4-star hotel",
"starRating": 4,
"latitude": 40.7622856,
"longitude": -73.9826404,
"placeId": "0x89c258f88254f2c3:0xe0e14597c5400022",
"hotelDescription": "Polished hotel offering streamlined rooms & suites, plus a marble-clad lobby lounge & a gym.",
"imageUrl": "https://lh5.googleusercontent.com/proxy/...",
"googleMapsUrl": "https://www.google.com/maps?cid=16204681299999999999",
"googleHotelsUrl": "https://www.google.com/travel/search?q=The+Manhattan+at+Times+Square+Hotel+New+York",
"location": "New York",
"checkInDate": "2026-08-01",
"checkOutDate": "2026-08-03",
"scrapedAt": "2026-07-11T10:34:32+00:00"
}
FieldTypeDescription
namestringHotel name.
pricestringNightly price with currency symbol.
priceValuenumberNightly price as a plain number, ready for spreadsheets and models.
currencystringCurrency the price is quoted in.
compareRatenumberReference rate Google compares the deal against, when shown.
ratingnumberAverage guest rating out of 5, computed from the review breakdown.
reviewCountintegerTotal number of guest reviews.
hotelClassstringStar class label, for example 4-star hotel.
starRatingintegerNumeric star class from 1 to 5, when published.
latitudenumberHotel latitude.
longitudenumberHotel longitude.
placeIdstringGoogle place identifier, useful for joining with other Google data.
hotelDescriptionstringShort description of the hotel.
imageUrlstringMain hotel photo URL.
googleMapsUrlstringGoogle Maps link to the exact property.
googleHotelsUrlstringGoogle Hotels search link for the property, to compare rates and book.
locationstringSearch location the hotel was returned for.
checkInDatestringCheck-in date used for the price.
checkOutDatestringCheck-out date used for the price.
scrapedAtstringUTC time the record was collected.

How it works

  1. For each location, the actor loads Google's hotel search page once and reads the current search configuration from it, so nothing is hardcoded and the actor keeps working when Google changes internal identifiers.
  2. It then calls the same data endpoint the Google Hotels page itself uses, with your dates, guests, currency, language, and region.
  3. It follows Google's own next-page tokens to walk through the full result list, about 20 hotels per page.
  4. If the list ends before your maxResults, it runs extra passes with different serving orders. Each order surfaces hotels the previous pass never showed.
  5. Every record is deduplicated by place id, cleaned, and stored in your dataset.

How to use

  1. Open the actor on Apify and press Try for free.
  2. Enter one or more locations, your dates, and the number of hotels you want.
  3. Press Start. A run for the default 20 hotels takes well under a minute.
  4. Download the results from the Dataset tab as JSON, CSV, Excel, or HTML, or fetch them through the Apify API.

You can also schedule the actor to run daily or weekly to track prices over time, and connect a webhook to get notified when results are ready.

Tips for better results

  • Ask for what you need. maxResults: 20 answers most questions in seconds; maxResults: 500 is there when you need depth.
  • Prices depend on dates. Weekend and holiday stays often price higher, so keep dates consistent when comparing runs.
  • Set currency and countryCode together for the cleanest localized results, for example EUR with fr, or BDT with bd.
  • Several small areas can beat one big one. Searching "Manhattan", "Brooklyn", and "Queens" separately gives finer control than "New York" alone.
  • The default Datacenter proxy is fine for most runs. If you see request failures, switch to Residential in the proxy section.

FAQ

Do I need a Google account or API key? No. The actor works without any login, cookies, or key.

How many hotels can it return per location? As many as Google serves for that search, up to your maxResults. The actor walks the full paginated list and then widens coverage with extra passes, so even a single neighborhood search can produce 500+ unique hotels. If a small town only has 40 hotels, you get all 40.

Are the prices real? Prices come from the same data Google shows on its own Hotels page for your exact dates, guests, and currency. They include the nightly display price and a numeric value. Availability and rates change constantly, so treat each run as a snapshot in time.

Can I search more than one city at once? Yes. Add several entries to locations and the actor searches each one in turn, tagging every record with its search location.

Which currencies and languages work? Any currency code Google Hotels supports (USD, EUR, GBP, JPY, BDT, INR, and more) and any interface language through languageCode.

Does it use a browser? No. It uses direct HTTP requests, which keeps runs fast and compute costs low compared to browser-based scrapers.

What happens if my proxy fails? The actor retries with a fresh proxy, then falls back to a direct connection, so a bad proxy does not produce an empty run.

Is scraping Google Hotels legal? The actor collects publicly available data only: prices, ratings, and facts that anyone can see without logging in. It stores no personal data. Still, you are responsible for how you use the results, so check the rules that apply to your project and jurisdiction.

Integrations

Connect Google Hotels Extractor with other apps and services using Apify integrations. You can integrate with Make, Zapier, Slack, Airbyte, GitHub, Google Sheets, Google Drive, and many more. You can also use webhooks to trigger actions whenever results are available, for example a Slack alert when a competitor drops prices.

Start pulling Google Hotels prices, ratings, and reviews in one run. No browser, no account, no API key required.