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

0.0

(0)

Developer

Factden

Factden

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 hours 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 just a city name to get a list of that city's 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 and get a list of its 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 cityDiscover mode: put Barcelona in Search terms, pick hotels, set maxPlaces. Then feed the returned Location IDs into Reviews mode for their reviews.
  • Complaint miningminRating: 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 URLs
locationIdsarrayTripAdvisor location IDs (the d-number in a URL)
searchTermsarrayDiscovery mode: a city/place to find places in
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 or Attraction_Review URL, a location ID (the d-number), or a city name via Search terms.

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 searchTerms, 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.

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-07-31, Launch: reviews + property details + official subratings + AI summary + city discovery; standard field names; volume-tiered pricing; durable static-key backend.