Tripadvisor Reviews Scraper - Ratings, Owner Replies, Trips
Pricing
Pay per event
Tripadvisor Reviews Scraper - Ratings, Owner Replies, Trips
Bulk-download Tripadvisor reviews for any hotel, restaurant or attraction: rating, sub-ratings, title, text, trip type, visit date, owner reply, photos and reviewer profile. Export to JSON, CSV or Excel, or use the API. No login. For hospitality benchmarking. $0.002 per review.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Khandji Omar
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
5 days ago
Last modified
Categories
Security
Limited permissionsShare
Tripadvisor Reviews Scraper — Ratings, Owner Replies, Trips
Get the reviews of any TripAdvisor hotel, restaurant or attraction as a clean table: rating, title, text, trip type, traveler name and date. Paste TripAdvisor links, choose how many recent reviews per place, export to Excel, CSV or JSON. No login.
Price: $2 per 1,000 reviews from 22 October 2026 (see the Pricing tab for today's price). The first 10 results of every run are free.
The form is prefilled: press Start to see real rows in seconds.
In short: what you give, what you get, what it costs
| You give | TripAdvisor links of hotels, restaurants or attractions |
| We do | Read the place's most recent reviews |
| You get | One row per review: rating, title, text, trip type, travel date, helpful votes, photos, traveler location and the owner's reply |
| It costs | $2 per 1,000 reviews, $0.25 from 21 November 2026, no start fee. Optional scheduled monitoring: +$0.05 per check, $0.005 from 21 November (one-off runs never pay it). Apify also bills the supplier Actor kaix/tripadvisor-reviews-scraper that this robot runs for you, at its own price (about $0.05 per 1,000 results). The first 10 results of every run are free of this robot's fee. |
| It does not | Sign in to TripAdvisor or reply to reviews |
A real result row is shown further down this page.
Free tier — 10 results free on every run
The free results waive this Actor's own fee; the source Actor (kaix/tripadvisor-reviews-scraper) still bills its own price for every row it returns.
The first 10 results of every run are free, on every run you ever make — not a one-off trial. Run it on your own subjects and see the real output before you are billed for a single result.
One guard: the free allowance never covers more than half of a run, so a run returning 6 results gets 3 free. That keeps the offer sustainable.
What it does
Run it once and get the full, current data as clean rows you can export to JSON, CSV or Excel, or pull through the API. Need only fresh data? Turn on monitorEnabled and schedule it: every later run returns only what is new or changed since the previous one, so you never re-download or re-pay for the same rows.
Compared with maxcopell/tripadvisor-reviews
Read on the Store on 2026-10-23 (Tripadvisor Reviews Scraper). Where it does better, this section says so.
- Data source: this Actor runs kaix/tripadvisor-reviews-scraper for you, then cleans and checks every row.
- Only here (fields its Store page does not list):
change_type(new or changed since your last scheduled run);actionable(needs a reply or action);topic(what it is about (price, quality, support...));severity(how serious a complaint is);why_it_matters(one-line reading of the row);signals(what the row reveals). - This Actor's fee is free on the first results of every run, and a hard cost cap (
maxTotalChargeUsd) limits it. - Price: about $2.05 per 1,000 in total here ($2 for this Actor + $0.05 for kaix/tripadvisor-reviews-scraper), $5 at maxcopell/tripadvisor-reviews.
Why this scraper
- Try before you pay. The first 10 results of every run are free, on every run.
- Pay only for data delivered. Failed sources and failed inputs are never billed.
- Hard cost cap. Set
maxTotalChargeUsdand a run can never cost more than you allow. - Only-new mode. With
monitorEnabledon a schedule, you get just the new or changed rows, plus a spike signal when volume suddenly jumps. - Clean, normalized rows with the same field names every run, plus a
RUN_SUMMARY.json— ready for spreadsheets, databases, n8n/Make/Zapier and AI agents (MCP).
Example input
{"locationUrls": ["https://www.tripadvisor.com/Hotel_Review-g60763-d208453-Reviews-Hilton_New_York_Times_Square-New_York_City_New_York.html"],"maxTotalChargeUsd": 1.0}
This returns the full current data right away. To receive only what is new on a schedule, add "monitorEnabled": true: the first monitored run stores a free baseline, later runs return only new or changed rows. Pin a monitorId to keep separate targets from sharing state.
Output
Each row is one Tripadvisor review. A real row from a run on Apify (long texts are cut here and people's names hidden; your dataset has them in full):
A real row from this Actor's latest run on Apify (2026-10-24; long texts are cut and people's names hidden here, your dataset has them in full):
{"review_id": "1080272805","subject_id": "https://www.tripadvisor.com/Hotel_Review-g60763-d208453-Reviews-Hilton_New_York_Times_Square-New_York_City_New_York.html","author": "(hidden here)","rating": 5,"text": "Conveniently located in the heart of Times Square. A perfect “home base” for our 3 day stay where we could easily walk to theaters, resta...","published_at": "October 2, 2026","id": "1080272805","locationId": 208453,"businessName": "Hilton New York Times Square","businessUrl": "https://www.tripadvisor.com/Hotel_Review-g60763-d208453-Reviews-Hilton_New_York_Times_Square-New_York_City_New_York.html","title": "Great Location in Times Square","publishedDate": "October 2, 2026","dateVisited": "July 2026","tripType": "Family","ownerResponse": "Dear Avemaria,\nThank you for choosing Hilton Times Square as your home base and for sharing such a thoughtful review. We are glad that ou...","helpfulVotes": 0,"scrapedAt": "2026-10-24T19:00:23.873Z","reviewUrl": "https://www.tripadvisor.com/ShowUserReviews-g60763-d208453-r1080272805-Hilton_New_York_Times_Square-New_York_City_New_York.html","placeType": "ACCOMMODATION","isTranslated": false,"isPinned": false,"tipText": "Buy water and snack items from Target (across the street) to avoid higher prices at the onsite sundry (a 1L bottle of Evian was $11!)","createdDate": "2026-10-02","publishedDateISO": "2026-10-02","dateVisitedISO": "2026-07-01","language": "en","originalLanguage": "en","status": "PUBLISHED","author_displayName": "(hidden here)","author_hometown": "(hidden here)","author_totalContributions": "(hidden here)","author_avatarUrl": "(hidden here)","author_profileUrl": "(hidden here)","author_userId": "(hidden here)","author_isVerified": "(hidden here)","author_username": "(hidden here)","ownerResponseDetail_id": 1080754555,"ownerResponseDetail_text": "Dear Avemaria,\nThank you for choosing Hilton Times Square as your home base and for sharing such a thoughtful review. We are glad that ou...","ownerResponseDetail_language": "en","ownerResponseDetail_publishedDate": "2026-10-06","ownerResponseDetail_connectionToSubject": "General Manager","ownerResponseDetail_author_userId": "(hidden here)","ownerResponseDetail_author_displayName": "(hidden here)","ownerResponseDetail_author_profileUrl": "(hidden here)","ownerResponseDetail_author_avatarUrl": "(hidden here)","record_id": "1080272805","change_type": "new","actionable": false,"topic": "other","severity": "minor","why_it_matters": "New positive review — no action needed."}
| Field | What it holds |
|---|---|
locationName | hotel, restaurant or attraction |
rating | bubbles, 1 to 5 |
title | review headline |
text | review text |
travelDate | month of the visit |
tripType | couples, family, business... |
publishedDate | review date |
helpfulVotes | helpful votes |
photoCount | photos |
userLocation | reviewer's home town |
ownerResponseText | the owner's reply |
locationAverageRating | place's average rating |
topic | what the review is about |
why_it_matters | one-line reading for the owner |
reviewUrl | review link |
Each row also keeps the other fields the source returns, so you get everything above and more. In the Output tab, the Overview table shows these columns, readable without any code; export them as CSV, Excel, JSON or HTML.
Every field
| Field | What it holds |
|---|---|
review_id | review ID |
subject_id | the company, place or product the review belongs to |
author | author |
rating | rating |
text | text |
published_at | published at |
id | ID |
locationId | location ID |
businessName | business name |
businessUrl | business URL |
title | title |
publishedDate | published date |
dateVisited | date visited |
tripType | trip type |
ownerResponse | owner response |
helpfulVotes | helpful votes |
scrapedAt | scraped at |
reviewUrl | review URL |
placeType | place type |
isTranslated | is translated |
isPinned | is pinned |
tipText | tip text |
createdDate | created date |
publishedDateISO | published date ISO |
dateVisitedISO | date visited ISO |
language | language |
originalLanguage | original language |
status | status |
translationType | translation type |
author_displayName | author display name |
author_hometown | author hometown |
author_totalContributions | author total contributions |
author_avatarUrl | author avatar URL |
author_profileUrl | author profile URL |
author_userId | author user ID |
author_isVerified | author is verified |
author_username | author username |
ownerResponseDetail_id | owner response detail ID |
ownerResponseDetail_text | owner response detail text |
ownerResponseDetail_language | owner response detail language |
ownerResponseDetail_publishedDate | owner response detail published date |
ownerResponseDetail_connectionToSubject | owner response detail connection to subject |
ownerResponseDetail_author_userId | owner response detail author user ID |
ownerResponseDetail_author_displayName | owner response detail author display name |
ownerResponseDetail_author_profileUrl | owner response detail author profile URL |
ownerResponseDetail_author_avatarUrl | owner response detail author avatar URL |
record_id | stable ID of the row (used for new-only delivery) |
change_type | new / changed / removed since your last run |
actionable | true when the row calls for a reply or action |
signals | detected signals (complaint, praise, fake-review burst...) |
topic | what the review is about (pay, service...) |
severity | how urgent the review is |
why_it_matters | one-line reason this row deserves attention |
How you're charged
- Source Actor charge: this Actor runs kaix/tripadvisor-reviews-scraper inside your run, and Apify bills that run to your account at kaix/tripadvisor-reviews-scraper's own price (about $0.05 per 1,000 results, read on 2026-10-23), on top of this Actor's price. Each call to it is capped at $0.50.
- Reviews per place — from 22 October 2026 you choose how many recent reviews to read per link with
maxReviewsPerPlace, up to 1,000 (until then, and with monitoring on, 20 are read). - Review — from 22 October 2026: $0.002 per review ($2 per 1,000), the same on every plan, billed for each review delivered to your dataset. With monitoring on, only reviews that are new since the last check are delivered and billed.
- Monitoring check ($0.18) — only when you turn on scheduled monitoring (
monitorEnabled), once per target per run, and only when the source responded. One-off runs never pay it: you pay only per result. - One-off runs pay only per result. The monitoring check applies only to scheduled monitoring; every upstream call is capped, so a run can never cost more than you allow.
Related tools
- Already have review exports and just need dedup + new-review detection? → Review Cleaner & Deduplicator - Fakes, Duplicates, Score
All input fields
Every field the Start form accepts, so nothing in the schema is undocumented. Most runs only need the fields already covered above — these are the rest, including advanced/bring-your-own-data options.
currentReviews(Bring your own reviews (optional)) — Skip the chained fetch and pass review data directly, e.g. from your own export.previousReviews(Previous reviews (non-monitor mode)) — Reviews from the prior run; used to identify new feedback when not using persistent monitor mode.
How to use it in 3 steps
- Click Try for free and fill in TripAdvisor location URLs (
locationUrls). - Optional: adjust the other fields; every one has a description and a sensible default.
- Click Start and download the results as JSON, CSV or Excel, or read them from the API.
Use cases
- Hospitality benchmarking
- Sentiment analysis
- Competitor research
Use it from code (API)
Every Apify Actor is an API. Start a run and read the results with one call.
Python
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("om_kh/tripadvisor-reviews-scraper").call(run_input={"locationUrls": ["https://www.tripadvisor.com/Hotel_Review-g60763-d208453-Reviews-Hilton_New_York_Times_Square-New_York_City_New_York.html"]})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('om_kh/tripadvisor-reviews-scraper').call({"locationUrls": ["https://www.tripadvisor.com/Hotel_Review-g60763-d208453-Reviews-Hilton_New_York_Times_Square-New_York_City_New_York.html"]});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
One HTTP call (cURL) — runs the Actor and returns the dataset in the same response:
curl -X POST "https://api.apify.com/v2/acts/om_kh~tripadvisor-reviews-scraper/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \-H "Content-Type: application/json" \-d '{"locationUrls": ["https://www.tripadvisor.com/Hotel_Review-g60763-d208453-Reviews-Hilton_New_York_Times_Square-New_York_City_New_York.html"]}'
Integrations: n8n, Make, Zapier, Google Sheets
- n8n — the official Apify node, operation Run Actor and get dataset, Actor
om_kh/tripadvisor-reviews-scraper. - Make — Apify › Run an Actor, then Apify › Get Dataset Items.
- Zapier — Apify › Run Actor; map the dataset items into your next step.
- Google Sheets, webhooks, Slack — add an integration from the Integrations tab of this Actor.
- Schedules — run it every hour or day from Schedules in Apify Console.
Use it from an AI agent (MCP and x402)
Connect Claude Desktop, Cursor, VS Code or any MCP client to Apify's MCP server
at https://mcp.apify.com and add this Actor, om_kh/tripadvisor-reviews-scraper, as a tool — the
agent passes the same JSON as the run input and gets the dataset back.
AI agents that pay with x402 can run it too, without an Apify account: the Actor charges only per result delivered, so an agent pays exactly for what it gets.
FAQ
Is it legal to scrape TripAdvisor? This Actor collects only publicly available TripAdvisor data and never logs in. You are responsible for how you use it; check TripAdvisor's terms and your local law (GDPR, CCPA) if you store personal data, and ask a lawyer if unsure.
Do I need an account, cookies or an API key? No. You only need an Apify account to run it.
What data do I get? Guest reviews with rating, text, trip type and date. Download it as JSON, CSV, Excel, HTML or XML, or read it from the API.
Am I charged when something fails? No. An input that fails is listed with its reason in the run summary and is never charged.
Can I run it on a schedule? Yes. Create a schedule in Apify Console (hourly, daily, weekly) and connect webhooks, Google Sheets, Slack, n8n, Make or Zapier.
Can I use it from Python, JavaScript or an AI agent?
Yes: see the code samples above, or connect AI agents through MCP with the tripadvisor_new_reviews tool.
Your feedback
Did this Actor save you time? A short review on the Reviews tab helps other people find it, and every review is read. Something missing or broken? Open an issue on the Issues tab: it is answered and fixed fast.