Tripadvisor API: Get reviews
Gets the latest traveler reviews for a hotel, restaurant or attraction in a city (by name or Tripadvisor listing link), with the place's overall rating and review count. Dates of visit show the month and year when provided.
Unofficial. Not affiliated with or endorsed by Tripadvisor.
Inputs
Values from the run on Oct 31, 2026, shown under Output.
- City, required
city City of the place, for example Rome.
Rome
- Place Name, required
place_name Place name or Tripadvisor listing link, for example Hotel Artemide.
Hotel Artemide
- Max Reviews optional
max_reviews Maximum recent reviews to return, for example 10.
10 (default)
Whole number from 1 to 50.
Input as JSON
{ "city": "Rome", "place_name": "Hotel Artemide"}Output
{ "reviews": [ { "title": "Perfect location and very nice accommodations", "rating": 5, "trip_type": "family", "review_date": "2026-09-24", "review_text": "Great location. You never know when you pick a hotel online if it’s going to be in a safe and accessible area. This was everything we wanted. Great location, excellent customer service, beautiful room, excellent food and the value was right on point. Very clean Hotel! The staff were very accommoda…", "date_of_visit": "September 2026", "reviewer_name": "Andrea R", "tripadvisor_link": "https://www.tripadvisor.com/ShowUserReviews-g187791-d205044-r1079078435-Hotel_Artemide-Rome_Lazio.html" }, { "title": "Hotel Artemide, Rome Italy", "rating": 5, "trip_type": "couple", "review_date": "2025-10-22", "review_text": "We stayed at the Hotel Artemide in Rome for our 50th anniversary in September. The hotel is absolutely amazing and the service unbelievable! They gave us a bottle of wine and a card upon arrival and even let us get in the room early, which was nice after traveling from the US. Our room was lovely… Y…", "date_of_visit": "September 2025", "reviewer_name": "patty h", "tripadvisor_link": "https://www.tripadvisor.com/ShowUserReviews-g187791-d205044-r1035945542-Hotel_Artemide-Rome_Lazio.html" }, { "title": "great stay", "rating": 5, "trip_type": "family", "review_date": "2026-09-22", "review_text": "the hotel has a friendly staff , no matter what you need any of the staff were willing to offer there help , stayed in room 301 , opened the balcony window to via nationale ,, it was awesome , big breakfast decision , so much offered , so close to TREVI FOUNTAIN COLLISIUEM , PANTHEON, need to eat di…", "date_of_visit": "September 2026", "reviewer_name": "markbU4567LI", "tripadvisor_link": "https://www.tripadvisor.com/ShowUserReviews-g187791-d205044-r1078859879-Hotel_Artemide-Rome_Lazio.html" } ], "place_name": "Hotel Artemide", "place_type": "hotel", "total_reviews": 9588, "overall_rating": 4.8, "tripadvisor_link": "https://www.tripadvisor.com/Hotel_Review-g187791-d205044-Reviews-Hotel_Artemide-Rome_Lazio.html" , "tripadvisor_location_id": "205044"}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"tripadvisor.com/get_reviews","input":{"city":"Rome","place_name":"Hotel Artemide"}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "tripadvisor.com/get_reviews" , "input": { "city": "Rome", "place_name": "Hotel Artemide" }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "tripadvisor.com/get_reviews" , "input": { "city": "Rome", "place_name": "Hotel Artemide" } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run tripadvisor.com/get_reviews# with {"city":"Rome","place_name":"Hotel Artemide"}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "place_name", "city" ], "properties": { "city": { "type": "string", "minLength": 1, "description": "City of the place, for example Rome." }, "place_name": { "type": "string", "minLength": 1, "description": "Place name or Tripadvisor listing link, for example Hotel Artemide." }, "max_reviews": { "type": "integer", "default": 10, "maximum": 50, "minimum": 1, "description": "Maximum recent reviews to return, for example 10." } }}Output schema
{ "type": "object", "required": [ "place_name", "place_type", "overall_rating", "total_reviews", "tripadvisor_link", "tripadvisor_location_id", "reviews" ], "properties": { "reviews": { "type": "array", "items": { "type": "object", "required": [ "title", "rating", "review_date", "date_of_visit", "reviewer_name", "trip_type", "review_text", "tripadvisor_link" ], "properties": { "title": { "type": [ "string", "null" ] }, "rating": { "type": "integer" }, "trip_type": { "type": [ "string", "null" ] }, "review_date": { "type": [ "string", "null" ] }, "review_text": { "type": [ "string", "null" ] }, "date_of_visit": { "type": [ "string", "null" ] }, "reviewer_name": { "type": [ "string", "null" ] }, "tripadvisor_link": { "type": "string" } } } }, "place_name": { "type": "string" }, "place_type": { "enum": [ "hotel", "restaurant", "attraction" ], "type": "string" }, "total_reviews": { "type": "integer" }, "overall_rating": { "type": "number" }, "tripadvisor_link": { "type": "string" }, "tripadvisor_location_id": { "type": "string" } }}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
tripadvisor.com/get_reviews- Returns
- place name, type, overall rating, total reviews, link; per review: title, rating, review date, date of visit, reviewer, trip type, text, link
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method tripadvisor.com/get_reviews with the inputs above.
Ask your agent
- What are people saying lately about Hotel Artemide in Rome? Pull the 15 most recent reviews with ratings and trip types.
- Show me the latest traveler reviews on Tripadvisor for Le Comptoir du Relais in Paris, including the overall rating and how many reviews it has.
- I'm thinking of visiting the Sagrada Familia in Barcelona next month. Grab the newest 20 visitor reviews so I can check recent complaints about crowds or ticketing.
- Need recent guest feedback for The Langham in Chicago: review titles, star ratings, visit dates, and whether reviewers were couples, families, or business travelers. 30 reviews max.
- Get the 5 most recent Tripadvisor reviews for Sukiyabashi Jiro in Tokyo, plus its total review count and overall score.
See more
All Tripadvisor methodsLists Tripadvisor's ranked restaurants in a city from the first results page, optionally filtered by cuisine and price category. Sponsored listings are left out; up to 30 restaurants with rating, review count, cuisines, price range and address.
tripadvisor.com/list_top_restaurantsLists Tripadvisor's ranked things to do in a city from the first results page, for all attractions or one category (tours, museums, sights and landmarks, nature and parks), with rating, review count, category, and the description or neighbourhood when shown.
tripadvisor.com/list_top_attractionsFinds a place on Google Maps by name and location and returns its public reviews in the chosen order.
google.com/get_place_reviewsFinds a hotel on Google Hotels by name and city and returns its guest reviews in the chosen order, its Google rating and review count, and topic ratings averaged from the returned reviews that rate each topic.
google.com/get_hotel_reviewsReads recent public Trustpilot reviews for a company by name, website or Trustpilot link, in every language, with its TrustScore, ratings, reviewer details and company replies. Reviews follow the chosen sort (most recent or most relevant) and star filters, starting from a chosen results page.
trustpilot.com/get_company_reviewsFinds tours and experiences in a city on Viator, with optional keywords, date, currency and sorting. Prices are starting prices.
viator.com/search_toursFinds hotels in a city on Trip.com for given dates, with prices, guest ratings, reviews and booking links. Only the initial public listing is read, so large limits may return fewer hotels.
trip.com/search_hotelsLooks up a public Google Maps place by name and location and returns its profile: address, rating, hours, phone, website and photos.
google.com/get_place