JustSERPDocs
Tripadvisor

Tripadvisor reviews

A restaurant's or hotel's rating and reviews on Tripadvisor, with management responses.

GET
/v1/tripadvisor/reviews

A restaurant's or hotel's rating and reviews on Tripadvisor, with management responses. Tripadvisor has no search a visitor can use here, so there is no find.

In the document form. $1 request $2 a place_id (Tripadvisor's numeric id) and no profile_url is the document-form Tripadvisor Reviews call (tripadvisor_domain, num 1-20, page, q, rating, trip_type, time_of_year, language, sort_by), answered as the document, read from the page's embedded data: search_metadata, search_parameters, search_information (total_reviews, sort_by), place, reviews (id, title, text, language, rating, subratings, votes, date, travel_date, travel_type, link, author, response, photos) and pagination. Hotels, restaurants and attractions are reached (products, geos and airlines are not). Up to 60 reviews are read to reach a page (15 a page on a restaurant, 10 on a hotel or attraction); q, rating, trip_type, time_of_year and language are applied to those reviews, not by Tripadvisor. sort_by is echoed and not applied (the list is most recent). total_reviews is the page language's count (English).

Authorization

headerX-API-Key<token>

Your API key.

Query Parameters

cancel_token?string

A name you make up for this request (a UUID is fine), so you can later GET /v1/cancel with it. Only you know it, so only you can cancel. Use a new one for every request, retries included: a cancelled token stays cancelled for a few minutes.

Length1 <= length <= 128
since?string

Only reviews posted or edited after this are returned, and paging stops there. No zone means UTC. Leave out for a first check. A review dated only by day or month counts as the end of that day or month, so the newest day's reviews come back again on the next check: drop them by id.

Formatdate-time
max_reviews?integer

The most reviews to return; a larger number is held to 500. 0 asks for the profile alone.

Range0 <= value <= 500
Default100
country?string

The country the page is loaded from, default us, when it is one of the countries below.

Countries a request can be made from: us, ca, mx, br, ar, au, nz, in, sg, jp, ph, ae, za, gb, ie, de, fr, es, it, nl, be, pt, at, ch, se, no, dk, fi, pl, cz, gr, ro, hu.

Match^[A-Za-z]{2}$
profile_url?string

A listing whose path starts /Restaurant_Review-g<n>-d<n>-Reviews-, /Hotel_Review-… or /Attraction_Review-….

Matchtripadvisor\.[a-z.]+/(Restaurant|Hotel|Attraction)_Review-g\d+-d\d+-Reviews-
place_id?string

Numeric Tripadvisor id of a hotel, restaurant or attraction (products, geos and airlines are not reached).

Match^\d+$
tripadvisor_domain?string

One of Tripadvisor's domains.

Default"tripadvisor.com"
num?integer
Range1 <= value <= 20
Default10
page?integer
Range1 <= value
Default1
q?string

Keeps reviews whose text matches.

rating?string

A value or comma-separated list, e.g. 4,5.

trip_type?string

families, couples, solo, business, friends; comma-separated.

time_of_year?string

mar_may, jun_aug, sep_nov, dec_feb or jan...dec; comma-separated.

language?string

Reviews available in this language (en, fr, zhCN...).

sort_by?string

Echoed and not applied: the page's list is most recent.

Default"most_recent"
Value in"most_recent""detailed_reviews"

Response Body

The profile and its reviews; with the document-form parameters, the document.

application/json
  1. response

mode: "reviews". Site-specific fields are in profile.extra and reviews[].extra; see each engine's document.

search_metadata*
search_parameters*

The request's own fields as sent, engine first, without cancel_token.

search_information*

The parser's own, e.g. yelp_search's; otherwise {}.

profile*
reviews*array<>

Newest first.

has_more*boolean

Older reviews exist that were not returned (max_reviews, or the site shows no more).

reached_since*boolean

Paging stopped at since.

reviews_status?string

Present only when the list could not be read. blocked: reviews is [].

Value in"blocked""limited"
reviews_order?string

Present only with reviews_status limited.

Example Request
curl -X GET 'https://api.justserp.com/v1/tripadvisor/reviews?profile_url=https%3A%2F%2Fwww.tripadvisor.com%2FRestaurant_Review-g60763-d425787-Reviews-Katz_s_Deli-New_York_City_New_York.html'
Example Response
{  "search_metadata": {    "id": "string",    "status": "Success",    "created_at": "string",    "request_url": "string",    "html_url": "string"  },  "search_parameters": {},  "search_information": {},  "profile": {    "url": "string",    "site_id": "string",    "name": "string",    "address": "string",    "phone": "string",    "website": "string",    "rating": 0,    "rating_scale": 5,    "review_count": 0,    "claimed": true,    "extra": {}  },  "reviews": [    {      "id": "string",      "url": "string",      "rating": 0,      "recommended": true,      "title": "string",      "text": "string",      "language": "string",      "posted_at": "2019-08-24T14:15:22Z",      "date_precision": "day",      "updated_at": "2019-08-24T14:15:22Z",      "author": {        "name": "string",        "id": "string",        "url": "string",        "review_count": 0,        "location": "string"      },      "owner_reply": {        "text": "string",        "posted_at": "2019-08-24T14:15:22Z"      },      "photos": 0,      "extra": {}    }  ],  "has_more": true,  "reached_since": true,  "reviews_status": "blocked",  "reviews_order": "most_relevant"}