TripAdvisor Reviews Scraper — Hotels, Restaurants & Attractions
Pricing
from $1.00 / 1,000 review scrapeds
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
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?
| Field | Type | Description |
|---|---|---|
rating | integer | Overall star rating (1-5) given by the reviewer. |
title | string | Review headline. |
text | string | Full review text. |
stayDate / tripType | string | When the reviewer visited and the type of trip (e.g. FAMILY, COUPLES, BUSINESS). |
subRatings | array | Category breakdown, e.g. Value, Rooms, Location, Cleanliness, Service. |
reviewer | object | Display name, username, hometown, total contributions, profile URL. |
ownerResponse | object | The business's reply to the review, if one was posted. |
publishedDate | string | Date the review was published on TripAdvisor. |
reviewUrl | string | Direct 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
- Click Try for free (or Run) to open the Actor.
- Find the location you want to scrape on TripAdvisor and copy its URL — see How to find a TripAdvisor location URL below.
- Paste the URL(s) into TripAdvisor location URLs.
- Set Max reviews per location (default
100) and Review language (defaulten). - Click Start and view results in the Dataset tab once the run finishes.
- 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)
- Search for the business on tripadvisor.com.
- Open its detail/reviews page (
Hotel_Review-…,Restaurant_Review-…, orAttraction_Review-…). - 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
| Field | Type | Description |
|---|---|---|
startUrls | array (required) | TripAdvisor location URLs to scrape (hotel, restaurant, or attraction detail pages). |
maxReviews | integer (default 100) | Maximum number of reviews to fetch per location. Reviews are returned newest-first, in pages of 10. |
language | string (default en) | Two-letter language code to filter reviews by (e.g. en, es, fr, de, it). |
proxyConfiguration | object (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
| Field | Description |
|---|---|
reviewId | TripAdvisor's unique review ID. |
locationId | TripAdvisor's unique location ID (from the -d<number>- URL segment). |
placeName / placeType | Name and type (ACCOMMODATION, RESTAURANT, ATTRACTION) of the scraped location. |
rating | Overall star rating (1-5). |
title / text | Review headline and body. |
language / originalLanguage | Review language code and the language it was originally written in. |
createdDate / publishedDate | When the review was created and published. |
stayDate / tripType | When the reviewer visited and the trip category. |
helpfulVotes | Number of "helpful" votes the review received. |
subRatings | Array of { label, rating } category breakdowns. |
reviewUrl | Direct link to the review on TripAdvisor. |
reviewer | Reviewer's display name, username, verification status, hometown, contribution count, profile URL. |
ownerResponse | The business's reply (text, date, responder name/title), or null if none. |
sourceUrl | The location URL that was scraped. |
scrapedAt | ISO timestamp of when the review was scraped. |
Tips and advanced options
- Use
maxReviewsto cap a run while testing before scaling up to full review history. - Set
languageto pull reviews in a specific language only; TripAdvisor's machine translation flag is enabled, butoriginalLanguagealways 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
startUrlsentry. - 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.