TripAdvisor Hotel Reviews API avatar

TripAdvisor Hotel Reviews API

Pricing

Pay per event

Go to Apify Store
TripAdvisor Hotel Reviews API

TripAdvisor Hotel Reviews API

Scrape ALL reviews from any TripAdvisor hotel, restaurant, or attraction - a free, unlimited alternative to the official API (which returns only 3). Review text, ratings, dates, owner responses, per-review subratings, reviewer profiles, plus property details.

Pricing

Pay per event

Rating

5.0

(4)

Developer

Factden

Factden

Maintained by Community

Actor stats

10

Bookmarked

16

Total users

11

Monthly active users

5 days ago

Last modified

Share

Scrape all reviews from any TripAdvisor hotel, restaurant, or attraction, a free, unlimited alternative to TripAdvisor's official API, which returns only 3 reviews per location. Give it a TripAdvisor URL or a location ID and get every review as structured JSON: text, rating, travel date, owner responses, per-review subratings, reviewer profile, plus property details (rating, structured city ranking, price range, amenities, photos), TripAdvisor's official category subratings, and its AI review summary. Or run Discover mode with a city name or a property keyword (like Hilton Paris) to get a list of matching places with all those details.

Covers the searches people actually run: a TripAdvisor reviews API, to scrape TripAdvisor reviews, for TripAdvisor hotel reviews, restaurant reviews and attraction reviews, reliably, at scale, and cheap.

What makes this different

Most TripAdvisor scrapers give you only the review text and break every few weeks. This one:

  • Returns ALL reviews, not 3, the official TripAdvisor Content API caps at 3 reviews per location; this returns every public review.
  • Is one actor, not two, reviews and full property details and the AI summary in a single run (competitors split "reviews" and "listing details" into separate paid actors).
  • Ships the deepest data, owner responses, per-review subratings, official entity subratings, price range, ranking, amenities, photos, and an LLM-ready markdownContent field on every row.
  • Is durable, built on TripAdvisor's stable, static-key data endpoints, so it doesn't break on the web-page changes that take other scrapers down.
  • Two modes, Reviews (paste URLs or location IDs, get every review + place details) and Discover (search a city or a property keyword and get a list of matching places with full details).

Does TripAdvisor have a reviews API?

Yes, the official TripAdvisor Content API, but it is gated (approval required) and returns only 3 reviews per location, with no owner responses, no subratings, and strict display rules. This actor is the practical alternative: all public reviews, richer fields, no gatekeeping, pay only for what you extract.

What does TripAdvisor Hotel Reviews API do?

It extractsFrom
Every review: text, title, rating, travel date, published date, helpful votes, languagehotels Β· restaurants Β· attractions
Owner / management responsesany place
Per-review subratings (cleanliness, service, value, location, rooms, sleep quality)where the reviewer left them
Reviewer profile (username, home location, contributions, avatar)any review
Property details: name, address, geo, rating, structured city ranking, price range, hotel class, amenities/cuisine, photosone record per place
Official category subratings + TripAdvisor's AI review summary (prose + attribute chips)one record per place

Output is structured JSON, CSV, Excel or HTML, available via API, MCP, scheduler and every Apify integration (Make, Zapier, n8n, Google Sheets…).

Who is it for?

  • Hotels & hospitality, monitor your own and competitors' reviews, subratings and ranking over time.
  • Market & academic researchers, build review datasets across a whole city or category.
  • Reputation / BI teams, track sentiment, owner-response rates, and category scores.
  • AI / RAG builders, feed the LLM-ready markdownContent straight into a vector store or agent.

Example jobs it does

  • Scrape all reviews for one hotel β†’ paste its URL, set a high maxReviews.
  • Track new reviews weekly β†’ set fromDate to last run; only the new ones come back.
  • List every hotel in a city β†’ Discover mode: put Barcelona in City or country, pick hotels, set maxPlaces. Then feed the returned Location IDs into Reviews mode for their reviews.
  • Complaint mining β†’ minRating: 1, maxRating: 2.
  • Competitor subrating benchmark β†’ compare the place records' official cleanliness/service/value scores.

How to scrape TripAdvisor reviews (to CSV)

  1. Keep Mode on Reviews and paste one or more TripAdvisor URLs (hotel, restaurant or attraction), or enter Location IDs. (Don't know the places yet? Switch to Discover mode and search a city first to list them, then bring the Location IDs back here.)
  2. Set Max reviews per place (use a large number for all).
  3. Optionally filter by language, rating range (minRating/maxRating) or a date window (fromDate/toDate). Every run also returns the place record with the AI summary + official subratings.
  4. Click Start. When it finishes, open the Output tab and Export β†’ CSV (or JSON/Excel).

TripAdvisor Hotel Reviews API input form

Input

See the Input tab. Industry-standard field names so API/MCP callers can fill them predictably:

FieldTypeWhat it does
startUrlsarrayTripAdvisor Hotel_Review / Restaurant_Review / Attraction_Review / Airline_Review URLs
locationIdsarrayTripAdvisor location IDs (the d-number in a URL)
searchKeywordsarrayDiscovery mode: a property name, brand, or keyword (e.g. Hilton) to find matching places directly
searchLocationstringDiscovery mode: a city or country to scope the keyword to (e.g. Belgium); a city can also be listed on its own
placeTypesarrayFor search: hotels / restaurants / attractions
maxPlacesintegerFor search: cap places per term
maxReviewsintegerReviews per place (large number = all)
reviewLanguagesarrayFilter reviews by language (or all)
minRating / maxRatingintegerStar-rating range (1-5)
fromDate / toDatestringReview date window (YYYY-MM-DD)
proxyConfigurationobjectProxy (default Apify datacenter is enough)

Every run also emits one place record per place (property details + official subratings + AI summary). Reviewer profile, per-review subratings and owner responses are always included too (they arrive in the same call).

Output

Two datasets. Reviews (default, one row per review) and Places (one record per place).

TripAdvisor reviews output

TripAdvisor place details output with AI summary

Review row:

{
"placeId": 1465497,
"placeType": "hotel",
"placeName": "W Barcelona",
"reviewId": "1070232616",
"rating": 5,
"title": "Incredible stay",
"text": "The rooftop and the service were exceptional...",
"publishedDate": "2026-07-26T23:11:20-04:00",
"travelDate": "2026-07",
"helpfulVotes": 3,
"subratings": [{ "name": "Service", "value": 5 }, { "name": "Location", "value": 5 }],
"ownerResponse": { "responder": "GM W Barcelona", "text": "Thank you...", "publishedDate": "2026-07-28" },
"user": { "username": "traveler_bcn", "userLocation": "London, UK", "contributions": 42 },
"url": "https://www.tripadvisor.com/ShowUserReviews-...",
"markdownContent": "# Incredible stay, W Barcelona\n**Rating:** β˜…β˜…β˜…β˜…β˜… (5/5) ..."
}

Place record (abridged):

{
"placeId": 1465497, "name": "W Barcelona", "rating": 4.2, "numReviews": 8452,
"rank": 309, "rankOutOf": 594, "priceRange": "$459 - $822", "hotelClass": 5,
"subratings": { "cleanliness": 4.5, "service": 4.23, "value": 3.81, "location": 4.36, "rooms": 4.56, "sleepQuality": 4.6 },
"aiReviewSummary": { "title": "Reviews summary", "text": "W Barcelona is popular for its upscale amenities...",
"chips": [{ "attribute": "Location", "opinion": "Beachfront" }] },
"amenities": ["Beach", "Bar / Lounge", "Business Center"]
}

You can download the dataset as JSON, CSV, Excel or HTML.

Run on a schedule

Set a Schedule in Apify and pair it with fromDate (e.g. yesterday) to pull only new reviews on each run - ideal for ongoing reputation monitoring. Failures are alerted; the actor exits gracefully on transient issues.

AI agents, MCP & RAG

Every row carries an LLM-ready markdownContent field, and each dataset has an AI ingest view. Call the actor from any agent via the Apify MCP server, or feed the markdown straight into a vector store. The property record's aiReviewSummary gives you TripAdvisor's own generative summary + attribute chips for instant grounding.

Pricing

Pay-per-event, no start fee, you only pay for what you extract. Per-review pricing is volume-tiered by your Apify plan and undercuts every alternative at every tier:

Apify planPer 1,000 reviewsPer 1,000 place records
Free$0.45$2.00
Bronze$0.42$1.80
Silver$0.40$1.60
Gold$0.38$1.40

Example: 200 reviews + details for 1 hotel β‰ˆ $0.09. Reviews only, 1,000 reviews β‰ˆ $0.45.

This actor collects only publicly available data. You are responsible for using the data in compliance with applicable laws (including GDPR/CCPA for any personal data) and TripAdvisor's terms. Reviewer fields are public, pseudonymous profile data; handle them accordingly.

FAQ

Does TripAdvisor have a reviews API? Yes, but the official Content API is gated and returns only 3 reviews per location. This actor returns all public reviews with richer fields.

Which pages work? Any TripAdvisor Hotel_Review, Restaurant_Review, Attraction_Review or Airline_Review URL, a location ID (the d-number), or a property name/keyword via Keywords to search (optionally scoped by City or country).

Can I scrape airline reviews? Yes, in Reviews mode paste an Airline_Review URL (or the airline's location ID). You get every review just like a hotel. Airlines have no official category subratings or AI review summary (those are hotel/restaurant/attraction only), and airlines are not covered by Discover keyword search.

Can I get all reviews for a place? Yes, set maxReviews to a large number (e.g. 100000).

Can I search a whole city? Yes, use Discover mode: put the city in searchLocation, choose placeTypes, and set maxPlaces. It returns a list of places with full details; take those Location IDs into Reviews mode to get their reviews.

Can I search by property name or keyword? Yes. In Discover mode, put a property name, brand, or keyword (e.g. Hilton, W Barcelona, beach resort Bali) in searchKeywords. It returns the matching places directly, ranked by relevance, filtered to your placeTypes and capped by maxPlaces, no city or URL needed.

How does keyword matching work? It matches by whole words in the property name and is accent-insensitive, so type the full brand or venue word: Hilton, W Barcelona, Ritz Carlton, MeliΓ‘ all work (word order and punctuation do not matter). A trailing partial word is fine (Hilton Gard finds "Hilton Garden Inn"), but a standalone fragment like Hil will not match, use the complete word. Sub-brands with a different name are not returned by the parent (searching Hilton will not return Conrad or Waldorf Astoria); search those by their own name.

Can I limit a keyword search to a city or country? Yes, set searchLocation to a city or country (e.g. Belgium) and only matches in that place are kept, so Hilton + Belgium returns Belgian Hiltons, not the worldwide list. A city can also be listed on its own (no keyword). A country cannot be listed alone, pair it with a keyword. Use a full name (United States, not US).

Are reviews translated? Reviews come in the requested language (default English); pick specific languages via reviewLanguages.

Do I get subratings and owner responses? Yes, always included per review, plus computed/official category subratings on the place record.

What is the AI review summary? TripAdvisor's own generative summary of the reviews (prose + attribute chips), on the place record when property details are on.

Can I call it from an AI agent? Yes, via the Apify MCP server; the input uses standard field names and every row has markdownContent.

Does it break often? No, it's built on TripAdvisor's stable static-key data endpoints, not the fragile web page, so it's resilient to site redesigns.

Is a stale/merged URL a problem? No, a merged place self-heals to its current ID automatically.

Support

Found a bug or need a field added? Open the Issues tab on this actor, we respond quickly, and custom variants are available.

If this actor helped, a ⭐ review and a bookmark on the Apify Store mean a lot πŸ™

Changelog

  • 2026-08-10, Added keyword property search to Discover mode (searchKeywords): find places by name, brand, or keyword (e.g. Hilton) directly, no city or URL needed, plus an optional searchLocation filter to scope results to a city or country (e.g. Hilton in Belgium). Clearer status when an ID/URL does not resolve.
  • 2026-07-31, Launch: reviews + property details + official subratings + AI summary + city discovery; standard field names; volume-tiered pricing; durable static-key backend.