Google Hotels Search API - Prices & Booking Sources avatar

Google Hotels Search API - Prices & Booking Sources

Pricing

from $1.20 / 1,000 successful hotel searches

Go to Apify Store
Google Hotels Search API - Prices & Booking Sources

Google Hotels Search API - Prices & Booking Sources

Search Google Hotels prices, ratings, amenities and locations. Paginate without duplicates, export CSV-ready hotel rows, and compare booking-site offers.

Pricing

from $1.20 / 1,000 successful hotel searches

Rating

0.0

(0)

Developer

Gaurav Kumar Choudhary

Gaurav Kumar Choudhary

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Google Hotels Search API — Prices & Booking Sources

Search Google Hotels for hotel prices, ratings, amenities, locations and images. Collect multiple pages without duplicate properties, export one hotel per row, and optionally compare booking-site offers.

Quick start

{
"query": "Paris hotels",
"checkInDate": "+14d",
"checkOutDate": "+16d",
"currency": "EUR",
"limit": 20,
"maxPages": 2,
"maxHotels": 30,
"outputMode": "hotels",
"includeBookingSources": true,
"maxDetails": 3
}

Other destination examples: New York hotels, Dubai hotels, Goa hotels, or hotels near JFK airport. Use a city or landmark query—not an airport code alone. Dates accept YYYY-MM-DD or relative values such as +14d, resolved on the run date in UTC. Check-out must be after check-in.

Features and controls

  • Pagination with duplicate removal by property name and coordinates. maxPages and maxHotels cap collection; limit is the page size (1–20).
  • Optional booking-source enrichment: includeBookingSources looks up the first maxDetails properties with available detail tokens.
  • Export-friendly rows with pricePerNight, totalPrice, currency, rating, coordinates and dates. Missing prices remain null; isPriced distinguishes unavailable prices from real rates.
  • Destination, language, country and currency controls; price, hotel class, rating, amenities, property-type, free-cancellation, eco-certified and special-offer filters.
  • sortBy: 0 relevance (default), 3 lowest price, 8 highest rating, 13 most reviews.
  • Run charge limits stop additional requests. If an optional booking lookup fails, the listing results are preserved with a warning.

Prices use 2 adults and 0 children. Custom occupancy is not supported. Availability, vendor offers and prices vary by destination, dates and market. Not every property has a price or booking offers. This Actor does not make reservations or guarantee rates, availability or exhaustive inventory.

Outputs

outputMode: "hotels" stores one row per hotel in the dataset for JSON, CSV or Excel exports. outputMode: "summary" stores one response object containing properties, pagination, search_parameters, search_information and warnings.

The complete response is always saved as the key-value store record OUTPUT. Output tabs link directly to the dataset and response. search_information.successful_requests reports billable successful requests; pages_fetched counts listing pages and total_results counts unique properties.

Booking offers for one property

Copy a detail_token from a listing result and use the same dates, currency and locale:

{
"detailToken": "TOKEN_FROM_A_LISTING_RESULT",
"checkInDate": "+14d",
"checkOutDate": "+16d",
"currency": "EUR"
}

The response includes property.booking_sources, with available booking vendors and rates. A property detail request is one billable successful request.

Pricing

Pay per successful request, not per hotel row. Each successful listing page or property-offer lookup costs $0.0015 on Free, $0.0014 on Bronze, $0.0013 on Silver, and $0.0012 on Gold, Platinum or Diamond—the same request pricing as our Flights Actor. That is $1.50 to $1.20 per 1,000 successful requests, depending on your Apify plan. Check the Store pricing panel for current rates.

Example: two listing pages and three booking-source lookups are five successful requests: $0.0075 at the Free rate. A valid response with no hotels is still a successful request. Failed search requests do not trigger the successful-request charge. Setting maxDetails: 0 or disabling enrichment avoids detail lookup charges. Set your run maximum charge in Apify to control spending.

API and scheduling

Use the Actor's API tab to generate authenticated calls for your account. For a synchronous JSON response, POST your input to https://api.apify.com/v2/acts/gauravlabs~google-hotels-api/run-sync-get-dataset-items with your Apify authorization header. For larger jobs, start an asynchronous run, then download its dataset after completion. Relative dates work well with recurring Apify schedules.

Troubleshooting

INVALID_INPUT: fix the query, dates or filter values described in the message. SEARCH_UNAVAILABLE: retry later or try a simpler destination query. No private authentication values are returned in outputs or failure messages. Use the Actor's Issues tab for support and include the run URL and non-sensitive input.

This is an independent data extraction tool, not affiliated with or endorsed by Google.