SocialCrawl Tripadvisor API

Tripadvisor endpoints

Operations 2

GET /tripadvisor/reviews Get TripAdvisor reviews for a place #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/socialcrawl-tripadvisor-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

socialcrawl-tripadvisor-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: SocialCrawl Tripadvisor API
  version: 1.0.0
  description: 'Unified social media data API - one API key, one consistent response format, 50 platforms, 400 endpoints. Power AI agents with clean social data.


    Slim variant: inline examples removed and the shared error responses hoisted into components. The full annotated spec is at https://www.socialcrawl.dev/openapi.json.'
  contact:
    name: SocialCrawl
    url: https://www.socialcrawl.dev
    email: support@socialcrawl.dev
servers:
- url: https://www.socialcrawl.dev/v1
  description: Production
security:
- ApiKeyAuth: []
tags:
- name: tripadvisor
  description: Tripadvisor endpoints
paths:
  /tripadvisor/search:
    get:
      summary: Search TripAdvisor businesses & places
      description: 'Searches TripAdvisor for businesses and places (restaurants, hotels, attractions) matching a keyword in a location. Returns a unified PlaceList: each result carries the place name, category, star rating, total review count, and the `url_path` (the `id`/`url` are derived from it) that you pass to /v1/tripadvisor/reviews to pull that place''s reviews. Results are location-bound (default: United States). Sourced from DataForSEO''s task-based Business Data API; the async lifecycle is handled server-side, so this is an ordinary synchronous request (first calls take ~15-45s, then serve from cache).'
      tags:
      - tripadvisor
      operationId: get_tripadvisor_search
      security:
      - ApiKeyAuth: []
      x-credit-tier: standard
      x-credit-cost: 1
      parameters:
      - name: q
        in: query
        required: true
        description: Business category, company name, or prominent place (e.g. 'pizza restaurant').
        schema:
          type: string
      - name: location
        in: query
        required: false
        description: 'Full location name (e.g. ''New York,New York,United States''). Default: United States. Results are location-bound.'
        schema:
          type: string
      - name: language
        in: query
        required: false
        description: Optional language code to narrow results, e.g. 'en'.
        schema:
          type: string
      - name: depth
        in: query
        required: false
        description: Number of results to retrieve (multiples of 30, default 30, max 60 on this synchronous endpoint).
        schema:
          type: integer
      - name: Cache-Control
        in: header
        required: false
        description: Send `no-cache` to bypass the response cache and force a live fetch. Billed at the normal endpoint cost; the fresh result is written back to cache for the next caller. Only the `no-cache` directive triggers this. See the Response Schema guide for details.
        schema:
          type: string
      - name: Idempotency-Key
        in: header
        required: false
        description: 'Optional UUID that makes the request safely retriable. A replay keeps the cached payload immutable except for billing metadata: `credits_used` becomes 0, `idempotent_replay` becomes true, and `credits_remaining` is refreshed to the current balance. A known current balance appears in both the body and `X-Credits-Remaining` header; no balance row resolves to 0. On a transient lookup failure, body `credits_remaining` is null and `X-Credits-Remaining` is omitted. Scoped per account with a 24-hour TTL.'
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          headers:
            X-Credits-Used:
              description: Net credits charged for this response. Idempotency replays report 0.
              schema:
                type: integer
                minimum: 0
            X-Credits-Remaining:
              description: Current balance when known. On an idempotency replay, this header is omitted when the balance lookup fails; body `credits_remaining` is null instead.
              schema:
                type: integer
                minimum: 0
            X-Idempotent-Replay:
              description: Present with value `true` only when this response replays a settled idempotency record.
              schema:
                type: string
                enum:
                - 'true'
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Whether the request succeeded
                  platform:
                    type: string
                    description: Platform name
                  endpoint:
                    type: string
                    description: API endpoint path
                  data:
                    type: object
                    description: Platform-specific response data
                    properties:
                      items:
                        type: array
                        description: Array of canonical place wrappers ({ place })
                        items:
                          type: object
                          description: Canonical place wrapper
                          properties:
                            place:
                              type: object
                              description: Canonical Place object (physical/local business or hotel)
                              properties:
                                id:
                                  type: string
                                  description: Place ID (Google cid for a business, hotel_identifier for a hotel)
                                name:
                                  type:
                                  - string
                                  - 'null'
                                  description: Business / hotel name
                                url:
                                  type:
                                  - string
                                  - 'null'
                                  description: Website or canonical URL
                                category:
                                  type:
                                  - string
                                  - 'null'
                                  description: Primary category (e.g. "Coffee shop", "Hotel")
                                rating:
                                  type: object
                                  description: Aggregate rating (value + max)
                                  properties:
                                    value:
                                      type:
                                      - integer
                                      - 'null'
                                      description: Numeric at place.rating.value
                                    max:
                                      type:
                                      - integer
                                      - 'null'
                                      description: Numeric at place.rating.max
                                reviews_count:
                                  type:
                                  - integer
                                  - 'null'
                                  description: Number of ratings
                                price_level:
                                  type:
                                  - string
                                  - 'null'
                                  description: Price band ("inexpensive" / "$$" / null)
                                address:
                                  type:
                                  - string
                                  - 'null'
                                  description: String at place.address
                                phone:
                                  type:
                                  - string
                                  - 'null'
                                  description: String at place.phone
                                latitude:
                                  type:
                                  - integer
                                  - 'null'
                                  description: Numeric at place.latitude
                                longitude:
                                  type:
                                  - integer
                                  - 'null'
                                  description: Numeric at place.longitude
                                verified:
                                  type:
                                  - boolean
                                  - 'null'
                                  description: Claimed-business flag (Google is_claimed)
                                description:
                                  type:
                                  - string
                                  - 'null'
                                  description: String at place.description
                                image_urls:
                                  type:
                                  - string
                                  - array
                                  - 'null'
                                  description: 'Union: string | array | null'
                                  items:
                                    type: string
                                    description: String at place.image_urls
                                categories:
                                  type:
                                  - array
                                  - 'null'
                                  description: Array at place.categories
                                  items:
                                    type: string
                                    description: String at place.categories
                                hotel:
                                  type:
                                  - object
                                  - 'null'
                                  description: Hotel-only richness (stars, amenities, review topics, prices); null for plain places
                                  properties:
                                    stars:
                                      type:
                                      - integer
                                      - 'null'
                                      description: Numeric at place.hotel.stars
                                    stars_description:
                                      type:
                                      - string
                                      - 'null'
                                      description: String at place.hotel.stars_description
                                    check_in_time:
                                      type:
                                      - string
                                      - 'null'
                                      description: String at place.hotel.check_in_time
                                    check_out_time:
                                      type:
                                      - string
                                      - 'null'
                                      description: String at place.hotel.check_out_time
                                    amenities:
                                      type:
                                      - array
                                      - 'null'
                                      description: Array at place.hotel.amenities
                                      items:
                                        type: object
                                        description: 'Nested object: place.hotel.amenities'
                                        properties:
                                          category:
                                            type:
                                            - string
                                            - 'null'
                                            description: String at place.hotel.amenities.category
                                          name:
                                            type:
                                            - string
                                            - 'null'
                                            description: String at place.hotel.amenities.name
                                          available:
                                            type:
                                            - boolean
                                            - 'null'
                                            description: Boolean at place.hotel.amenities.available
                                          hint:
                                            type:
                                            - string
                                            - 'null'
                                            description: String at place.hotel.amenities.hint
                                    review_topics:
                                      type:
                                      - array
                                      - 'null'
                                      description: Array at place.hotel.review_topics
                                      items:
                                        type: object
                                        description: 'Nested object: place.hotel.review_topics'
                                        properties:
                                          title:
                                            type:
                                            - string
                                            - 'null'
                                            description: String at place.hotel.review_topics.title
                                          positive_score:
                                            type:
                                            - integer
                                            - 'null'
                                            description: Numeric at place.hotel.review_topics.positive_score
                                          positive_count:
                                            type:
                                            - integer
                                            - 'null'
                                            description: Numeric at place.hotel.review_topics.positive_count
                                          negative_count:
                                            type:
                                            - integer
                                            - 'null'
                                            description: Numeric at place.hotel.review_topics.negative_count
                                          total_count:
                                            type:
                                            - integer
                                            - 'null'
                                            description: Numeric at place.hotel.review_topics.total_count
                                    prices:
                                      type:
                                      - array
                                      - 'null'
                                      description: Array at place.hotel.prices
                                      items:
                                        type: object
                                        description: 'Nested object: place.hotel.prices'
                                        properties:
                                          title:
                                            type:
                                            - string
                                            - 'null'
                                            description: String at place.hotel.prices.title
                                          price:
                                            type:
                                            - integer
                                            - 'null'
                                            description: Numeric at place.hotel.prices.price
                                          currency:
                                            type:
                                            - string
                                            - 'null'
                                            description: String at place.hotel.prices.currency
                                          url:
                                            type:
                                            - string
                                            - 'null'
                                            description: String at place.hotel.prices.url
                                          official_site:
                                            type:
                                            - boolean
                                            - 'null'
                                            description: Boolean at place.hotel.prices.official_site
                                ext:
                                  type:
                                  - object
                                  - 'null'
                                  description: 'Nested object: place.ext'
                                  properties:
                                    distance:
                                      type:
                                      - integer
                                      - 'null'
                                      description: Numeric at place.ext.distance
                                    status:
                                      type:
                                      - string
                                      - 'null'
                                      description: String at place.ext.status
                                    timezone:
                                      type:
                                      - string
                                      - 'null'
                                      description: String at place.ext.timezone
                                    hours:
                                      type:
                                      - array
                                      - 'null'
                                      description: Array at place.ext.hours
                                      items:
                                        type: object
                                        description: 'Nested object: place.ext.hours'
                                        properties:
                                          date:
                                            type:
                                            - string
                                            - 'null'
                                            description: String at place.ext.hours.date
                                          day_name:
                                            type:
                                            - string
                                            - 'null'
                                            description: String at place.ext.hours.day_name
                                          is_open:
                                            type:
                                            - boolean
                                            - 'null'
                                            description: Boolean at place.ext.hours.is_open
                                          opens_at:
                                            type:
                                            - string
                                            - 'null'
                                            description: String at place.ext.hours.opens_at
                                          closes_at:
                                            type:
                                            - string
                                            - 'null'
                                            description: String at place.ext.hours.closes_at
                      next_cursor:
                        type:
                        - string
                        - 'null'
                        description: Opaque cursor for the next page. Pass it back as a query parameter on endpoints that support pagination. Present only when the upstream reports more results.
                      total:
                        type:
                        - integer
                        - 'null'
                        description: Total number of matching results, when the upstream provides a count. Omitted otherwise.
                      dropped:
                        type: integer
                        description: Number of upstream list items dropped because they could not be repaired to the endpoint schema. Valid list responses include 0.
                      _warnings:
                        type: array
                        description: 'Non-fatal notices about this response (field-map drift, clamped computed values). Advisory only: its presence never means the request failed. Omitted entirely when there is nothing to report, so treat absent as ''no warnings''.'
                        items:
                          type: string
                          description: One advisory notice.
                    required:
                    - dropped
                  credits_used:
                    type: integer
                    description: Number of credits consumed
                  credits_remaining:
                    type:
                    - integer
                    - 'null'
                    description: Current account balance. Null only when an idempotency replay succeeds but its transient balance lookup fails.
                  request_id:
                    type: string
                    description: Unique request identifier for support
                  cached:
                    type: boolean
                    description: Whether the response was served from cache
                  idempotent_replay:
                    type: boolean
                    description: True only when this response is an idempotency replay
                  pagination:
                    type: object
                    description: Cursor state for this page. Present on every list response.
                    properties:
                      next_cursor:
                        type:
                        - string
                        - 'null'
                        description: Opaque token to send back as `cursor` for the next page, or null at end-of-list. Pass it back verbatim; never decode or trim it.
                      has_more:
                        type: boolean
                        description: Explicit stop signal. Prefer this over inspecting next_cursor or comparing against total.
                      page_size:
                        type: integer
                        description: Number of items in THIS page.
                    required:
                    - next_cursor
                    - has_more
                    - page_size
                required:
                - success
                - platform
                - endpoint
                - data
                - credits_used
                - credits_remaining
                - request_id
                - cached
                - pagination
        '400':
          $ref: '#/components/responses/Error400'
        '401':
          $ref: '#/components/responses/Error401'
        '402':
          $ref: '#/components/responses/Error402'
        '404':
          $ref: '#/components/responses/Error404'
        '405':
          $ref: '#/components/responses/Error405'
        '409':
          $ref: '#/components/responses/Error409'
        '413':
          $ref: '#/components/responses/Error413'
        '422':
          $ref: '#/components/responses/Error422'
        '429':
          $ref: '#/components/responses/Error429'
        '500':
          $ref: '#/components/responses/Error500'
        '502':
          $ref: '#/components/responses/Error502'
        '503':
          $ref: '#/components/responses/Error503'
  /tripadvisor/reviews:
    get:
      summary: Get TripAdvisor reviews for a place
      description: 'Returns a unified ReviewList of traveler reviews for a TripAdvisor place, keyed by its `url_path` (`entity_id` on every review). Each review carries the star rating, full text, title, reviewer profile, attached photos, owner/management `responses[]`, the original + translated language (TripAdvisor auto-translates: a `translated` flag marks it), and publish date. Get the `url_path` from /v1/tripadvisor/search. Filter by traveler rating, traveler type, or a keyword. The synchronous endpoint caps `depth` at 30 (deeper history is a future async surface); a place with no matching reviews returns 404 (auto-refunded). Sourced from DataForSEO''s task-based Business Data API (first calls ~15-45s, then cached).'
      tags:
      - tripadvisor
      operationId: get_tripadvisor_reviews
      security:
      - ApiKeyAuth: []
      x-credit-tier: standard
      x-credit-cost: 1
      parameters:
      - name: url_path
        in: query
        required: true
        description: The TripAdvisor `url_path` of the place (from a search result), e.g. 'Hotel_Review-g60763-d23462501-Reviews-Margaritaville_Times_Square-New_York_City_New_York.html'.
        schema:
          type: string
      - name: depth
        in: query
        required: false
        description: Number of reviews to retrieve (multiples of 10, default 10, max 30 on this synchronous endpoint).
        schema:
          type: integer
      - name: sort_by
        in: query
        required: false
        description: 'Review ordering: `most_recent` or `detailed_reviews`.'
        schema:
          type: string
          enum:
          - most_recent
          - detailed_reviews
      - name: rating
        in: query
        required: false
        description: 'Filter by traveler rating bucket: excellent | very_good | average | poor | terrible.'
        schema:
          type: string
          enum:
          - excellent
          - very_good
          - average
          - poor
          - terrible
      - name: visit_type
        in: query
        required: false
        description: 'Filter by traveler type: families | couples | solo | business | friends.'
        schema:
          type: string
          enum:
          - families
          - couples
          - solo
          - business
          - friends
      - name: search_reviews_keyword
        in: query
        required: false
        description: Only return reviews containing this keyword.
        schema:
          type: string
      - name: translate
        in: query
        required: false
        description: Translate reviews to the place's domain language (default true). The `translated` flag + `original_language` are always returned.
        schema:
          type: boolean
      - name: Cache-Control
        in: header
        required: false
        description: Send `no-cache` to bypass the response cache and force a live fetch. Billed at the normal endpoint cost; the fresh result is written back to cache for the next caller. Only the `no-cache` directive triggers this. See the Response Schema guide for details.
        schema:
          type: string
      - name: Idempotency-Key
        in: header
        required: false
        description: 'Optional UUID that makes the request safely retriable. A replay keeps the cached payload immutable except for billing metadata: `credits_used` becomes 0, `idempotent_replay` becomes true, and `credits_remaining` is refreshed to the current balance. A known current balance appears in both the body and `X-Credits-Remaining` header; no balance row resolves to 0. On a transient lookup failure, body `credits_remaining` is null and `X-Credits-Remaining` is omitted. Scoped per account with a 24-hour TTL.'
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          headers:
            X-Credits-Used:
              description: Net credits charged for this response. Idempotency replays report 0.
              schema:
                type: integer
                minimum: 0
            X-Credits-Remaining:
              description: Current balance when known. On an idempotency replay, this header is omitted when the balance lookup fails; body `credits_remaining` is null instead.
              schema:
                type: integer
                minimum: 0
            X-Idempotent-Replay:
              description: Present with value `true` only when this response replays a settled idempotency record.
              schema:
                type: string
                enum:
                - 'true'
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: Whether the request succeeded
                  platform:
                    type: string
                    description: Platform name
                  endpoint:
                    type: string
                    description: API endpoint path
                  data:
                    type: object
                    description: Platform-specific response data
                    properties:
                      items:
                        type: array
                        description: Array of canonical review wrappers ({ review })
                        items:
                          type: object
                          description: Canonical review wrapper
                          properties:
                            review:
                              type: object
                              description: Canonical Review object (shared across commerce platforms)
                              properties:
                                id:
                                  type: string
                                  description: Review ID (parsed from the review URL when not first-class)
                                entity_id:
                                  type:
                                  - string
                                  - 'null'
                                  description: ID of the reviewed entity (e.g. the Amazon ASIN)
                                url:
                                  type:
                                  - string
                                  - 'null'
                                  description: String at review.url
                                title:
                                  type:
                                  - string
                                  - 'null'
                                  description: String at review.title
                                text:
                                  type:
                                  - string
                                  - 'null'
                                  description: Full review body
                                rating:
                                  type: object
                                  description: Star rating (value + max)
                                  properties:
                                    value:
                                      type:
                                      - integer
                                      - 'null'
                                      description: Numeric at review.rating.value
                                    max:
                                      type:
                                      - integer
                                      - 'null'
                                      description: Numeric at review.rating.max
                                author:
                                  type: object
                                  description: 'Nested object: review.author'
                                  properties:
                                    name:
                                      type:
                                      - string
                                      - 'null'
                                      description: String at review.author.name
                                    avatar_url:
                                      type:
                        

# --- truncated at 32 KB (49 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/socialcrawl/refs/heads/main/openapi/socialcrawl-tripadvisor-api-openapi.yml