TripAdvisor Reviews Scraper – Hotels, Restaurants & Attractions avatar

TripAdvisor Reviews Scraper – Hotels, Restaurants & Attractions

Pricing

from $0.70 / 1,000 results

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

TripAdvisor Reviews Scraper – Hotels, Restaurants & Attractions

Scrape Tripadvisor reviews from any hotel, restaurant, attraction or tour. Filter by stars, date and language, and get owner replies, photos and reviewer details. No login needed. Export to CSV, Excel or JSON. Great for reputation tracking, sentiment analysis and competitor research.

Pricing

from $0.70 / 1,000 results

Rating

0.0

(0)

Developer

Data WiKi

Data WiKi

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Features

Limited permissions

Share

🚀 What is Tripadvisor Reviews Scraper?

Tripadvisor Reviews Scraper is an Apify Actor that reads the public reviews of Tripadvisor hotels, restaurants, attractions and tours and saves one row per review. Each row holds the stars, text, dates, trip type, owner reply and photos, with the details of the place attached. You paste place links, set filters and export the data.

  • One row per review: rating, rank and address of the place sit inside every row, so a single table is enough to compare places.
  • Simple settings: star rating, review language, a start date and a sort order.
  • Many places per run: add a list of hotel, restaurant, attraction or tour links.
  • No Tripadvisor account: the Actor reads public pages that any visitor can see.
  • Optional personal data: switch reviewer details off when you only need ratings and text.

Use it as a Tripadvisor reviews extractor that runs from a simple form. Click Try for free, paste a place link and press Start.

📊 What data can you extract from Tripadvisor?

You can extract Tripadvisor reviews as JSON, CSV, Excel, XML or HTML. Every review is one object with the fields below. Each run gives you structured Tripadvisor reviews data. The example values are made up for illustration and are not real reviews.

FieldDescriptionExample
idTripadvisor review ID900000101
urlLink to the reviewhttps://www.tripadvisor.com/ShowUserReviews-g100001-d2345678-r900000101-Example_Garden_Cafe-Example_Town.html
titleReview titleExample title
langLanguage the review is shown inen
locationIdTripadvisor ID of the place2345678
publishedDateDate the review was written2026-10-20
ratingStars given, 1 to 52
helpfulVotesHelpful votes received1
travelDateMonth or day of the visit2026-09
tripTypeTrip type such as FAMILY, COUPLES, SOLO, BUSINESS or FRIENDS, when givenFRIENDS
textFull review textExample text written for this README.
originalLanguageLanguage the review was written inen
isMachineTranslatedTrue when the text was machine translatedfalse
subratingsExtra ratings such as Food or Service as name and value pairs[{"name": "Service", "value": 2}]
ownerResponseOwner reply: id, text, lang, publishedDate, responder, responderName, daysToRespond{"daysToRespond": 3, ...}
hasOwnerResponseTrue when the owner repliedtrue
wordCountWords in the review text6
photoCountNumber of photos on the review0
photosPhoto id, link, width, height and caption (removed when photos are switched off)[]
reviewerTipTip the reviewer left for other travelersnull
isPinnedFavoriteTrue when the reviewer pinned the reviewfalse
hasTrustSafetyAlertTrue when Tripadvisor flagged the reviewfalse
userReviewer block: userId, name, username, link, isVerified, avatar, hometown, userLocation, country, isDomesticReviewer, totalContributions, helpfulVotesReceived (left out when reviewer details are off){"name": "Example Reviewer", ...}
placeInfoPlace block: name, placeType, rating, numberOfReviews, ratingDistribution, subratings, rank, address, coordinates, amenities, cuisines, priceRange, phone, website{"name": "Example Garden Cafe", ...}
scrapedAtWhen the review was read (UTC)2026-11-01T09:00:00Z

Fields such as rank, price range, cuisines, phone, website and amenities depend on what the place page shows and can be null. The Output tab has three table views: Overview, Reviewer and Place data.

Hotel links produce a Tripadvisor hotel reviews dataset. Restaurant links produce a Tripadvisor restaurant reviews dataset. The ownerResponse field gives you Tripadvisor reviews with owner replies. The photos field adds Tripadvisor reviews with photos.

💡 Use cases for Tripadvisor data

  • Hotel reputation: schedule a weekly run with reviewsSince set to 7d to monitor new tripadvisor reviews of your property. The same rows feed hotel reputation management reports. Repeated runs let you track hotel ratings over time through placeInfo.rating.
  • Restaurant reputation: restaurant links give you the data for restaurant reputation management. Add several restaurant links to compare restaurant ratings in a city.
  • Complaints and satisfaction: set ratings to 1 and 2 to analyze negative hotel reviews. Read text and subratings side by side for guest satisfaction research for hotels.
  • Owner replies: ownerResponse.daysToRespond and publishedDate let you audit hotel owner replies. Counting hasOwnerResponse gives the review response rate for hotels.
  • Competitor comparison: add the links of rival hotels to compare hotels by guest reviews in one table. Rank, rating and ratingDistribution support hotel review benchmarking against competitors.
  • Datasets and models: export text and rating as a hotel review dataset for sentiment analysis. With the stars as labels, the rows work as training data for review sentiment models. Restaurant links add data for restaurant review sentiment analysis. Mixed runs build a travel review dataset.
  • Visitors: user.country, user.hometown and user.isDomesticReviewer show where hotel guests come from. Attraction pages support attraction visitor feedback analysis. Tour pages support tour operator reputation tracking.
  • Research: the exported rows serve hospitality review analytics. Restaurant owners can run restaurant guest feedback analysis on the same rows. Students can use them for tripadvisor reviews for academic research.

🛠️ How to scrape Tripadvisor reviews

  1. Create a free Apify account and open Tripadvisor Reviews Scraper in Apify Console.
  2. Paste one or more Tripadvisor hotel, restaurant, attraction or tour links into Place URLs.
  3. Set Max reviews per place (10 by default, 0 for every review) and any filters you need.
  4. Click Start and watch the log, which counts saved reviews.
  5. Open the Output tab to browse the reviews.
  6. Download the dataset in your preferred format.

No code is needed, so you can get tripadvisor reviews without coding. The Actor also works as a Tripadvisor reviews downloader for quick exports. To collect Tripadvisor reviews for a list of places, add one link per line. To pull Tripadvisor reviews again later, run the same input on a schedule.

How to get Tripadvisor reviews by star rating

Pick the stars you want in Filter by star rating, for example 1 and 2 for complaints. Only reviews with those ratings are saved.

How to get Tripadvisor reviews in any language

Leave Review language on all, or choose one of 35 language codes such as en, de or zh-CN. One language can be chosen per run.

How to get Tripadvisor reviews published after a date

Fill Reviews since date with a date such as 2025-01-31 or a relative value such as 90d or 6 months. With the default sort, which returns Tripadvisor reviews newest first, the Actor stops reading a place when it reaches older reviews.

How to get Tripadvisor reviews for many hotels at once

Add every place link to Place URLs. The Actor reads several places in the same run and saves their reviews into one dataset, and the placeInfo block tells the places apart.

💰 How much does it cost to scrape Tripadvisor?

Tripadvisor Reviews Scraper uses pay per event. The main_result event is charged once per review saved to the dataset, and the apify-actor-start event is charged once per run at $0.00005. Apify platform usage (compute) is billed on top of the events above.

Plan tierPrice per reviewPrice per 1,000 reviews
Free$0.001$1.00
Bronze$0.0009$0.90
Silver$0.0008$0.80
Gold, Platinum, Diamond$0.0007$0.70

Example: 1,000 reviews on the Free tier cost 1,000 x $0.001 = $1.00, and 500 reviews on the Gold tier cost 500 x $0.0007 = $0.35, each plus the $0.00005 start event. A review is never charged twice in one run. Check the Pricing tab for the current rates and set a maximum spend per run; the Actor stops cleanly when the limit is reached. The Actor is configured with 1024 MB of memory.

⬇️ Input

Only Place URLs (urls) is required. The example below reads up to 20 recent one and two star English reviews of one restaurant, and replaces the link with your own place (the ids in it are placeholders).

{
"urls": [
"https://www.tripadvisor.com/Restaurant_Review-g100001-d2345678-Reviews-Example_Garden_Cafe-Example_Town.html"
],
"maxReviewsPerPlace": 20,
"reviewsSince": "6 months",
"ratings": ["1", "2"],
"language": "en",
"sort": "newest",
"includeReviewerDetails": true,
"includePhotos": true
}
FieldWhat it does
urls (required)Tripadvisor hotel, restaurant, attraction or tour links, one per line. Links from any Tripadvisor domain work.
maxReviewsPerPlaceMost reviews saved for each place. 0 means every review. Default 10.
reviewsSinceOnly reviews written on or after a date (2025-01-31) or a relative value such as 90d or 6 months. Empty means no limit.
ratingsKeep only these star ratings ("1" to "5"). Empty means all.
languageall or one language code. Default all.
sortnewest (default), detailed or insightful.
includeReviewerDetailsAdd the reviewer block to every row. Default on. Leave it on to get Tripadvisor reviews with reviewer details.
includePhotosAdd the photos of each review. Default on.
proxyConfigurationOptional. You can choose a proxy here; the Actor starts without one.

💡 Keep Max reviews per place small for a first test and raise it once the output looks right.

💡 Newest-first sorting with Reviews since date is the quickest way to read only recent reviews.

⚠️ When Reviews since date is combined with the detailed or insightful sort, the Actor scans at most 100 pages of reviews per place before the date filter applies.

⬆️ Output

The scraped results are shown as a dataset in the Storage tab. The table view is for convenience and does not show all the fields. The dataset holds Tripadvisor reviews in JSON, and you can also download it as CSV, Excel, XML or HTML. The same rows open as a Tripadvisor reviews CSV in any spreadsheet. The sample below continues from the input above, is shortened and uses made-up values.

{
"id": 900000101,
"url": "https://www.tripadvisor.com/ShowUserReviews-g100001-d2345678-r900000101-Example_Garden_Cafe-Example_Town.html",
"title": "Example title",
"lang": "en",
"locationId": 2345678,
"publishedDate": "2026-10-20",
"rating": 2,
"helpfulVotes": 1,
"travelDate": "2026-09",
"tripType": "FRIENDS",
"text": "Example text written for this README.",
"originalLanguage": "en",
"isMachineTranslated": false,
"subratings": [{ "name": "Service", "value": 2 }, { "name": "Food", "value": 3 }],
"ownerResponse": {
"id": 900000102,
"text": "Example reply.",
"lang": "en",
"publishedDate": "2026-10-23",
"responder": "Manager",
"responderName": "Example Manager",
"daysToRespond": 3
},
"hasOwnerResponse": true,
"wordCount": 6,
"photoCount": 0,
"photos": [],
"reviewerTip": null,
"isPinnedFavorite": false,
"hasTrustSafetyAlert": false,
"user": {
"userId": "EXAMPLE0001",
"name": "Example Reviewer",
"username": "example_reviewer",
"link": null,
"isVerified": false,
"avatar": null,
"hometown": "Sampletown, Germany",
"userLocation": { "name": "Sampletown, Germany", "id": null },
"country": "Germany",
"isDomesticReviewer": false,
"totalContributions": 7,
"helpfulVotesReceived": 1
},
"placeInfo": {
"id": "2345678",
"name": "Example Garden Cafe",
"placeType": "RESTAURANT",
"rating": 4.0,
"numberOfReviews": 180,
"ratingDistribution": { "1": 8, "2": 12, "3": 25, "4": 60, "5": 75 },
"cuisines": ["Cafe"]
},
"scrapedAt": "2026-11-01T09:00:00Z"
}

A RUN_SUMMARY record in the key-value store lists totalReviews, placesProcessed, errors, httpRequests, durationSecs and spendLimitReached.

⚠️ Reviewer name, username, profile link, avatar and hometown are personal data. Switch Include reviewer details off when you only need ratings and text.

⚠️ Limitations and error handling

  • Only public reviews are collected. Nothing that needs a Tripadvisor login is read.
  • The number of saved reviews can be lower than the count a place shows. Filters, Max reviews per place and what Tripadvisor returns all reduce it.
  • One review language can be chosen per run. Run again for another language.
  • Links that are not hotel, restaurant, attraction or tour pages are skipped with a warning in the log.
  • A place that cannot be read is logged as failed and counted in errors of the run summary. The run can still finish successfully with fewer reviews, or with none when no link is valid, so check the log and the summary.
  • The Actor retries when Tripadvisor rejects a request. If access stays blocked, the run stops reading and keeps the reviews already saved.
  • There is no per-link status table. Failed places appear in the log and in the run summary only.
  • If you set a maximum spend per run, the Actor stops cleanly when it is reached.

🔌 Integrating Tripadvisor Reviews Scraper with other apps

You can start Tripadvisor Reviews Scraper from the Apify API, on a schedule or from a webhook, and send the results on to other tools. Run this Apify Tripadvisor reviews scraper from Console, the API or a schedule. For a weekly check, set reviewsSince to 7d and run the Actor on a schedule; each run then saves the reviews from that window.

🔗 Other Tripadvisor and review scrapers by data_wiki

ActorWhat it extractsWhen to use it
Tripadvisor Review ScraperThe same review fields, with extra keyword, month and traveler-type filters and seven tablesYou need those filters or a status row for each link
Tripadvisor ScraperPlaces from search terms or links: details, awards and contact info, with optional reviewsYou start from a search term or want place data first
Airbnb ScraperAirbnb listings with prices, hosts, amenities, ratings and guest reviewsYou compare hotels with short-term rentals
Glassdoor Reviews & Jobs ScraperEmployee reviews, salaries and jobs for a companyYou analyze reviews of employers instead of travel places

If you want to filter Tripadvisor reviews by keyword, month or traveler type, that sibling exposes those inputs. To search Tripadvisor places by keyword and collect place data, use the place-first Actor. You can read stay listings and guest reviews on Airbnb next to hotel feedback. The link to employer reviews on Glassdoor is a weak one, because the data is about workplaces, but the review analysis is the same kind of work.

Tripadvisor Reviews Scraper only collects reviews and profile details that users have made public on Tripadvisor, and it does not read private data or anything behind a login. Follow the rules that apply to you, such as the GDPR and CCPA, respect Tripadvisor's terms and the copyright of review text and photos. This is not legal advice; consult a lawyer if you are unsure. See is web scraping legal and ethical web scraping for background.

Handling reviewer personal data

Reviews contain personal data: reviewer names, usernames, profile links, avatars, hometowns and the review text itself. Collect it only with a legitimate reason and do not use it to profile or contact individual reviewers. Turn Include reviewer details off to leave the reviewer block out of the dataset. The run log never prints reviewer names.

❓ FAQ

Which Tripadvisor reviews scraper should I use?

Three Tripadvisor Actors by data_wiki exist. This one saves one dataset with three views, 10 reviews per place by default, and rating, language, date and sort filters. The review Actor with seven tables returns the same review fields plus keyword, month and traveler-type filters, seven tables with a status row per link, and 50 reviews by default. The place-first Actor for search terms takes search terms or links, returns place data such as awards and contact info, and collects reviews only if you ask for them. Pick the one whose inputs and tables fit your task.

Do I need a Tripadvisor account or API key?

No. This Tripadvisor reviews scraper without login reads public pages, so you only need an Apify account.

How many reviews can I get?

As many as Tripadvisor returns for the place and your filters. Max reviews per place defaults to 10, and 0 reads every review. Run a small test first to confirm the count.

Is there a Tripadvisor reviews API?

You can run the Actor and read its dataset through the Apify API. It is not an official Tripadvisor API.

Does it work on hotels and restaurants only?

No. Hotel, restaurant, attraction and tour pages from any Tripadvisor domain are accepted. Other page types are skipped with a warning.

Can I scrape private data or reviewer emails?

No. Only public review and profile details are collected, and no emails.

Do I need proxies?

No. The Actor starts without a proxy and retries when Tripadvisor rejects a request. You can choose a proxy in the input if you want one.

Can I use it through an MCP server?

Yes. Agents can find and call the Actor through the Apify MCP server with the same input as above.

💬 Your feedback

Found a problem or need another field? Open an issue in the Issues tab of the Actor. Need a custom solution? Contact hello.datawiki@gmail.com.