Tripadvisor Reviews API — Hotel & Restaurant Data as JSON | FetchLayer
Unofficial Third-party API
6 endpoints live

Every review. Every rating.
Every property you track.

Reviews & ratings Profiles & city rankings Gallery photos AI-ready JSON

Find any hotel, restaurant or attraction on Tripadvisor and get its profile, its ranking against the rest of the city, its traveller reviews and its photo gallery as structured JSON. Browserless and fast: a full profile is eight upstream operations resolved inside one request.

Tripadvisor serves 20 reviews per page, always — depth comes from paging, and we say so in the docs rather than promising a bigger page.

Free tier included No credit card No scraper maintenance

Trusted by developers shipping real products.

494,175 served today

POST /tripadvisor/location-reviews
200 OK

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}'

Response

{
  "locationName": "Park Hyatt Tokyo",
  "rating": 4.5,
  "reviews": [{
    "rating": 5,
    "title": "Still the best view in Tokyo",
    "tripType": "couples",
    "visitDate": "2026-08-01",
    "managementResponse": { "text": "Thank you..." }
  }],
  "pagesScraped": 5,
  "nextCursor": "eyJvZmZzZXQiOjEwMH0"
}

Used by developers at

Individual developers or teams — not official partnerships

Built for feedback workflows

Fetch the public signal. Use it wherever your team works.

Name in, location id out

Search hotels, restaurants, attractions, tours, cities and regions by name and get the id every other endpoint takes — along with the kind of place, its city, its rating and its review count.

A full profile in one request

Rating distribution by bubble, review counts per language, ranking within the city, price range, address, coordinates, phone, website, amenities, cuisines, opening hours, awards and description. Eight upstream operations, one call, no browser.

Reviews with the whole record

Full text rather than a snippet, bubble rating, trip type, month of visit, date written, reviewer home town and contribution count, per-aspect sub-ratings, attached photos, and the owner’s public reply.

Benchmark a portfolio

Run the same two calls across every property you manage and every rival in the same city, and you have a ranking table, a rating distribution and a complaint feed that update on your schedule.

Gallery photos and the files

Page a place’s gallery with captions, dimensions and credit, then stream the image bytes through GET /media with HTTP Range support.

Honest ceilings, stated up front

Reviews arrive 20 to a page whatever limit says, and language is a translation target rather than a filter. Both are in the docs, and every response carries a notes array reporting truncated walks and upstream limits.

AI-ready JSON

Hand review text, trip types, sub-ratings and owner replies to an LLM or an MCP agent to cluster complaints, score sentiment by segment, and draft the response — no HTML parsing, no wrapper code.

FetchLayer Research Chat

Ask what guests actually complain about—then export it.

Prefer not to write code? Give FetchLayer Research Chat a property and a rival down the road, ask where the one-star reviews cluster and which complaints management never answers, and turn the whole review set into a structured file for your ops review.

  • Ask questions in plain English
  • Analyze themes, sentiment, and pain points
  • Download the structured results as CSV or JSON
Research reviews in Chat

No code or setup required · Uses your FetchLayer credits

Tripadvisor research

Pull the last 300 reviews for these two hotels, group the complaints by theme, and flag every one-star review with no owner reply. Export it as CSV.

Y

I walked 15 pages for each property, clustered the criticism into seven themes — check-in queues and bathroom cleanliness dominate both — and found 22 one-star reviews with no management response. The review-level breakdown is ready to download.

tripadvisor-review-themes.csv

600 reviews · 14 columns · ready to download

CSV

From raw feedback to action

One request is the start of the workflow.

Store the structured response, run it on a schedule, pass it to an LLM, or feed it into the system your team already uses. FetchLayer handles retrieval so you can focus on the outcome.

  1. 01

    Resolve the place

    Search a property name to get its location id, or paste a Tripadvisor URL into resolve-url — which is free — and take the id straight out of it.

  2. 02

    Pull the profile and the reviews

    One call for the profile and the city ranking, then page the reviews with pages and cursor, filtering by minimum rating and trip type.

  3. 03

    Turn reviews into decisions

    Track rating movement week over week, benchmark against every comparable property in the city, route unanswered criticism to the right manager, or hand the JSON to an agent to write the summary.

MCP & agents

Live

Your AI already knows how to use this.

Use the Tripadvisor endpoint directly from your MCP-compatible agent. Ask it to retrieve public feedback, identify patterns, and turn the result into a useful brief without writing integration glue.

1
Pick your editor
2
Agent discovers 6+ tools
3
Query any platform instantly
connect your agent ~30s

Pick your editor and we hand you the config with your key already in it — no JSON to hand-edit, no wrapper code.

Get your free API key

Free tier · no credit card · any MCP host

New chat fetchlayer connected

Find this hotel on Tripadvisor, tell me where it ranks in its city, and pull the last 200 reviews so I can see what guests keep complaining about.

Used fetchlayer.tripadvisor_location_reviews

Resolved the property, read its profile — #12 of 1,489 hotels in the city, 4.5 average across 2,184 reviews — and walked 10 pages for the most recent 200. Check-in queues and bathroom cleanliness account for most of the criticism below four bubbles.

Ask a follow-up…

Works with every MCP-compatible tool

Cursor
Claude
VS Code
Windsurf
Cline
Hermes
OpenClaw
Kiro
No wrapper code
All 6 endpoints exposed as tools
Official & maintained
Free to install

Use cases

What teams build with Tripadvisor reviews.

Same API, endless applications. Here is what teams ship with public location reviews.

01

Property benchmarking

Compare rating, city ranking and recurring complaints across every property you manage and every rival nearby.

competitorsrankingresearch
02

AI agent context

Give Claude, Codex, or your MCP agent structured traveller reviews with sub-ratings, trip types and owner replies.

llmagentsmcp
03

Reputation monitoring

Poll new traveller reviews on a schedule and alert the duty manager when a complaint cluster starts to grow.

alertsmonitoringcron
04

Guest experience research

Turn per-aspect sub-ratings and review text into a clean operations dataset by trip type and season.

feedbackoperationsinsight
05

Portfolio reporting

Run the same two calls across a whole portfolio and export a ranking table that refreshes itself every week.

portfolioreportingcsv
06

Market research

Study a city’s hotels, restaurants and attractions to see what travellers value before you open there.

marketstravelinsight

Compare approaches

Spend time on the insight, not the collection layer.

What you needFetchLayerOfficial APIBuild it yourself
Read reviews without a partner licencePartner agreementYou build it
Full review text, not a snippetTruncated excerptYou extract it
City ranking & rating distributionLimitedYou build it
Browserless — no headless renderN/AYou run the browsers
Ready for AI and MCP workflowsYour integrationYour integration

FetchLayer provides access to publicly available data. It is not affiliated with, endorsed by, or sponsored by the platform.

Pricing

Start free. Scale when ready.

Pay per request with no commitment, or lock in a flat monthly rate with built-in savings.

Free plan — 30 requests

Verify responses, inspect the API, no credit card required.

Try free

Pay as you go

$1.99

per 1,000 requests

$0.00199 per request · credits never expire

How credits work — no multipliers

One credit = one API call, on every endpoint and platform. No matter how many results come back, you pay for the call, not the output size. Most scraping APIs charge multipliers of 5x, 25x, even 75x per call depending on the target — here it's always 1.

  • No multipliers — 1 request = 1 credit
  • No monthly commitment
  • Credits never expire
  • Same API & MCP access as subscribers
  • ∞ req/min, ∞ API keys
Get API key

Expiry

Credits stay until you use them. No monthly reset, no pressure to hit a quota.

0

Commitments

No subscription, no contract, no minimums. Start, pause, or scale whenever.

100%

Access

Every endpoint and MCP included. Not a limited tier — same data as any subscriber.

API reference

Every parameter, documented.

All requests are POST with a JSON body and Bearer auth header.

POST /tripadvisor/search-locations

Find hotels, restaurants, attractions, tours, cities and regions by name. Returns the location id every other endpoint takes, plus the kind of place, where it sits, its rating and its review count.

query* string Name of a hotel, restaurant, attraction, city or region
locationTypes string[] 'all' | 'hotel' | 'restaurant' | 'attraction' | 'activity' | 'geo'. Defaults to all.
limit number Maximum places returned (max 50), or -1 for everything available. Defaults to 10.
latitude number Bias results towards this point; pass longitude too.
longitude number Bias results towards this point.
POST /tripadvisor/location-profile

One place in full: rating with the per-bubble distribution and per-language counts, ranking within its city, price range, address and coordinates, phone, website, amenities, cuisines, opening hours, awards and description. Eight upstream operations resolved in a single request.

location* string Tripadvisor location id, or a hotel, restaurant or attraction URL
POST /tripadvisor/location-reviews

Traveller reviews with the full text, bubble rating, trip type, month of visit, date written, reviewer profile, per-aspect sub-ratings, attached photos and the owner’s reply. Tripadvisor serves 20 per page, so depth comes from pages and cursor.

location* string Tripadvisor location id, or a hotel, restaurant or attraction URL
limit number Maximum reviews returned (max 2000), or -1 for everything available. Defaults to 20.
pages number Pages of reviews to collect in one request (max 100). 20 reviews per page — this is the depth knob.
cursor string Resume from a previous response's nextCursor.
language string Language to request reviews in. A translation target, not a filter. Defaults to en.
translate boolean Return each review’s text translated into language. Defaults to false.
sortBy string 'recent' | 'detailed' | 'insightful'. Defaults to recent.
minRating number Only reviews rated this many bubbles or more (1 to 5).
tripTypes string[] 'business' | 'couples' | 'family' | 'friends' | 'solo'.
photosPerReview number How many photo URLs per review (max 20). Defaults to 4; 0 skips them.
POST /tripadvisor/location-photos

A place’s gallery as URLs, with captions, pixel dimensions, media type and credit. Each photo carries a download URL that streams the file itself through GET /tripadvisor/media, with HTTP Range support.

location* string Tripadvisor location id, or a hotel, restaurant or attraction URL
limit number Maximum photos returned (max 200), or -1 for everything available. Defaults to 20.
cursor string Resume from a previous response's nextCursor.
POST /tripadvisor/resolve-url

Parse any Tripadvisor URL into the identifiers it encodes — the location id, the geo id of the city or region, a review id, a photo id, the position in the review list, and the kind of place. Free: it never consumes a credit.

url* string Any Tripadvisor URL, to be parsed into structured identifiers

Fields marked * are required. Full API reference →

FAQ

Common questions.

Is Tripadvisor review data public?

Yes. Tripadvisor publishes traveller reviews, ratings, rankings and place profiles so anyone can read them. FetchLayer retrieves those publicly available records and returns them as structured JSON. FetchLayer is not affiliated with, endorsed by, or sponsored by Tripadvisor.

Do I need a Tripadvisor partner account or content licence?

No. You authenticate with your FetchLayer API key — the same Bearer token you use for every other platform. There is no partner application to file, no content API licence to negotiate, and no per-property credential to manage.

How many reviews come back per page?

Twenty, always. Tripadvisor serves reviews twenty to a page whatever limit you ask for — a request for 200 in one page returns a byte-identical 20. Depth comes from pages, which walks several pages in one request, and from cursor, which resumes where the last response stopped. Each page walked bills as one request, so a 10-page pull is 10 requests and 200 reviews.

Does the language parameter filter reviews to that language?

No, and this is the single most common misreading of the API. language is the language reviews are requested in, not a filter on what the reviewer wrote. Setting it changes the reported reviewCount — because Tripadvisor counts how many reviews it holds in that language — while the rows that come back stay a mix of languages. Set translate: true to get the review text itself in your language, and read originalLanguage and isTranslated on each review to know whether you are looking at the reviewer’s own words. If you need a real per-language count, the profile endpoint returns reviewCountsByLanguage.

What is the notes array on every response?

A list of plain-English caveats about that specific result: a page walk that stopped early, an upstream limit that was hit, a field Tripadvisor does not publish for that place. A response can be well-formed and still incomplete, and notes is where that gets said. Log it next to the payload and check it before treating a result as the whole story.

What can I pass as the location?

A Tripadvisor location id, or the URL of a hotel, restaurant or attraction page. If you only have a name, /search-locations turns it into an id along with the kind of place, its city, rating and review count. If you have a link somebody pasted, /resolve-url parses it into the location id, the geo id of the city, and a review or photo id where the URL carries one — and parsing a URL is free.

How fast is it, and does it render a browser?

No browser. It is a browserless backend talking to Tripadvisor’s own data layer, which is why a full place profile — rating distribution, city ranking, price range, address, hours, amenities, awards, description — is eight upstream operations resolved inside one request instead of a page load and a parse.

Can I use this with an AI model or MCP agent?

Yes. Every response is structured JSON you can store, embed, or hand to an LLM, and the five JSON endpoints are exposed through FetchLayer’s MCP server — so an agent can find a property, pull its reviews, and summarise what guests complain about without any wrapper code.

How does billing work?

One API request equals one credit, the same as every other FetchLayer platform — no multipliers. Each page of reviews walked counts as one request. Parsing a Tripadvisor URL with /resolve-url is free and consumes nothing; streaming photo bytes bills as a normal request. Tripadvisor is in Beta while coverage expands, at standard pricing.

Start pulling Tripadvisor location data today.

Get a free API key, make your first request, and put public feedback to work in your own product or research workflow.