TripAdvisor Hotel Reviews API
Pricing
Pay per event
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.
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
markdownContentfield 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 extracts | From |
|---|---|
| Every review: text, title, rating, travel date, published date, helpful votes, language | hotels Β· restaurants Β· attractions |
| Owner / management responses | any 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, photos | one 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
markdownContentstraight 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
fromDateto last run; only the new ones come back. - List every hotel in a city β Discover mode: put
Barcelonain City or country, pickhotels, setmaxPlaces. 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)
- 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.)
- Set Max reviews per place (use a large number for all).
- 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. - Click Start. When it finishes, open the Output tab and Export β CSV (or JSON/Excel).

Input
See the Input tab. Industry-standard field names so API/MCP callers can fill them predictably:
| Field | Type | What it does |
|---|---|---|
startUrls | array | TripAdvisor Hotel_Review / Restaurant_Review / Attraction_Review / Airline_Review URLs |
locationIds | array | TripAdvisor location IDs (the d-number in a URL) |
searchKeywords | array | Discovery mode: a property name, brand, or keyword (e.g. Hilton) to find matching places directly |
searchLocation | string | Discovery mode: a city or country to scope the keyword to (e.g. Belgium); a city can also be listed on its own |
placeTypes | array | For search: hotels / restaurants / attractions |
maxPlaces | integer | For search: cap places per term |
maxReviews | integer | Reviews per place (large number = all) |
reviewLanguages | array | Filter reviews by language (or all) |
minRating / maxRating | integer | Star-rating range (1-5) |
fromDate / toDate | string | Review date window (YYYY-MM-DD) |
proxyConfiguration | object | Proxy (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).


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 plan | Per 1,000 reviews | Per 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.
Is it legal to scrape TripAdvisor?
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.
Related actors
- Booking.com Scraper β hotels, live prices, per-room rates, availability & occupancy, and guest reviews across a whole city or one hotel
- MCA India Company & Director Data Scraper β India MCA company master data + directors' personal email & phone, by CIN, DIN, name, or industry & state
- Airbnb Data Scraper β Airbnb listings, prices, availability, occupancy, ADR/RevPAR, and reviews; a pay-per-use AirDNA alternative
- Google Hotels Scraper, prices, OTA rates and reviews for any hotel.
- Expedia Reviews Scraper, all Expedia hotel reviews.
- Hotels.com Reviews Scraper, all Hotels.com reviews.
- G2 Reviews Scraper, software reviews from G2.
- Agoda Hotel Reviews Scraper, all Agoda hotel reviews in 33 languages.
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 optionalsearchLocationfilter to scope results to a city or country (e.g.HiltoninBelgium). 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.