> ## 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 TripAdvisor reviews (hotels / restaurants / attractions)

> Given a TripAdvisor place review `url` (Hotel_Review, Restaurant_Review, Attraction_Review or AttractionProductReview, any TripAdvisor site) or a `location_id`, returns the place summary (`name`, `type`, `rating`, `reviewsCount`, `ratingHistogram`, `subratings`, `address`, `coordinates`, `phone`, `website`) and its `reviews`: `title`, `text`, `rating`, `publishedDate`, `travelDate`, `tripType`, `language`, `helpfulVotes`, `user`, `subratings`, `photos` and `ownerResponse`. Newest first; pages through TripAdvisor's review pages up to `max_reviews`. Pick the review language with `language` and cut off old reviews with `since`. Billed one unit per review page fetched (`pagesFetched`).



## OpenAPI

````yaml /api-reference/openapi.json post /travel/tripadvisor-reviews
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/tripadvisor-reviews:
    post:
      tags:
        - Plugins
      summary: Scrape TripAdvisor reviews (hotels / restaurants / attractions)
      description: >-
        Given a TripAdvisor place review `url` (Hotel_Review, Restaurant_Review,
        Attraction_Review or AttractionProductReview, any TripAdvisor site) or a
        `location_id`, returns the place summary (`name`, `type`, `rating`,
        `reviewsCount`, `ratingHistogram`, `subratings`, `address`,
        `coordinates`, `phone`, `website`) and its `reviews`: `title`, `text`,
        `rating`, `publishedDate`, `travelDate`, `tripType`, `language`,
        `helpfulVotes`, `user`, `subratings`, `photos` and `ownerResponse`.
        Newest first; pages through TripAdvisor's review pages up to
        `max_reviews`. Pick the review language with `language` and cut off old
        reviews with `since`. Billed one unit per review page fetched
        (`pagesFetched`).
      operationId: tripadvisor_reviews_travel_tripadvisor_reviews_post
      parameters:
        - name: url
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              TripAdvisor place review page on any TripAdvisor site:
              Hotel_Review, Restaurant_Review, Attraction_Review or
              AttractionProductReview, e.g.
              https://www.tripadvisor.com/Hotel_Review-g60763-d93589-Reviews-The_Michelangelo_New_York-New_York_City_New_York.html.
              Pass this or `location_id`.
            title: Url
          description: >-
            TripAdvisor place review page on any TripAdvisor site: Hotel_Review,
            Restaurant_Review, Attraction_Review or AttractionProductReview,
            e.g.
            https://www.tripadvisor.com/Hotel_Review-g60763-d93589-Reviews-The_Michelangelo_New_York-New_York_City_New_York.html.
            Pass this or `location_id`.
        - name: location_id
          in: query
          required: false
          schema:
            anyOf:
              - type: integer
                minimum: 1
              - type: 'null'
            description: >-
              TripAdvisor location id (the digits after -d in a place URL, e.g.
              93589). Pass this or `url`.
            title: Location Id
          description: >-
            TripAdvisor location id (the digits after -d in a place URL, e.g.
            93589). Pass this or `url`.
        - name: max_reviews
          in: query
          required: false
          schema:
            type: integer
            maximum: 200
            minimum: 1
            description: >-
              How many reviews to collect across pages (1-200). TripAdvisor
              shows 10 reviews per page (15 for restaurants); each page is one
              billed unit.
            default: 20
            title: Max Reviews
          description: >-
            How many reviews to collect across pages (1-200). TripAdvisor shows
            10 reviews per page (15 for restaurants); each page is one billed
            unit.
        - name: page
          in: query
          required: false
          schema:
            type: integer
            maximum: 500
            minimum: 1
            description: >-
              1-based review page to start from (10 reviews per page, 15 for
              restaurants). Use the `nextPage` of a previous response to
              continue.
            default: 1
            title: Page
          description: >-
            1-based review page to start from (10 reviews per page, 15 for
            restaurants). Use the `nextPage` of a previous response to continue.
        - name: language
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Review language, which TripAdvisor ties to its site: en, de, fr,
              it, es, pt, nl, ja, ko, ru, sv, tr, da. Default: the language of
              the URL's site (tripadvisor.com = en), or - when that site lists
              no reviews for the place - the place's most-reviewed of these
              languages. Reviews written in other languages appear
              machine-translated, flagged by `isMachineTranslated` and
              `originalLanguage`.
            title: Language
          description: >-
            Review language, which TripAdvisor ties to its site: en, de, fr, it,
            es, pt, nl, ja, ko, ru, sv, tr, da. Default: the language of the
            URL's site (tripadvisor.com = en), or - when that site lists no
            reviews for the place - the place's most-reviewed of these
            languages. Reviews written in other languages appear
            machine-translated, flagged by `isMachineTranslated` and
            `originalLanguage`.
        - name: since
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Only reviews published on or after this date (YYYY-MM-DD). Stops
              paging once older reviews start, so it also saves pages.
            title: Since
          description: >-
            Only reviews published on or after this date (YYYY-MM-DD). Stops
            paging once older reviews start, so it also saves pages.
        - name: proxy_country
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Exit-IP country (ISO-2). Leave blank: a pinned country cannot use
              the warm browser windows and is much slower.
            title: Proxy Country
          description: >-
            Exit-IP country (ISO-2). Leave blank: a pinned country cannot use
            the warm browser windows and is much slower.
      responses:
        '200':
          description: JSON with `place`, a `reviews` array, totals and `nextPage`.
          content:
            application/json:
              schema: {}
        '400':
          description: Invalid parameters / not a TripAdvisor place review URL.
        '404':
          description: TripAdvisor has no place at that URL / location id.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '502':
          description: Blocked by TripAdvisor or no review list on the page.
        '504':
          description: Fetch timed out.
      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.