TripAdvisor Reviews Scraper — Hotels, Restaurants & Attractions avatar

TripAdvisor Reviews Scraper — Hotels, Restaurants & Attractions

Pricing

from $1.00 / 1,000 review scrapeds

Go to Apify Store
TripAdvisor Reviews Scraper — Hotels, Restaurants & Attractions

TripAdvisor Reviews Scraper — Hotels, Restaurants & Attractions

Scrapes TripAdvisor reviews with star ratings, sub-ratings (cleanliness, service, value), trip type, reviewer info, and owner responses. Supports hotels, restaurants, and attractions with language filtering.

Pricing

from $1.00 / 1,000 review scrapeds

Rating

0.0

(0)

Developer

Gopalakrishnan

Gopalakrishnan

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Extract TripAdvisor reviews and ratings for any hotel, restaurant, or attraction at tripadvisor.com — a fast, TripAdvisor API alternative that needs no browser or login. Give it one or more TripAdvisor location URLs and it returns structured JSON for each review: rating, title, text, stay/visit date, trip type, sub-ratings (value, service, cleanliness, etc.), reviewer profile, and the business owner's response, if any.

Why use TripAdvisor Reviews Scraper?

TripAdvisor reviews are a goldmine for hospitality and travel businesses, but the site has no public API for bulk review export. This Actor talks directly to TripAdvisor's own review-list endpoint, so it's fast and reliable — no browser rendering, no CAPTCHAs to solve.

That makes it useful for:

  • Reputation monitoring — track new reviews and ratings for your hotel, restaurant, or attraction over time.
  • Competitive intelligence — benchmark your ratings and review sentiment against competitors.
  • Market research — collect review text at scale for sentiment analysis or NLP pipelines.
  • Guest experience analysis — mine sub-ratings (cleanliness, service, value, location) to spot trends.

Running it on Apify also gives you:

  • Scheduling — run daily/weekly to build a historical review dataset.
  • API & integrations — trigger runs and pull results via the Apify API, or connect to Zapier, Make, Google Sheets, and more.
  • Proxy rotation & monitoring — built-in proxy support and run alerts, no extra setup.

What data does TripAdvisor Reviews Scraper extract?

FieldTypeDescription
ratingintegerOverall star rating (1-5) given by the reviewer.
titlestringReview headline.
textstringFull review text.
stayDate / tripTypestringWhen the reviewer visited and the type of trip (e.g. FAMILY, COUPLES, BUSINESS).
subRatingsarrayCategory breakdown, e.g. Value, Rooms, Location, Cleanliness, Service.
reviewerobjectDisplay name, username, hometown, total contributions, profile URL.
ownerResponseobjectThe business's reply to the review, if one was posted.
publishedDatestringDate the review was published on TripAdvisor.
reviewUrlstringDirect link to the review on TripAdvisor.

See Output below for a full example, or the Data / Schema tabs in Apify Console for every field.

How to scrape TripAdvisor reviews

  1. Click Try for free (or Run) to open the Actor.
  2. Find the location you want to scrape on TripAdvisor and copy its URL — see How to find a TripAdvisor location URL below.
  3. Paste the URL(s) into TripAdvisor location URLs.
  4. Set Max reviews per location (default 100) and Review language (default en).
  5. Click Start and view results in the Dataset tab once the run finishes.
  6. Export the dataset as JSON, CSV, Excel, or HTML, or pull it via the API.

How to find a TripAdvisor location URL

Every TripAdvisor hotel, restaurant, and attraction page has a URL containing a -d<number>- segment, which is the location's unique ID — for example:

https://www.tripadvisor.com/Hotel_Review-g45963-d91967-Reviews-Treasure_Island_TI_Las_Vegas-Las_Vegas_Nevada.html
└────┬────┘
location id (91967)
  1. Search for the business on tripadvisor.com.
  2. Open its detail/reviews page (Hotel_Review-…, Restaurant_Review-…, or Attraction_Review-…).
  3. Copy the full URL from your browser's address bar — that's it. You don't need to extract the ID yourself; the Actor parses it from the URL automatically.

How much will it cost to scrape TripAdvisor reviews?

This Actor uses Apify's Pay Per Event (PPE) pricing — you only pay for what you get, not for compute time:

  • $0.002 flat fee per Actor run (charged once, on start)
  • $0.0008 per review successfully scraped

For example, scraping 500 reviews across a few locations costs roughly $0.002 + (500 × $0.0008) ≈ $0.402. Check the Pricing tab in Apify Console for the current live rates, which may be adjusted over time.

Input

FieldTypeDescription
startUrlsarray (required)TripAdvisor location URLs to scrape (hotel, restaurant, or attraction detail pages).
maxReviewsinteger (default 100)Maximum number of reviews to fetch per location. Reviews are returned newest-first, in pages of 10.
languagestring (default en)Two-letter language code to filter reviews by (e.g. en, es, fr, de, it).
proxyConfigurationobject (default Apify Proxy)Proxy settings. Datacenter proxy is sufficient — no residential proxy needed.

See the Input tab in Apify Console for the full schema and defaults.

{
"startUrls": [
{
"url": "https://www.tripadvisor.com/Hotel_Review-g45963-d91967-Reviews-Treasure_Island_TI_Las_Vegas-Las_Vegas_Nevada.html"
}
],
"maxReviews": 100,
"language": "en",
"proxyConfiguration": { "useApifyProxy": true }
}

Output

Each scraped review is one row in the dataset, for example:

{
"reviewId": 1065375918,
"locationId": 91967,
"placeName": "Treasure Island TI Las Vegas",
"placeType": "ACCOMMODATION",
"rating": 5,
"title": "One night in Vegas",
"text": "Loved being in the middle of the strip. Room was clean. Beds were nice. The only thing was our great view was through a dirty window. But still great! We will be back at the end of the week",
"language": "en",
"originalLanguage": "en",
"createdDate": "2026-06-22",
"publishedDate": "2026-06-22",
"stayDate": "2026-06-30",
"tripType": "FAMILY",
"helpfulVotes": 0,
"subRatings": [
{ "label": "Value", "rating": 4 },
{ "label": "Rooms", "rating": 4 },
{ "label": "Location", "rating": 5 },
{ "label": "Cleanliness", "rating": 5 },
{ "label": "Service", "rating": 4 },
{ "label": "Sleep Quality", "rating": 5 }
],
"reviewUrl": "https://www.tripadvisor.com/ShowUserReviews-g45963-d91967-r1065375918-Treasure_Island_TI_Las_Vegas-Las_Vegas_Nevada.html",
"reviewer": {
"displayName": "G Clark",
"username": "520lenaf",
"isVerified": false,
"hometown": "Asheville, North Carolina",
"totalContributions": 3,
"profileUrl": "https://www.tripadvisor.com/Profile/520lenaf"
},
"ownerResponse": {
"text": "Thank you for your wonderful review. We are delighted to hear that you enjoyed our central location on the Strip...",
"publishedDate": "2026-06-23",
"responderName": "Anca B",
"responderTitle": "Guest Services / Front Office"
},
"sourceUrl": "https://www.tripadvisor.com/Hotel_Review-g45963-d91967-Reviews-Treasure_Island_TI_Las_Vegas-Las_Vegas_Nevada.html",
"scrapedAt": "2026-06-24T10:16:01.959Z"
}

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

Data table

FieldDescription
reviewIdTripAdvisor's unique review ID.
locationIdTripAdvisor's unique location ID (from the -d<number>- URL segment).
placeName / placeTypeName and type (ACCOMMODATION, RESTAURANT, ATTRACTION) of the scraped location.
ratingOverall star rating (1-5).
title / textReview headline and body.
language / originalLanguageReview language code and the language it was originally written in.
createdDate / publishedDateWhen the review was created and published.
stayDate / tripTypeWhen the reviewer visited and the trip category.
helpfulVotesNumber of "helpful" votes the review received.
subRatingsArray of { label, rating } category breakdowns.
reviewUrlDirect link to the review on TripAdvisor.
reviewerReviewer's display name, username, verification status, hometown, contribution count, profile URL.
ownerResponseThe business's reply (text, date, responder name/title), or null if none.
sourceUrlThe location URL that was scraped.
scrapedAtISO timestamp of when the review was scraped.

Tips and advanced options

  • Use maxReviews to cap a run while testing before scaling up to full review history.
  • Set language to pull reviews in a specific language only; TripAdvisor's machine translation flag is enabled, but originalLanguage always reflects what the reviewer actually wrote in.
  • One location failing (e.g. an invalid or removed URL) does not stop the rest of the run — the Actor logs a warning and moves on to the next startUrls entry.
  • Schedule the Actor (Apify Console → Schedules) to track new reviews and rating trends over time.

FAQ

Does this need a browser or login? No. The Actor uses plain HTTP requests to TripAdvisor's review API — no Puppeteer/Playwright, no TripAdvisor account required.

Can I scrape reviews in multiple languages in one run? Run the Actor once per language by setting language accordingly, or run it with the default and inspect originalLanguage on each review.

Some reviews don't have an ownerResponse — is that a bug? No. Not every business replies to every review; ownerResponse is null when no reply exists.

Found a bug or have a feature request? Open an issue in the Actor's Issues tab in Apify Console.

Disclaimer

This Actor only extracts data that is already publicly visible on TripAdvisor review pages — it does not access private accounts, bypass logins, or scrape any content a user hasn't chosen to share publicly. Our Actors are built to be used ethically and do not extract private user data such as email addresses. However, public reviews can still contain personal data (e.g. reviewer names, hometowns), which may be subject to GDPR or other privacy regulations depending on your jurisdiction and use case. You are responsible for using this Actor in compliance with TripAdvisor's Terms of Service and all applicable laws. If you're unsure whether your intended use is compliant, consult your legal counsel.