TripAdvisor Reviews Scraper - All 5 Categories avatar

TripAdvisor Reviews Scraper - All 5 Categories

Pricing

from $0.40 / 1,000 results

Go to Apify Store
TripAdvisor Reviews Scraper - All 5 Categories

TripAdvisor Reviews Scraper - All 5 Categories

Scrape reviews from TripAdvisor for all 5 categories: Hotels, Restaurants, Attractions, Activities, and Cruises. Rich filters for any need: rating, traveler type, language, date range, and more. Fast API-based, no browser needed.

Pricing

from $0.40 / 1,000 results

Rating

5.0

(23)

Developer

ВAH

ВAH

Maintained by Community

Actor stats

40

Bookmarked

277

Total users

69

Monthly active users

7 days ago

Last modified

Categories

Share

What does TripAdvisor Reviews Scraper - All 5 Categories do?

TripAdvisor Reviews Scraper - All 5 Categories extracts review data from TripAdvisor — the world's largest travel platform. It works as an unofficial TripAdvisor API alternative, letting you collect structured review data from all 5 content categories: Hotels, Restaurants, Attractions, Activities (Tours & Experiences), and Cruises.

Just provide one or more TripAdvisor detail page URLs, and the Actor will return clean, structured review data in JSON, CSV, Excel, or other formats — ready for analysis.

Why use TripAdvisor Reviews Scraper - All 5 Categories?

TripAdvisor hosts over 1 billion reviews across millions of listings worldwide. Manually collecting this data is impractical. This Actor automates the entire process and gives you:

  • 🏨 All 5 categories — Hotels, Restaurants, Attractions, Activities, and Cruises in one tool
  • 🔍 Rich filtering — Filter by rating (1-5), traveler type, time of year, review language, and date range
  • 🌍 49 country sites — Read from any localized TripAdvisor domain (US, UK, Japan, Germany, France, etc.)
  • Rating overview — Every row carries the page's own overall rating and Excellent-to-Terrible breakdown, in the page's own wording
  • 📅 Date control — Scrape only recent reviews (last N days) or reviews after a specific date
  • 🌐 Auto-translate — Automatically translate non-English reviews to English
  • 📊 37 data fields per review — Including owner responses, user profiles, photos, and more
  • Fast & lightweight — Uses direct API calls, no browser needed. Low compute cost

Common use cases

  • Hospitality analytics — Monitor guest sentiment and satisfaction trends for hotels and restaurants
  • Competitive analysis — Compare review scores, traveler types, and seasonal patterns across competitors
  • Market research — Understand traveler preferences by region, language, and trip type
  • Reputation management — Track owner responses and identify unaddressed complaints
  • Content aggregation — Build travel recommendation engines and review dashboards
  • Academic research — Collect large-scale review datasets for NLP and sentiment analysis

Why choose this Actor over alternatives?

FeatureThis ActorOthers
CategoriesAll 5 (Hotels, Restaurants, Attractions, Activities, Cruises)Usually 1-3
MethodDirect APIBrowser-based (slow, expensive)
FiltersRating, traveler type, language, month, date rangeLimited or none
Regions49 localized domainsUS only or limited
Auto-translate✅ Built-in❌ Not available
CostLow (no browser overhead)Higher CU consumption

What data can you extract from TripAdvisor?

Each review includes 37 structured fields:

FieldTypeDescription
locationIdTextTripAdvisor location identifier
locationNameTextHotel, restaurant, or attraction name
locationAverageRatingNumberOverall rating shown on the page, e.g. 4.7
locationReviewCountNumberTotal reviews the page reports, e.g. 2522
locationRatingCountsObjectRating breakdown as shown on the page, e.g. {"Excellent": 2032, "Good": 312, "Average": 101, "Poor": 40, "Terrible": 37}
reviewIdTextUnique review identifier
reviewUrlLinkDirect URL to the review
titleTextReview title/headline
textTextFull review text
ratingNumberOverall rating (1-5)
additionalRatingsObjectSub-ratings (Service, Value, Location, etc.)
publishedDateDateWhen the review was published
createdDateDateWhen the review was written - this is the date the page shows, and what Most recent sorts by. Differs from publishedDate on roughly 10% of reviews
travelDateTextWhen the reviewer traveled
tripTypeTextFamily, Couples, Solo, Business, or Friends
languageTextReview language code
translationTypeTextMACHINE when the text you got was machine-translated - the page shows a "Machine Translated" badge on these
helpfulVotesNumberNumber of helpful votes received
photoUrlsArrayURLs of photos attached to the review, up to 10
photoCountNumberHow many photos the review really has, so you can tell when photoUrls was capped
usernameTextReviewer's display name
userLocationTextReviewer's location
contributionCountNumberReviewer's total contributions - the "N contributions" on the page
userHelpfulVotesNumberHelpful votes the reviewer has collected across all their reviews - the "N helpful votes" shown next to it. Not the same as helpfulVotes, which counts votes on this one review
userProfileUrlLinkLink to reviewer's profile
ownerResponseRoleTextHow the responder is described on the page, e.g. Owner, General Manager
ownerResponseTextTextManagement/owner response to the review
ownerResponseDateDateWhen the owner responded

Plus additional fields: userAvatar, originalLanguage, ownerResponseName, cruiseLabels, reviewTips, attribution, page, crawledAt, detailUrl.

How to scrape TripAdvisor reviews

  1. Go to the Actor page on Apify Store and click Try for free
  2. Add TripAdvisor URLs — Paste one or more detail page URLs into the Detail Page URLs field. Supported URL formats:
    • https://www.tripadvisor.com/Hotel_Review-g60763-d93450-Reviews-...
    • https://www.tripadvisor.com/Restaurant_Review-g298113-d1176949-Reviews-...
    • https://www.tripadvisor.com/Attraction_Review-g297415-d502989-Reviews-...
    • https://www.tripadvisor.com/AttractionProductReview-g294217-d26810431-...
    • https://www.tripadvisor.com/Cruise_Review-d15691669-Reviews-...
  3. Set filters (optional) — Choose rating, traveler type, language, date range, or sort order
  4. Click Start — The Actor begins extracting reviews
  5. Download results — Export data as JSON, CSV, Excel, XML, or HTML from the Output tab

How much does it cost to scrape TripAdvisor reviews?

This Actor uses direct API calls instead of a browser, making it significantly cheaper than browser-based alternatives. There is no browser rendering overhead, so compute unit (CU) consumption stays low even for large-scale scraping jobs.

Cost depends on the number of reviews extracted and your Apify subscription plan. Apify offers a free tier to get started — you can test the Actor before committing to a paid plan.

Input

The Actor accepts the following input parameters. Only Detail Page URLs is required — all other fields are optional with sensible defaults.

ParameterTypeDefaultDescription
detailUrlsArray(required)List of TripAdvisor detail page URLs (up to 10,000)
maxReviewsNumber0 (all)Maximum reviews per URL. Set 0 for unlimited
regionSelectUnited StatesCountry site, same as the selector at the bottom of the page. Changes TripAdvisor's own labels (place name, reviewer hometown, sub-rating and rating-breakdown names), not the reviews
currencySelectU.S. DollarsThe currency selector at the bottom of the page (36 options). Reviews carry no prices, so this rarely changes anything in the output
ratingFilterMulti-selectAllFilter by star rating (1-5)
travelerTypeMulti-selectAllFamily, Couples, Solo, Business, Friends
timeOfYearMulti-selectAllFilter by month (1-12)
reviewLanguageSelectAll languagesThe "Read reviews in" dropdown. Returns reviews available in that language, with the text in that language; originalLanguage still shows what it was written in
startDateDateNoneOnly scrape reviews after this date. Forces Most recent sorting
recentDaysNumber0 (all)Only scrape reviews from the last N days. Forces Most recent sorting
sortBySelectMost recentMost insightful, Most recent, or Detailed reviews - same as the Sort by dropdown on the page. Ignored when a date filter is set
searchQueryTextNoneKeyword search inside the reviews, same as the Search reviews box on the page
autoTranslateBooleantrueThe "Include review content translations" switch. On, review text comes back in the language you are reading in; off, every review comes back exactly as written

For full details, see the Input tab on the Actor page.

Output

The Actor stores results in a dataset. You can download the data in multiple formats: JSON, CSV, Excel, XML, HTML.

Here is a simplified example of the output in JSON format:

{
"locationId": 93450,
"locationName": "Hyatt Grand Central New York",
"locationAverageRating": 3.5,
"locationReviewCount": 15005,
"locationRatingCounts": {"Excellent": 4361, "Good": 4325, "Average": 2947, "Poor": 1702, "Terrible": 1670},
"reviewId": 1076974161,
"reviewUrl": "https://www.tripadvisor.com/ShowUserReviews-g60763-d93450-r1076974161-Hyatt_Grand_Central_New_York-New_York_City_New_York.html",
"title": "September 2026",
"text": "I selected this hotel three times is because is close by to our NYC office. Others are not too great and I may try other hotel for the next time.",
"rating": 3,
"additionalRatings": {}, // Sub-ratings (e.g. Service, Value, Location). Empty {} when the reviewer left none
"publishedDate": "2026-09-09",
"createdDate": "2026-09-09", // The date the page shows. Differs from publishedDate on ~10% of reviews
"travelDate": "2026-09-30",
"tripType": "", // Family, Couples, Solo, Business or Friends. Empty when the reviewer did not say
"language": "en",
"originalLanguage": "en",
"translationType": "", // MACHINE when the text you got was machine-translated
"helpfulVotes": 0, // Helpful votes on THIS review
"photoUrls": [
"https://dynamic-media-cdn.tripadvisor.com/media/photo-o/34/87/02/ac/caption.jpg",
"https://dynamic-media-cdn.tripadvisor.com/media/photo-o/34/87/03/40/caption.jpg",
"https://dynamic-media-cdn.tripadvisor.com/media/photo-o/34/87/04/c7/caption.jpg"
],
"photoCount": 3, // Photos the review really has; photoUrls holds at most 10
"username": "Tak-wai K",
"userLocation": "Ohio",
"contributionCount": 4,
"userHelpfulVotes": 0, // Helpful votes the REVIEWER has collected across all their reviews
"userProfileUrl": "https://www.tripadvisor.com/Profile/takwaik2020",
"userAvatar": "https://dynamic-media-cdn.tripadvisor.com/media/photo-o/1a/f6/e8/91/default-avatar-2020-62.jpg",
"ownerResponseName": "GCC P",
"ownerResponseRole": "Owner",
"ownerResponseText": "Greetings from Hyatt Grand Central New York, Thank you for taking the time to share your feedback...",
"ownerResponseDate": "2026-09-09",
"cruiseLabels": {}, // {"Cabin Type": ..., "Type of Trip": ..., "Destination": ...}. Empty {} for non-cruise categories
"reviewTips": [], // Traveler tips. Empty [] for categories without tips
"attribution": "Hyatt Hotels", // Set when the page says "Review collected in partnership with ..."
"page": 3,
"crawledAt": "2026-09-13 07:23:22",
"detailUrl": "https://www.tripadvisor.com/Hotel_Review-g60763-d93450-Reviews-Hyatt_Grand_Central_New_York-New_York_City_New_York.html"
}

Tips for best results

  • Start small — Test with maxReviews: 10 first to verify the URL works and the output meets your needs
  • Use date filters — For ongoing monitoring, use recentDays (e.g., 30) to only scrape new reviews since your last run
  • Combine filters wisely — You can combine rating, traveler type, and language filters to extract exactly the reviews you need
  • LanguagesreviewLanguage works like the "Read reviews in" dropdown on the page: pick Japanese and you get the reviews available in Japanese, with the text in Japanese (machine-translated where the review was written in another language, as long as autoTranslate stays on). Turn autoTranslate off and the same reviews come back exactly as written instead. originalLanguage always tells you the language it was written in. Note that a language usually has far fewer reviews than the page total - a tour with 305 reviews may have only 33 in Japanese, so combining a language with recentDays can legitimately return nothing. region is a separate thing - it only changes TripAdvisor's own labels, never the reviews
  • Sorting — The default is Most recent, which returns every review. Most insightful is TripAdvisor's own ranking and leaves out a few reviews - mostly ones written in other languages and the newest few days - exactly as the page itself does (a tour showing 305 reviews under Most recent shows 293 under Most insightful). TripAdvisor only ranks tours & activities this way; on hotels, restaurants, attractions and cruises it gives you the same order as Most recent
  • Date filters override sortingstartDate and recentDays need the reviews in date order to know when to stop, so setting either one switches the run to Most recent. The run log says so when it happens
  • Schedule regular runs — Use Apify's built-in scheduling to automatically collect new reviews on a daily or weekly basis
  • Integrate with your tools — Connect the output to Google Sheets, Slack, Zapier, or your own API via Apify integrations

FAQ and support

Our Actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our Actors, when used for ethical purposes by Apify users, are safe. However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.

How many reviews can I scrape?

There is no hard limit from the Actor side. You can scrape all available reviews for a listing by setting maxReviews to 0. For listings with thousands of reviews, the Actor will paginate through all pages automatically.

Can I scrape reviews in languages other than English?

Yes. Use the reviewLanguage filter to select from 17 supported languages including English, Chinese (Simplified/Traditional), Japanese, Korean, German, French, Spanish, Italian, Portuguese, Russian, and more.

What if a URL is not supported?

The Actor supports 5 URL types: Hotel_Review, Restaurant_Review, Attraction_Review, AttractionProductReview, and Cruise_Review. If you provide an unsupported URL format, the Actor will log a warning and skip it.

Where can I get help?

If you encounter any issues, please open an issue on the Issues tab of this Actor's page. You can also reach out via the Apify community on Discord.