# Google Hotels Search

Search for hotels by location with comprehensive filtering options. Supports price range, star rating, free cancellation, and sorting options. Use the <a href="/docs/google-hotels-api/google_hotels_autocomplete">Google Hotels Autocomplete</a> endpoint to get valid location suggestions and property tokens for this endpoint.

- **Documentation:** [https://scrappa.co/docs/google-hotels-api/google_hotels_search](https://scrappa.co/docs/google-hotels-api/google_hotels_search)
- **API group:** Google Hotels API
- **Endpoint:** `GET https://scrappa.co/api/google-hotels/search`

## Authentication

Send your Scrappa API key in the `X-API-KEY` request header. Paid endpoints also support accountless x402 payments when called without an API key.

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `q` | string | Yes | Location query for hotel search (e.g., "Paris, France", "Near Eiffel Tower") |
| `check_in_date` | string | Yes | Check-in date in YYYY-MM-DD format (must be today or future date) |
| `check_out_date` | string | Yes | Check-out date in YYYY-MM-DD format (must be after check-in date) |
| `adults` | integer | No | Number of adult guests (1-10) |
| `children` | integer | No | Number of children (0-6) |
| `currency` | string | No | 3-letter currency code for prices (e.g., USD, EUR, GBP) |
| `gl` | string | No | 2-letter country code for localization (e.g., us, gb, de, fr) |
| `hl` | string | No | 2-letter language code for results (e.g., en, es, fr, de) |
| `sort_by` | integer | No | Sort order: 3 (price lowest first), 8 (rating highest first), 13 (most reviewed first) |
| `min_price` | integer | No | Minimum price per night filter |
| `max_price` | integer | No | Maximum price per night filter (must be greater than min_price) |
| `hotel_class` | array | No | Filter by hotel star rating IDs (comma-separated): 2, 3, 4, or 5 |
| `rating` | integer | No | Minimum guest rating filter: 7 (3.5+), 8 (4.0+), 9 (4.5+) |
| `amenities` | array | No | Filter by amenity IDs (SerpAPI list, comma-separated). Example: 35 (Free Wi-Fi), 9 (Free breakfast), 15 (Bar) |
| `free_cancellation` | boolean | No | Filter for hotels with free cancellation (true/false) |
| `children_ages` | array | No | Comma-separated children ages (1-17 years old). Count must match children. |
| `vacation_rentals` | boolean | No | Filter for vacation rental properties only (Airbnb-style properties) instead of hotels |
| `eco_certified` | boolean | No | Filter for eco-certified/sustainable hotels only |
| `special_offers` | boolean | No | Filter for hotels with special offers/deals |
| `property_types` | array | No | Filter by property type IDs (SerpAPI list, comma-separated). Example: 12 (Beach hotels), 1 (Apartments) |
| `brands` | array | No | Filter by brand IDs (use brands[].id from response) |
| `bedrooms` | integer | No | Minimum number of bedrooms (1-20, vacation rentals only) |
| `bathrooms` | integer | No | Minimum number of bathrooms (1-20, vacation rentals only) |
| `next_page_token` | string | No | Pagination token from previous response |
| `property_token` | string | No | Property token for a specific hotel (from search results) |
| `engine` | string | No | SerpAPI-compatible engine identifier. Only google_hotels is accepted. |

## Example request

```bash
#!/bin/bash

curl -X GET \
    -H "x-api-key: YOUR_API_KEY_HERE" \
    "https://scrappa.co/api/google-hotels/search?q=Paris%2C+France&check_in_date=2026-09-15&check_out_date=2026-09-18&currency=EUR&gl=fr"
```

## Example response

```json
{
    "properties": []
}
```

## More Scrappa resources

- [API documentation](https://scrappa.co/docs)
- [Full LLM-readable API reference](https://scrappa.co/llms-full.txt)
- [OpenAPI specification](https://scrappa.co/docs/api.json)
- [Pricing](https://scrappa.co/pricing)
