TripAdvisor Reviews Scraper - Most Comprehensive
Pricing
from $0.04 / 1,000 reviews
TripAdvisor Reviews Scraper - Most Comprehensive
π₯ ~$0.05/1K reviews π₯ Scrape all reviews for any TripAdvisor business. Full review text, ratings, author profiles, trip types, and helpful votes. Accepts business URLs.
Pricing
from $0.04 / 1,000 reviews
Rating
0.0
(0)
Developer
Kai
Maintained by CommunityActor stats
0
Bookmarked
33
Total users
13
Monthly active users
6.2 hours
Issues response
6 days ago
Last modified
Categories
Share
Get the TripAdvisor reviews of any restaurant, hotel, attraction, or cruise. Each review has 32 fields: rating, title, full text, dates, trip type, language, reviewer details, category ratings, photos, and the owner's response. Filter by language, rating, trip type, month, publication date, and text. Sort by newest, detailed, or highest rating.
Read a few reviews or the full history of a place. A 20-review run takes about 2 seconds, and 1,000 reviews take about 5 seconds. Start with a TripAdvisor URL or a location ID. Starting at $0.04 per 1,000 reviews.
What can you do with it?
- Reputation monitoring. Collect the new reviews of your places every day or week with a start date.
- Competitor benchmarking. Compare ratings, category ratings, and owner response rates across hotels, restaurants, or attractions.
- Sentiment and topic analysis. Feed review text, ratings, trip types, and languages into your models.
- Complaint finding. Read only the 1- and 2-star reviews, or only the reviews that mention a topic such as "parking".
- Traveler research. See what couples, families, solo travelers, or business travelers say about a place.
- Owner response audits. Find the reviews that got a reply, read the replies, and see when the owner wrote them.
- Seasonal analysis. Compare what guests say in summer and in winter with the publication month.
- Market research by language. Read the reviews in one language, such as French or Japanese, to see how a local market sees a place.
- Full review archives. Download every review of a place, also a place with more than 100,000 reviews, such as the Eiffel Tower.
What data does it extract?
| Data | When you get it |
|---|---|
| Review ID, rating (1 to 5), title, full text | Every review |
| Published date and visit month, as display text and as ISO dates | Every review |
| Review language, original language, and a translation flag | Every review |
| Review link, helpful votes, and a pinned flag | Every review |
| Business ID, name, link, and place type (restaurant, hotel, attraction, or ship) | Every review |
| Reviewer name, member ID, profile link, total contributions, and verified flag | Every review |
| Reviewer avatar and hometown | When the reviewer added them |
| Trip type (business, couples, family, friends, or solo) | When the reviewer chose one. Most cruise reviews have none. |
| Category ratings, such as Value, Rooms, Service, and Cleanliness | When the reviewer rated categories. Attraction reviews have none. |
| Photos with captions | When the reviewer added photos |
| Owner response with text, date, author, and role | When the owner replied. Mostly hotels. |
| Review tips | When the reviewer wrote a tip |
TripAdvisor does not have every field for every review. A field without data is
null or [].
Quick start
- Enter a TripAdvisor review-page URL or a location ID in Business URLs or location IDs.
- Set Maximum reviews per business. Use
0to get all reviews. - Click Start. Download the results as JSON, CSV, Excel, or HTML.
The same input as JSON:
{"businesses": ["https://www.tripadvisor.com/Restaurant_Review-g60745-d5572598-Reviews-Ostra-Boston_Massachusetts.html"],"maxReviews": 20}
Examples by use case
The newest reviews of a place. Use a location ID instead of a URL if you have one. This is the default order:
{"businesses": ["5572598"],"maxReviews": 50}
Every review of a place. This also works for the biggest places. The Eiffel Tower has about 144,000 reviews and takes about 10 minutes. Use 1,024 MB of memory or more for a run of more than a few thousand reviews:
{"businesses": ["5572598"],"maxReviews": 0}
Monitor new reviews. Run this on a schedule and move the date forward each
time. Use the id field to skip reviews that you already have:
{"businesses": ["5572598"],"maxReviews": 0,"since": "2026-08-15"}
Find complaints. Only 1- and 2-star reviews:
{"businesses": ["5572598"],"maxReviews": 0,"rating": ["1", "2"]}
Reviews about a topic. English reviews of a hotel that mention breakfast:
{"businesses": ["https://www.tripadvisor.com/Hotel_Review-g60763-d93589-Reviews-The_Michelangelo-New_York_City.html"],"maxReviews": 100,"language": "en","searchQuery": "breakfast"}
Reviews from business travelers:
{"businesses": ["93589"],"maxReviews": 100,"tripType": ["Business"]}
Compare places. One run reads all the places. The dataset keeps the order of your list:
{"businesses": ["5572598", "802686", "105127"],"maxReviews": 200}
The best-rated reviews first:
{"businesses": ["5572598"],"maxReviews": 100,"sortBy": "highest"}
Reviews in another language. Set language to a code such as fr, de,
or ja:
{"businesses": ["188151"],"maxReviews": 100,"language": "fr"}
Summer reviews. Reviews that people published in June, July, and August:
{"businesses": ["188151"],"maxReviews": 200,"months": ["6", "7", "8"]}
TripAdvisor's detailed order. Reviews in the order that TripAdvisor calls "detailed":
{"businesses": ["93589"],"maxReviews": 100,"sortBy": "detailed"}
Owner replies. There is no filter for replies. Collect the reviews with the
"Every review of a place" input, then keep the rows where ownerResponse is not
null. ownerResponseDetail holds the reply date and the role of the person
who replied.
Choose the businesses
Put one or more entries in businesses. Each entry is a location ID or a
TripAdvisor review-page URL. You can mix both in one run.
- Location ID. This is the number after
-din the URL. The URL.../Restaurant_Review-g60745-d5572598-Reviews-Ostra-Boston_Massachusetts.htmlhas the location ID5572598. - URL. The Actor accepts restaurant, hotel, attraction, and cruise review
pages. Other TripAdvisor domains, such as
tripadvisor.co.ukandtripadvisor.fr, work too. Page offsets such as-or10-,#REVIEWS, and query strings are fine. A link to one review (ShowUserReviews) works too. - Not accepted. A page without a
-dnumber, such as a city page, has no location ID. The log showsCannot parse location from input, and the other businesses still run.
{"businesses": ["https://www.tripadvisor.com/Restaurant_Review-g60745-d5572598-Reviews-Ostra-Boston_Massachusetts.html","https://www.tripadvisor.com/Hotel_Review-g60763-d93589-Reviews-The_Michelangelo-New_York_City.html","https://www.tripadvisor.com/Attraction_Review-g60763-d105127-Reviews-Central_Park-New_York_City.html","https://www.tripadvisor.com/Cruise_Review-d25948295-Reviews-MSC_World_America"],"maxReviews": 5}
The Actor reads the businesses in your order, so the reviews of each business come as one block in that order. A repeated business is read again. A business that fails does not stop the others.
Filter the reviews
Filters are combined. A review must match every filter that you set. Inside one filter, a review can match any of the values.
language. Useallfor every language, or a code such asen,fr,de, orja. The results include TripAdvisor's machine translations into that language. UseisTranslatedandoriginalLanguageto keep only original reviews.rating. Any combination of1to5.tripType. Any combination ofBusiness,Couples,Family,Friends, andSolo.months. The calendar months in which the review was published, as numbers from1to12.searchQuery. Text that the review must match.since. The earliest publication date, asYYYY-MM-DD.
This example keeps English four- and five-star reviews from couples or families, published in January or February, that mention service:
{"businesses": ["5572598"],"maxReviews": 10,"language": "en","rating": ["4", "5"],"tripType": ["Couples", "Family"],"months": ["1", "2"],"searchQuery": "service","sortBy": "recent"}
A blank since or language counts as not set. Some integrations send blank
values for empty fields.
Choose the review order
sortBy sets the order. The default is recent.
| Value | Order |
|---|---|
recent | Newest first. |
detailed | TripAdvisor's detailed-reviews order. If TripAdvisor does not offer this order for a business, the Actor stops collecting reviews for that business. |
highest | Five-star reviews first, then four, three, two, and one. Newest first within each star level. |
A since date always uses newest order, whatever sortBy says. TripAdvisor
keeps a review that the owner pinned at the top of newest order. With since,
the Actor skips a pinned review that is older than the date.
Input reference
Only businesses is required.
| Field | Type | Default | Description |
|---|---|---|---|
businesses | string[] | required | One or more numeric location IDs or HTTPS TripAdvisor restaurant, hotel, attraction, or cruise review URLs. |
maxReviews | integer | 20 | Maximum unique reviews for each business. 0 collects all available reviews. |
sortBy | string | recent | recent, detailed for TripAdvisor's detailed-reviews order, or highest for the highest ratings first. |
language | string | all | all or a language code such as en, fr, de, or ja. Results include TripAdvisor's machine translations into that language. |
rating | string[] | all ratings | Any combination of 1, 2, 3, 4, and 5. |
tripType | string[] | all trip types | Any combination of Business, Couples, Family, Friends, and Solo. |
since | string | none | Earliest publication date in YYYY-MM-DD format. A since date uses newest order for every sortBy value. |
months | string[] | all months | Publication month numbers from 1 through 12. |
searchQuery | string | none | Text that returned reviews must match. |
proxyConfiguration | object | Apify Proxy enabled | Optional connection settings managed by Apify. |
Repeated businesses and repeated filter values are accepted. Unknown input
fields are ignored for compatibility. A since value that is not in
YYYY-MM-DD format fails the run.
Output
Each item in the dataset is one review. The Overview table shows the review
ID, business, rating, title, text, author, published date, and review link.
Every field below is in every item. A field without data is null or [].
These fields are always empty: accommodationCategory is null, and
reviewTips[].published is null. The empty fields stay so that existing
integrations keep working.
Fields by topic
- Review. ID, rating, title, text, and the review link. Helpful votes, the pinned flag, the review status, and the publishing platform.
- Dates. The published date as display text (
publishedDate) and as an ISO date (publishedDateISO), the creation date, and the visit month as text and as an ISO date. - Language. The language of the review as shown, its original language, a translation flag, and the translation type.
- Trip. Trip type and the review tip.
- Category ratings. A label and a value for each category the reviewer rated.
- Reviewer. Name, hometown, total contributions, helpful votes, avatar, profile link, member ID, user name, and verified flag.
- Photos. ID, URL, and caption of each reviewer photo.
- Owner response. The reply text, and the reply's ID, language, date, author, and role.
- Business. Location ID, name, link, and place type.
- Run. The UTC time at which the Actor read the review.
Review example
This example is a hotel review with category ratings, a photo, a tip, and an owner response. Square brackets mark values removed from the documentation.
Field groups
| Group | Root fields |
|---|---|
| Review | id, title, text, rating, helpfulVotes, isPinned, status, publishPlatform, reviewUrl, tipText, reviewTips |
| Dates | publishedDate, publishedDateISO, createdDate, dateVisited, dateVisitedISO |
| Language | language, originalLanguage, isTranslated, translationType |
| Trip and ratings | tripType, subratings |
| Reviewer | author |
| Photos | photos |
| Owner response | ownerResponse, ownerResponseDetail |
| Business | locationId, businessName, businessUrl, placeType, accommodationCategory |
| Run | scrapedAt |
Field notes
idis the TripAdvisor review ID. Use it to remove reviews that you already have, for example when you run a monitor on a schedule.publishedDateis TripAdvisor's display text, such as "October 1, 2026".publishedDateISOandcreatedDateuseYYYY-MM-DD.dateVisitedhas only the month. IndateVisitedISO, the day is always01.languageis the language of the review as shown. With alanguagefilter, TripAdvisor can show a machine translation.isTranslatedistruethen, andoriginalLanguageis the language that the reviewer wrote in.isPinnedistruefor a review that the owner pinned. TripAdvisor shows it first in newest order, whatever its date.ownerResponseandownerResponseDetail.texthold the same text.ownerResponseDetailadds the date, the author, and the author's role.author.displayNameisAnonymouswhen TripAdvisor gives no name.author.helpfulVotesisnullin current data.placeTypeisEATERYfor restaurants,ACCOMMODATIONfor hotels,ATTRACTIONfor attractions, andSHIPfor cruises.publishPlatformisnullin current data.reviewUrlandbusinessUrlalways start withhttps://www.tripadvisor.com, also when you give a URL from another TripAdvisor domain.
FAQ
How many reviews can I get?
There is no fixed limit. Set maxReviews to 0 to get all the reviews that
TripAdvisor lists for a business. For a place with very many reviews, the run
log tells you when the Actor reads the place in smaller parts. The reviews from
that point on come by star level, newest first within each level. TripAdvisor
adds and removes reviews all the time, so your count can differ by a few from
the count on the TripAdvisor page.
Why did I get fewer reviews than maxReviews?
maxReviews is an upper limit. The business can have fewer reviews, and your
filters can remove some. The Actor also removes repeated review IDs. A
since date can remove older reviews.
How do I find the location ID?
Open the place on TripAdvisor. The ID is the number after -d in the URL.
You can also give the whole URL.
How do I get only the new reviews?
Set since to the date of your last run, and run the Actor on a schedule.
Use the id field to remove reviews that you already have. Reviews that
TripAdvisor shows with a date before since are not returned.
Can I get the place details, such as the address, rating, and ranking?
This Actor returns reviews. To get the places themselves, use TripAdvisor Places Scraper.
A feature or field that I need is missing. What can I do?
Tell us in the Issues tab. Describe what you need and give an example business.
Where can I report a problem?
Open an issue in the Issues tab. Include the run ID and the input, so that we can reproduce it.
Similar Actors
- Yelp Reviews Scraper. Yelp reviews and business details from business URLs, aliases, or business IDs.
- Google Maps Reviews Scraper. Google Maps reviews with place context, from place URLs or Place IDs.
- Glassdoor Reviews Scraper. Glassdoor company reviews with ratings, pros and cons, employment details, and employer responses.
- G2 Scraper. G2 software reviews, products, analytics, comparisons, and discussions.