Get a place's reviews
Pull traveller reviews for one place: rating, title and the full text, the trip type, the month of the visit and the date it was written, the reviewer's display name, home town and contribution count, per-aspect sub-ratings, attached photo URLs, and the owner's public reply where there is one. Tripadvisor serves 20 reviews per page whatever limit asks for, so depth comes from pages and cursor, not from a bigger page.
/location-reviews Reviews https://api.fetchlayer.dev/tripadvisor/location-reviews 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.
limit number optional Maximum reviews returned (max 2000), or -1 for everything available. Reviews still arrive 20 per page. (default: 20)
pages number optional Pages of reviews to collect in one request (max 100), or -1 for the maximum allowed. 20 reviews per page — this is the knob that controls depth. (default: 1)
cursor string optional Resume from a previous response's nextCursor.
language string optional Language to request reviews in. A translation target, not a filter — Tripadvisor still returns reviews written in a mix of languages. Pair it with translate to get the text in this language. (default: en)
translate boolean optional Return each review's text translated into language. (default: false)
sortBy string optional recent, detailed, or insightful. (default: recent)
minRating number optional Only reviews rated this many bubbles or more (1 to 5).
tripTypes string[] optional Only reviews from these trip types: business, couples, family, friends, solo.
photosPerReview number optional How many photo URLs to return per review (max 20). 0 skips them. (default: 4)
delayMs number optional Milliseconds to wait between pages (max 30000).
format string optional json or markdown. (default: json)
Response Fields
location-reviews
Get a place's reviews
reviews object[] The reviews collected, 20 per page walked.
reviews[].reviewId string Stable review id — the dedupe key for incremental pulls.
reviews[].rating number Bubble rating, 1 to 5.
reviews[].title string Review headline.
reviews[].text string The full review, not a snippet.
reviews[].language string The language this text is returned in.
reviews[].originalLanguage string The language the reviewer wrote in, which may differ.
reviews[].isTranslated boolean True when text is a translation rather than the reviewer's own words.
reviews[].publishedDate string When the review was written, YYYY-MM-DD.
reviews[].visitDate string When the reviewer says they visited, YYYY-MM-DD.
reviews[].tripType string business, couples, family, friends, or solo.
reviews[].helpfulVotes number How many people marked the review helpful.
reviews[].photoUrls string[] Photos the reviewer attached. URLs only — stream the bytes from GET /media.
reviews[].subRatings object[] Per-aspect ratings (location, cleanliness, service, value…), where the place collects them.
reviews[].reviewer object Display name, username, profile URL, stated home town, country code, contribution count, helpful votes and avatar.
reviews[].managementResponse object The owner's public reply: text, published date, respondent name and role.
filters object The filters this pull actually ran with, after defaults were applied — including the resolved language and translate.
reviewCount number Every review Tripadvisor holds for this place under the requested language, not just this page. Changing language moves this number without changing which rows come back.
returnedCount number Reviews in this response.
pagesScraped number Pages actually collected. Each page counts as one request against your plan.
nextCursor string Pass back as cursor to continue, or null when the listing is exhausted.
hasNextPage boolean Whether more reviews are available beyond this response.
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-reviews" \
-H "Authorization: Bearer ss-your-key" \
-H "Content-Type: application/json" \
-d '{"location":"298106","pages":5,"sortBy":"recent","minRating":4,"photosPerReview":4}'Response
{
"locationId": "298106",
"locationName": "Park Hyatt Tokyo",
"reviewCount": 2184,
"returnedCount": 100,
"pagesScraped": 5,
"hasNextPage": true,
"nextCursor": "eyJvZmZzZXQiOjEwMH0",
"reviews": [
{
"reviewId": "948273615",
"rating": 5,
"title": "Still the best view in Tokyo",
"text": "The room was immaculate and the staff remembered our names from a stay two years ago…",
"publishedDate": "2026-08-29",
"visitDate": "2026-08-01",
"tripType": "couples",
"reviewer": {
"displayName": "Marina K",
"location": "Melbourne, Australia",
"contributionCount": 214
},
"managementResponse": {
"respondentName": "Front Office Manager",
"text": "Thank you for staying with us again…"
}
}
],
"notes": [
"Tripadvisor serves 20 reviews per page; limit above that is satisfied by walking pages."
]
}