Tripadvisor API

Tripadvisor Search API

Search Tripadvisor for hotels, restaurants, and attractions in any destination and get rich place records (ratings, review counts, contact details, pricing) as normalized JSON.

POST/v1/run/tripadvisor.search
Uptime
100.00%
30d · 5 calls
Requests
5
30d · weekly, last 12 wks
Response
14.2s
median · 30d

Try it

Make your first request

requireFieldsarray
Optional; omit it and routing is unchanged, with the cheapest source serving. Name the output fields this request must be able to return, for example `phone` or `website`, and it is served only by a source that returns every one of them. Fields you do not name are still returned whenever the serving source has them. This can raise your price: when the cheapest source cannot return a named field, a dearer source serves, and you are quoted and charged its price. A named field can still be absent on a place that genuinely lacks it. Naming a combination that no single source returns together is refused as invalid input, with no charge.
Open in
Get a free key
Sample response
Free runs return only the first 3 results. Fund a key to get the full response.
{
  "data": {
    "items": [
      {
        "address": "123 Main St",
        "category": "general",
        "city": "San Francisco",
        "country": "US",
        "email": "alex@example.com",
        "hotelClass": "+1 555-0142",
        "id": "a1b2c3d4",
        "image": "https://example.com/image.jpg",
        "latitude": 37.7749,
        "longitude": -122.4194,
        "phone": "+1 555-0142",
        "postalCode": "94107",
        "priceLevel": "19.99",
        "priceRange": "19.99",
        "ranking": "example",
        "rating": 4.6,
        "reviewCount": 12500,
        "title": "Example title",
        "type": "general",
        "url": "https://example.com/page",
        "website": "https://example.com/page"
      }
    ]
  },
  "found": true
}
Response interface
interface TripadvisorSearchResponse {
  data: {
    items: {
      address?: string;
      category?: string;
      city?: string;
      country?: string;
      email?: string;
      hotelClass?: string;
      id?: string;
      image?: string;
      latitude?: number;
      longitude?: number;
      phone?: string;
      postalCode?: string;
      priceLevel?: string;
      priceRange?: string;
      ranking?: string;
      rating: number;
      reviewCount?: number;
      title: string;
      type?: string;
      url: string;
      website?: string;
    }[];
  } | null;
  found: boolean;
}

Full parameter and response reference - every field, type, and example for this endpoint.

Reference

Request, response, and price

Last verified 2026-09-16 · uptime and latency measured over 30d
POST /v1/run/tripadvisor.search
curl -X POST https://api.getanyapi.com/v1/run/tripadvisor.search \
  -H "Authorization: Bearer $ANYAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"limit":3,"query":"Paris"}'
FieldTypeExample value
Request body
querystring"Paris"Destination or keyword to search for (e.g. Barcelona).
currencystringISO currency code for prices (e.g. USD, EUR).
includeAttractionsbooleanInclude attractions and things to do in the results; set false to exclude them (e.g. false). Defaults to true.
includeHotelsbooleanInclude hotels in the results; set false to exclude them (e.g. false). Defaults to true.
includeRestaurantsbooleanInclude restaurants in the results; set false to exclude them (e.g. false). Defaults to true.
limitinteger3Maximum number of results to return (1-20, default 20).
requireFieldsarrayOptional; omit it and routing is unchanged, with the cheapest source serving. Name the output fields this request must be able to return, for example `phone` or `website`, and it is served only by a source that returns every one of them. Fields you do not name are still returned whenever the serving source has them. This can raise your price: when the cheapest source cannot return a named field, a dearer source serves, and you are quoted and charged its price. A named field can still be absent on a place that genuinely lacks it. Naming a combination that no single source returns together is refused as invalid input, with no charge.
Response
dataobjectThe result wrapper, or null when nothing matched.
data.itemsobject[]Matching Tripadvisor place records (hotels, restaurants, attractions). Populated whenever the provider has data for the entity.
data.items[].addresscan requirestringFull formatted street address.
data.items[].categorycan requirestringHigh-level category (e.g. hotel, restaurant, attraction).
data.items[].citycan requirestringCity the place is in.
data.items[].countrycan requirestringCountry the place is in.
data.items[].emailcan requirestringBusiness contact email, when listed.
data.items[].hotelClasscan requirestringStar rating / hotel class, when applicable.
data.items[].idcan requirestringTripadvisor location id (stable identifier for the place).
data.items[].imagecan requirestringPrimary place photo URL.
data.items[].latitudecan requirenumberLatitude of the place in decimal degrees.
data.items[].longitudecan requirenumberLongitude of the place in decimal degrees.
data.items[].phonecan requirestringBusiness phone number, when listed.
data.items[].postalCodecan requirestringPostal code of the place.
data.items[].priceLevelcan requirestringRelative price level indicator (e.g. $$, $$$$).
data.items[].priceRangecan requirestringNightly or per-visit price range in the requested currency.
data.items[].rankingcan requirestringRanking string within its location (e.g. "#2 of 1,885 hotels in Paris").
data.items[].ratingnumberAverage traveler rating out of 5. Populated whenever the provider has data for the entity.
data.items[].reviewCountcan requirenumberTotal number of traveler reviews.
data.items[].titlestringPlace name. Populated whenever the provider has data for the entity.
data.items[].typecan requirestringTripadvisor place type (e.g. HOTEL, RESTAURANT, ATTRACTION).
data.items[].urlstringCanonical Tripadvisor listing page URL. Populated whenever the provider has data for the entity.
data.items[].websitecan requirestringThe place's own website URL, when listed.
foundbooleanTrue when the search returned at least one matching place.
Price
Price per requestUSD$0.003
Price /1k reqUSD$3.00

FAQ

About the Tripadvisor Search API

The AnyAPI Tripadvisor Search API returns Tripadvisor search data as normalized JSON from one POST call to /v1/run/tripadvisor.search. Search Tripadvisor for hotels, restaurants, and attractions in any destination and get rich place records (ratings, review counts, contact details, pricing) as normalized JSON. AnyAPI routes each request across 2 sources and falls back automatically when one fails. It costs from $3 per 1,000 requests, in US dollars with no subscription and no monthly minimum. Over the last 30 days, 100.0% of Tripadvisor search calls through AnyAPI succeeded, with a median response time of 14.2 seconds across 5 measured calls.

It costs from $3 per 1,000 requests, in US dollars with no subscription and no monthly minimum. You fund one USD wallet, each call draws it down, and a failed request costs $0.

Search Tripadvisor for hotels, restaurants, and attractions in any destination and get rich place records (ratings, review counts, contact details, pricing) as normalized JSON. The response is normalized JSON with the same envelope every AnyAPI endpoint returns, so parsing a second endpoint is a change of URL and nothing else.

Over the last 30 days, 100.0% of Tripadvisor search calls through AnyAPI succeeded, with a median response time of 14.2 seconds across 5 measured calls. These are AnyAPI's own measurements of traffic through the gateway, recomputed continuously, not a published service-level target.
More to call

Other Tripadvisor endpoints