TripAdvisor API endpoint
Returns reviews for a TripAdvisor place identified by `id` (location id) or `url`. `limit` defaults to 20 (max 50); `page` is 1-based; `language`, `ratings` (1 to 5) and `sort_by` refine the list. Each review has author, title, text, dates, rating, language, helpful votes, photos and URL. A page beyond `total` returns an empty `reviews` array.
/tripadvisor/reviewsMCP tool: tripadvisor_reviews
Query parameters: pass either id with a TripAdvisor location id or url with a TripAdvisor place URL. Optional parameters include page, limit, language, sort_type, sort_by, repeated ratings, do_machine_translation, and photos_per_review_limit.
sort_type accepts ML_SORTED (default) and DEFAULT. sort_by accepts FAVORABLE_RATING (default) and DATE. These legacy labels are compatibility inputs for the current frontend: DEFAULT or DATE selects newest first; otherwise Tripadvisor determines the order. FAVORABLE_RATING no longer guarantees an ordering by highest rating. ratings accepts repeated values 1, 2, 3, 4, and 5.
limit defaults to 20 and is capped at 50. Requests above 20 combine bounded upstream pages and detail batches while preserving the requested page offset and order. photos_per_review_limit defaults to 7 and is capped at 20. do_machine_translation defaults to true: title/text use the list’s requested-language version. When false, the detail query returns original-language text. The language filter selects reviews available in the requested language, including translations; photos are capped after normalization. Pagination preserves the upstream list order, and total is the count after filters. A verified empty list or a page beyond total returns an empty reviews array. Missing list/detail data, query retirement, and blocked requests return an upstream error.
Returns TripAdvisor public reviews. Review records include author, title, text, dates, rating, language, helpful votes, photos, and public review URLs when available.
| Field | Filled in, of 3 checked | Values in the sample |
|---|---|---|
| id | 3 | |
| url | 3 | tripadvisor.com |
| title | 3 | |
| text | 3 | median 683 characters |
| author | 3 | |
| author_id | 3 | |
| author_url | 3 | tripadvisor.com |
| author_avatar | 3 | dynamic-media-cdn.tripadvisor.com |
| date | 3 | 2026-08-08 to 2026-08-30 |
| created_date | 3 | 2026-08-08 to 2026-08-30 |
| language | 3 | |
| original_language | 3 | |
| trip_type | 3 | |
| stay_date | 3 | 2026-08-31 |
| rating | 3 | 5 |
| author_hometown | 1 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| id | string | No | TripAdvisor location id | 113311 | |
| url | string | No | TripAdvisor place URL | ||
| page | integer | No | 1-based review page | 1 | |
| limit | integer | No | Maximum reviews | 3 | |
| language | string | No | Review language | en | |
| sort_type | string | No | Legacy sort type; DEFAULT selects newest first, ML_SORTED uses upstream order unless sort_by is DATE Allowed values: ML_SORTED, DEFAULT. | DEFAULT | |
| sort_by | string | No | Legacy sort field; DATE selects newest first, FAVORABLE_RATING uses upstream order Allowed values: FAVORABLE_RATING, DATE. | DATE | |
| ratings | array<integer> | No | Rating filters Allowed values: 1, 2, 3, 4, 5. Repeat this query parameter for multiple values. | ||
| do_machine_translation | boolean | No | Enable upstream machine translation | ||
| photos_per_review_limit | integer | No | Maximum photos per review | 7 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/tripadvisor/reviews?id=113311&page=1&limit=10&language=en&sort_type=ML_SORTED&sort_by=FAVORABLE_RATING&ratings=1&do_machine_translation=true" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"id": "113311",
"url": "https://www.tripadvisor.com/Hotel_Review-g60763-d113311-Reviews-The_Peninsula_New_York-New_York_City_New_York.html",
"page": 1,
"limit": 3,
"language": "en",
"total": 1517,
"reviews": [
{
"id": "1060008752",
"url": "https://www.tripadvisor.com/ShowUserReviews-g60763-d113311-r1060008752-The_Peninsula_New_York-New_York_City_New_York.html",
"title": "Outstanding weekend at the Peninsula",
"text": "Excellent stay with attentive service.",
"author": "Jane D.",
"date": "2026-05-01",
"created_date": "2026-05-01",
"language": "en",
"rating": 5,
"helpful": 1,
"photos": [
"https://dynamic-media-cdn.tripadvisor.com/media/photo.jpg"
]
}
]
}
}Request schema
No body schema
Response schema
#/definitions/tripadvisor.tripadvisorReviewsResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | tripadvisor.ReviewsResponse | No | ||||
| data.id | string | No | 5493196 | TripAdvisor location id the reviews belong to. | ||
| data.language | string | No | en | Review language code that was applied, for example `en`. | ||
| data.limit | integer | No | 20 | Maximum number of reviews returned per page. | ||
| data.page | integer | No | 1 | Page number returned. | ||
| data.reviews | array | No | Reviews on this page, one entry per review. | |||
| data.reviews[].author | string | No | Reviewer's display name. | |||
| data.reviews[].author_avatar | string | No | URL of the reviewer's profile picture. | |||
| data.reviews[].author_hometown | string | No | Reviewer's hometown as shown on their profile. | |||
| data.reviews[].author_id | string | No | TripAdvisor id of the reviewer. | |||
| data.reviews[].author_url | string | No | TripAdvisor profile URL of the reviewer. | |||
| data.reviews[].created_date | string | No | Date the review was written, for example `2026-05-01`. | |||
| data.reviews[].date | string | No | Date the review was published, for example `2026-05-01`. | |||
| data.reviews[].helpful | integer | No | Number of helpful votes the review received. | |||
| data.reviews[].id | string | No | TripAdvisor review id. | |||
| data.reviews[].language | string | No | Language code of the review text returned. | |||
| data.reviews[].original_language | string | No | Language code the review was originally written in. | |||
| data.reviews[].photos | array | No | URLs of photos attached to the review. | |||
| data.reviews[].rating | number | No | Rating the reviewer gave, out of 5. | |||
| data.reviews[].stay_date | string | No | Date of the reviewer's visit or stay, as TripAdvisor gives it. | |||
| data.reviews[].text | string | No | Full text of the review. | |||
| data.reviews[].title | string | No | Title the reviewer gave the review. | |||
| data.reviews[].trip_type | string | No | Type of trip the reviewer reported, as TripAdvisor labels it. | |||
| data.reviews[].url | string | No | TripAdvisor page URL of the review. | |||
| data.total | integer | No | 25770 | Total number of reviews matching the filters. | ||
| data.url | string | No | TripAdvisor page URL of the place the reviews belong to. | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/tripadvisor/reviews?id=113311&page=1&limit=10&language=en&sort_type=ML_SORTED&sort_by=FAVORABLE_RATING&ratings=1&do_machine_translation=true" \
-H "x-api-key: $CRAWLORA_API_KEY"