Tripadvisor API — Hotel & Restaurant Profile Data
Documentation menu
FetchLayer FetchLayer API

Get a place's profile

Read one place completely: name and kind, rating and review count with the per-bubble distribution and the count held in each language, ranking within its city, price range, address and coordinates, phone, website, amenities, cuisines, opening hours, award history and description. This is eight upstream operations resolved into one request, and it runs browserless — no page render, no headless Chrome.

POST /location-profile Places
https://api.fetchlayer.dev/tripadvisor/location-profile
OpenAPI JSON

Headers

Authorization string required

Bearer token — your FetchLayer API key.

Parameters

location string required

Tripadvisor location id, or the URL of a hotel, restaurant or attraction page. Use /search-locations to turn a name into an id.

format string optional

json or markdown. (default: json)

Response Fields

location-profile

Get a place's profile

profile object

The full place record.

profile.locationId string

The resolved Tripadvisor location id.

profile.name string

Place name.

profile.locationType string

hotel, restaurant, attraction, activity, geo, airline, or other.

profile.isClosed boolean

Whether Tripadvisor marks the place as permanently closed.

profile.rating number

Average rating out of 5.

profile.reviewCount number

Every review Tripadvisor holds for the place.

profile.ratingDistribution object

How many reviews gave each bubble rating, as one through five.

profile.reviewCountsByLanguage object[]

Reviews held in each language, most common first. The honest way to size a non-English pull.

profile.ranking object

Rank and total among comparable places in the city, plus Tripadvisor's own label ("#118 of 526 hotels in New York City"). The label is published for hotels only; the numbers are there for every kind of place.

profile.priceRange object

Typical minimum, maximum and currency, where Tripadvisor publishes one.

profile.address object

Full address, street, city, state, postal code and two-letter country code.

profile.latitude number

Latitude.

profile.longitude number

Longitude.

profile.phone string

Published phone number.

profile.website string

The place's own website.

profile.amenities string[]

Facilities the place lists.

profile.cuisines string[]

Cuisine tags, for restaurants.

profile.hoursOfOperation object[]

Opening intervals per day, 24-hour HH:MM. A day with no published hours returns no entry.

profile.awards object[]

Travellers' Choice and similar awards, with their years.

profile.geoHierarchy object[]

The city, region and country the place sits under, with their geo ids.

profile.photoCount number

Photos in the gallery — what /location-photos can page through.

profile.description string

The place description Tripadvisor publishes.

notes string[]

Caveats about this specific result — a walk cut short, a field Tripadvisor does not publish for this place, an upstream limit that was hit. Read it: a response can be well-formed and still incomplete, and this array is where that is said.

requestedUrl string

The Tripadvisor page this result corresponds to.

scrapedAt string

ISO-8601 timestamp of when the data was collected.

blocked boolean

Always false on a successful response.

Request

curl -X POST "https://api.fetchlayer.dev/tripadvisor/location-profile" \
  -H "Authorization: Bearer ss-your-key" \
  -H "Content-Type: application/json" \
  -d '{"location":"298106"}'

Response

{
  "locationId": "298106",
  "profile": {
    "locationId": "298106",
    "name": "Park Hyatt Tokyo",
    "locationType": "hotel",
    "rating": 4.5,
    "reviewCount": 2184,
    "ratingDistribution": {
      "one": 22,
      "two": 41,
      "three": 158,
      "four": 583,
      "five": 1380
    },
    "ranking": {
      "rank": 12,
      "total": 1489,
      "label": "#12 of 1,489 hotels in Tokyo"
    },
    "reviewCountsByLanguage": [
      {
        "language": "en",
        "count": 1204
      },
      {
        "language": "ja",
        "count": 486
      }
    ]
  },
  "notes": []
}