> ## Documentation Index
> Fetch the complete documentation index at: https://docs.scrapeunblocker.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Scrape Google Hotels search results (prices, ratings, amenities)

> Runs a Google Hotels search for `q` and returns the properties as JSON: `name`, `type` (hotel / vacation_rental), `propertyToken`, `price` for the stay (`perNight`, `perNightWithTaxes`, `total`, `totalWithTaxes`, `taxes`, Google's `display` string), `deal`, `rating`, `reviews`, `ratingsBreakdown`, `reviewTopics`, `hotelClass`, `stars`, `amenities`, `description`, `website`, `latitude`/`longitude`, `nearbyPlaces`, `thumbnail`, `images` and `mapsUrl`, plus the page's sponsored `ads`. A query naming one hotel returns just that hotel (`matchedProperty`). Set the stay with `check_in`/`check_out`, the party with `adults` and `children` (ages), and `currency`, `hl` (language) and `gl` (market). `applied` echoes the dates, currency and place Google actually used. Collect up to `max_results` across pages (each Google page is billed as one request, see `pagesFetched`); `nextPageToken` continues the list. Pass a `propertyToken` to `/travel/google-hotels-property` for every booking site's price.



## OpenAPI

````yaml /api-reference/openapi.json post /travel/google-hotels
openapi: 3.1.0
info:
  title: ScrapeUnblocker API
  description: >-
    Public API for the ScrapeUnblocker proxy/anti-bot service. Authenticate
    every request with the `x-scrapeunblocker-key` header. Documented here:
    page-source extraction, Google SERP scraping, image fetch, and the dedicated
    plugin endpoints (search engines, marketplaces, reviews, travel, social and
    more). All other paths exist for internal operations and are intentionally
    hidden from this spec.
  version: 3.0.0
servers:
  - url: https://api.scrapeunblocker.com
    description: Production
security: []
paths:
  /travel/google-hotels:
    post:
      tags:
        - Plugins
      summary: Scrape Google Hotels search results (prices, ratings, amenities)
      description: >-
        Runs a Google Hotels search for `q` and returns the properties as JSON:
        `name`, `type` (hotel / vacation_rental), `propertyToken`, `price` for
        the stay (`perNight`, `perNightWithTaxes`, `total`, `totalWithTaxes`,
        `taxes`, Google's `display` string), `deal`, `rating`, `reviews`,
        `ratingsBreakdown`, `reviewTopics`, `hotelClass`, `stars`, `amenities`,
        `description`, `website`, `latitude`/`longitude`, `nearbyPlaces`,
        `thumbnail`, `images` and `mapsUrl`, plus the page's sponsored `ads`. A
        query naming one hotel returns just that hotel (`matchedProperty`). Set
        the stay with `check_in`/`check_out`, the party with `adults` and
        `children` (ages), and `currency`, `hl` (language) and `gl` (market).
        `applied` echoes the dates, currency and place Google actually used.
        Collect up to `max_results` across pages (each Google page is billed as
        one request, see `pagesFetched`); `nextPageToken` continues the list.
        Pass a `propertyToken` to `/travel/google-hotels-property` for every
        booking site's price.
      operationId: google_hotels_travel_google_hotels_post
      parameters:
        - name: q
          in: query
          required: false
          schema:
            type: string
            description: >-
              What to search, as on Google Hotels: a place ('hotels in Paris',
              'Lisbon'), an area or landmark, or a hotel name.
            default: ''
            title: Q
          description: >-
            What to search, as on Google Hotels: a place ('hotels in Paris',
            'Lisbon'), an area or landmark, or a hotel name.
        - name: check_in
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Check-in date, YYYY-MM-DD. Leave check_in and check_out empty for
              Google's default stay.
            title: Check In
          description: >-
            Check-in date, YYYY-MM-DD. Leave check_in and check_out empty for
            Google's default stay.
        - name: check_out
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Check-out date, YYYY-MM-DD (stays of up to 30 nights).
            title: Check Out
          description: Check-out date, YYYY-MM-DD (stays of up to 30 nights).
        - name: adults
          in: query
          required: false
          schema:
            type: integer
            description: Number of adults (1-10).
            default: 2
            title: Adults
          description: Number of adults (1-10).
        - name: children
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: Ages of the children, comma-separated, e.g. '7,10' (up to 6).
            title: Children
          description: Ages of the children, comma-separated, e.g. '7,10' (up to 6).
        - name: currency
          in: query
          required: false
          schema:
            type: string
            description: Price currency, ISO 4217 (USD, EUR, GBP, ...).
            default: USD
            title: Currency
          description: Price currency, ISO 4217 (USD, EUR, GBP, ...).
        - name: hl
          in: query
          required: false
          schema:
            type: string
            description: >-
              Language of names, amenities and price formats, e.g. 'en', 'de',
              'fr'.
            default: en
            title: Hl
          description: >-
            Language of names, amenities and price formats, e.g. 'en', 'de',
            'fr'.
        - name: gl
          in: query
          required: false
          schema:
            type: string
            description: >-
              Market (2-letter country). Google localizes the booking sites to
              it.
            default: us
            title: Gl
          description: Market (2-letter country). Google localizes the booking sites to it.
        - name: page_token
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              `nextPageToken` of a previous response, to continue where it
              stopped.
            title: Page Token
          description: >-
            `nextPageToken` of a previous response, to continue where it
            stopped.
        - name: max_results
          in: query
          required: false
          schema:
            type: integer
            description: >-
              Properties to collect (1-100). Google serves about 20 per page;
              each page is billed as one request.
            default: 20
            title: Max Results
          description: >-
            Properties to collect (1-100). Google serves about 20 per page; each
            page is billed as one request.
      responses:
        '200':
          description: >-
            JSON with a `properties` array, `ads`, paging and the search Google
            applied.
          content:
            application/json:
              schema: {}
        '400':
          description: Invalid parameters.
        '404':
          description: Google Hotels returned no properties for the search.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '502':
          description: >-
            Blocked by Google on every attempt, no results page returned, or the
            call did not finish in time.
      security:
        - ScrapeUnblockerKey: []
components:
  schemas:
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    ScrapeUnblockerKey:
      type: apiKey
      in: header
      name: x-scrapeunblocker-key
      description: Your ScrapeUnblocker API key. Apply on every request.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.