TripAdvisor Reviews Scraper - Hotels, Restaurants, Attractions avatar

TripAdvisor Reviews Scraper - Hotels, Restaurants, Attractions

Pricing

from $0.50 / 1,000 dataset items

Go to Apify Store
TripAdvisor Reviews Scraper - Hotels, Restaurants, Attractions

TripAdvisor Reviews Scraper - Hotels, Restaurants, Attractions

TripAdvisor Reviews Scraper extracts hotel, restaurant and attraction reviews by URL. At $0.50 per 1,000 reviews, all in with the per-place query charge, it returns 22 structured fields per review across 20 locale domains.

Pricing

from $0.50 / 1,000 dataset items

Rating

4.0

(10)

Developer

epctex

epctex

Maintained by Community

Actor stats

29

Bookmarked

375

Total users

3

Monthly active users

21 hours ago

Last modified

Categories

Share

TripAdvisor Reviews Scraper

TripAdvisor Reviews Scraper is an Apify actor that extracts reviews from TripAdvisor hotel, restaurant and attraction listings by start URL. TripAdvisor Reviews Scraper charges $0.005 per place plus $0.0005 per review, or $0.50 per 1,000 reviews beyond each place's free allowance.

The TripAdvisor Reviews Scraper accepts 8 input fields, reads from 20 TripAdvisor locale domains, returns 22 top-level fields per review, and bills through 2 pay-per-event charge events. Every price below is a per-event charge with no subscription and no monthly minimum. The TripAdvisor Reviews Scraper runs on the Apify platform and needs only a list of TripAdvisor URLs to start.

What Does the TripAdvisor Reviews Scraper Extract?

The TripAdvisor Reviews Scraper returns 22 top-level fields per review, grouped into 8 categories. Seven of the 22 fields are nested objects or arrays that carry further detail.

CategoryTop-level fieldNested detail
Review contentid, createdDate, publishedDate, publishPlatform, rating, language, originalLanguage, translationType, title, text, url, helpfulVotes, mcid13 flat fields
Trip contexttripInfo2 fields: stayDate, tripType
Sub-ratingsadditionalRatingsarray, 2 fields per entry: ratingLabel, rating
Photosphotosarray, 2 fields per entry: id, url
Reviewer profileuserProfile7 fields, including a nested contributionCounts object of 2 fields
Management responseownerResponse7 fields: id, publishedDate, language, text, username, responder, connectionToSubject
Listing detailslocation4 fields: locationId, placeType, parentGeoId, name
Source metadatainputSource4 fields: startUrl, placeId, pageNumber, filters

translationType is set to MACHINE and originalLanguage holds the source language whenever the languages filter caused TripAdvisor to return a machine-translated review.

Which TripAdvisor Listing Types Does the TripAdvisor Reviews Scraper Accept?

The TripAdvisor Reviews Scraper accepts 3 TripAdvisor listing types through the startUrls field: Hotel_Review, Restaurant_Review and Attraction_Review detail pages. Each URL must use the http or https protocol and resolve to a hostname that contains tripadvisor, and it must carry a place ID in the -d<digits>- segment of its path. A URL that fails either check is logged and skipped rather than stopping the run.

  • startUrls takes an array of TripAdvisor detail URLs, such as https://www.tripadvisor.com/Hotel_Review-g60763-d15288822-Reviews-...html, and queues one review query per unique place ID found in the array.
  • Two start URLs that resolve to the same place ID are deduplicated: only the first is queued, and the TripAdvisor Reviews Scraper logs the later one as already queued.

Who Uses the TripAdvisor Reviews Scraper?

Listed below are the 4 roles that run the TripAdvisor Reviews Scraper against TripAdvisor listing data.

  • Market analysts and researchers read rating, additionalRatings and tripInfo across every place in startUrls to compare listings on price-independent, structured sub-ratings such as Value, Rooms, Location and Cleanliness.
  • Hospitality teams filter with since and ratings to pull recent low-scoring reviews, then read text, ownerResponse and helpfulVotes to prioritize which guest complaints already have a management reply and which do not.
  • Content creators and bloggers read text, photos and userProfile.displayName to source quotable, attributable guest feedback for destination and accommodation write-ups.
  • Academic and tourism researchers use languages and locale together with customMapFunction to build multi-language datasets of guest-generated content across hotels, restaurants and attractions.

What Does the TripAdvisor Reviews Scraper Cost?

The TripAdvisor Reviews Scraper charges 2 pay-per-event types. A review-query costs $0.005 and a dataset-item costs $0.0005.

EventPriceCharged for
review-query$0.005Once per unique place in startUrls, charged up front regardless of how many pages of reviews that place needs.
dataset-item$0.0005Once per review written to the dataset. On paid plans, the first 10 reviews of every place are free; on free plans every review is charged.

TripAdvisor Reviews Scraper Cost Examples

The table below prices 4 scenarios against the rate card above.

ScenarioCharge eventsCalculationTotal cost
1 place, 100 reviews, paid plan1 review-query + 90 dataset-item (10 free)$0.005 + (90 x $0.0005)$0.05
3 places, 10 reviews each, paid plan3 review-query + 0 dataset-item (all 30 free)3 x $0.005$0.015
1 place, 10 reviews, free plan1 review-query + 10 dataset-item (no free allowance)$0.005 + (10 x $0.0005)$0.01
5 places, 50 reviews each, paid plan5 review-query + 200 dataset-item (10 free per place)(5 x $0.005) + (200 x $0.0005)$0.125

TripAdvisor Reviews Scraper Unit Economics

The 4 figures below are derived from the rate card above. None of them include the review-query charge unless stated.

MetricValue
Reviews per $1, dataset-item charges only2,000
Cost per 1,000 reviews beyond a place's free allowance (paid plan)$0.50
Ratio between a review-query charge and a dataset-item charge10x
Free reviews per place, paid plan only10

A run also checks its budget before it starts. If ACTOR_MAX_TOTAL_CHARGE_USD cannot cover one review-query per place, or, on a free plan, leaves no room for at least one dataset-item charge afterward, the TripAdvisor Reviews Scraper stops before queuing any request. In that case a non-paying account is charged for 10 dataset-item events as a minimum charge before the run exits; a paid account is not, since its per-place free allowance can still cover output on a query-only budget.

Does the TripAdvisor Reviews Scraper Offer a Free Demo Mode?

Yes. Free-plan accounts can run the TripAdvisor Reviews Scraper without a subscription, capped at 5 runs per month and 10 items per run. This cap overrides any maxItems value passed in the input: a Free-plan run does not scrape past 10 items per run, regardless of what maxItems requests. The Apify API is not available on the Free plan. Subscribing to a paid plan removes both caps and enables API access.

How Is the TripAdvisor Reviews Scraper Configured?

The TripAdvisor Reviews Scraper exposes 8 input fields covering start URLs, date and rating filters, language and locale, pagination and output shaping.

TripAdvisor Reviews Scraper start URL input TripAdvisor Reviews Scraper optional filters

FieldTypeRequiredDescription
startUrlsarrayYesTripAdvisor detail URLs to scrape. Only Hotel_Review, Restaurant_Review and Attraction_Review URLs are accepted.
sincestringNoOnly return reviews published on or after this date, as YYYY-MM-DD.
ratingsarray of 1 to 5NoOnly return reviews with these star ratings.
languagesarrayNoTarget language for the reviews, as a language code such as en. Only the first value is applied; reviews not written in it come back machine-translated with translationType set to MACHINE.
localestring, 1 of 20 valuesNoTripAdvisor domain the reviews are read from, such as tr for tripadvisor.com.tr. It does not translate on its own; translation follows languages.
endPageintegerNoFinal page to scrape, applied per start URL.
maxItemsintegerNoMaximum reviews to output, applied across all start URLs combined.
customMapFunctionstringNoA JavaScript function that takes each output object and returns the object that gets pushed.

The locale field accepts 20 values: fr, de, it, es, pt, nl, sv, da, no, tr, ru, he, th, ko, zh, ja, el, vi, id and ar.

Which Input Rules Does the TripAdvisor Reviews Scraper Enforce?

The TripAdvisor Reviews Scraper enforces 9 input rules covering URL validation, deduplication, filter scope and output shaping.

#Rule
1At least one entry in startUrls is required; an empty or missing list fails the run before any charge.
2Each start URL must use http or https and resolve to a hostname containing tripadvisor; anything else is logged and skipped.
3Each start URL must contain a place ID in its path; one that does not is logged as error C001 and skipped.
4Two start URLs pointing at the same place ID are deduplicated to a single review-query charge.
5languages applies only its first value; further entries in the array are ignored downstream.
6endPage limits pages per start URL; maxItems limits total reviews across every start URL.
7The months and types inputs from the previous, non pay-per-event version of the actor are no longer supported. Passing them logs a warning and does not affect the run.
8If customMapFunction throws, the TripAdvisor Reviews Scraper logs a warning and pushes the untransformed review instead of failing the run.
9A free-plan run additionally needs budget headroom for at least one dataset-item charge after its review-query charges, or it stops before starting.

The proxy and extendOutputFunction inputs from the previous, non pay-per-event version of the actor were removed from the input schema; passing them does not break a run, they are simply ignored.

How Do You Run a Basic Scrape with the TripAdvisor Reviews Scraper?

The TripAdvisor Reviews Scraper needs only startUrls to run: queue one or more TripAdvisor detail URLs and leave every other field unset to pull every review for those places, page by page, in the language it was written in.

{
"startUrls": [
"https://www.tripadvisor.com/Restaurant_Review-g60763-d25324283-Reviews-Allora_Fifth_Ave-New_York_City_New_York.html",
"https://www.tripadvisor.com/Hotel_Review-g60763-d15288822-Reviews-SpringHill_Suites_New_York_Manhattan_Times_Square_South-New_York_City_New_York.html"
]
}

How Do You Run a Filtered Scrape with the TripAdvisor Reviews Scraper?

The TripAdvisor Reviews Scraper narrows to recent, high-rated, English-language reviews when since, ratings, languages, endPage and maxItems are added: this example caps the first page of each place at 20 reviews total and reshapes each item with customMapFunction before it is pushed.

{
"startUrls": [
"https://www.tripadvisor.com/Restaurant_Review-g60763-d25324283-Reviews-Allora_Fifth_Ave-New_York_City_New_York.html",
"https://www.tripadvisor.com/Hotel_Review-g60763-d15288822-Reviews-SpringHill_Suites_New_York_Manhattan_Times_Square_South-New_York_City_New_York.html"
],
"since": "2024-01-01",
"ratings": ["4", "5"],
"languages": ["en"],
"endPage": 1,
"maxItems": 20,
"customMapFunction": "(object) => { return {...object} }"
}

Which Fields Does the TripAdvisor Reviews Scraper Output?

The TripAdvisor Reviews Scraper outputs 22 top-level fields per review, listed in the capability table above, plus an inputSource object that records which startUrl, placeId, pageNumber and filter set produced the item. A real dataset item looks like this:

{
"id": 1071727142,
"locationId": 1469038,
"createdDate": "2026-08-05",
"publishedDate": "2026-08-05",
"publishPlatform": "OTHER",
"rating": 1,
"language": "en",
"originalLanguage": "en",
"translationType": null,
"title": "SEVERE HYGIENE ISSUES - fleas and black mold",
"text": "Our stay at Hotel Cosmopolitan Bologna was an absolute nightmare...",
"url": "https://www.tripadvisor.com/ShowUserReviews-g187801-d1469038-r1071727142-Hotel_Cosmopolitan_Bologna-Bologna_Province_of_Bologna_Emilia_Romagna.html",
"helpfulVotes": 0,
"mcid": 0,
"tripInfo": {
"stayDate": "2026-08-31",
"tripType": "COUPLES"
},
"additionalRatings": [
{ "ratingLabel": "Value", "rating": 1 },
{ "ratingLabel": "Rooms", "rating": 1 },
{ "ratingLabel": "Location", "rating": 4 },
{ "ratingLabel": "Cleanliness", "rating": 1 },
{ "ratingLabel": "Service", "rating": 2 },
{ "ratingLabel": "Sleep Quality", "rating": 1 }
],
"location": {
"locationId": 1469038,
"placeType": "ACCOMMODATION",
"parentGeoId": null,
"name": "Hotel Cosmopolitan Bologna"
},
"provider": null,
"photos": [
{ "id": 874047470, "url": "https://dynamic-media-cdn.tripadvisor.com/media/photo-o/34/18/e7/ee/caption.jpg?w=2252&h=-1&s=1" }
],
"userProfile": {
"userId": "033CD45E8168DFF759DEE83BE8A69697",
"displayName": "Lucie M",
"username": "LucieKatM",
"avatar": "https://dynamic-media-cdn.tripadvisor.com/media/photo-o/1a/f6/ef/9c/default-avatar-2020-14.jpg?w=1200&h=-1&s=1",
"route": "/Profile/LucieKatM",
"hometown": null,
"contributionCounts": {
"sumAllUgc": 1,
"helpfulVote": null
}
},
"ownerResponse": {
"id": 1072666621,
"publishedDate": "2026-08-11",
"language": "en",
"text": "Dear Mrs Maredova, thank you for sharing your feedback...",
"username": "Daniele Scagliotti",
"responder": "Daniele Scagliotti",
"connectionToSubject": "Direttore generale"
},
"inputSource": {
"startUrl": "https://www.tripadvisor.com/Hotel_Review-g187801-d1469038-Reviews-Hotel_Cosmopolitan_Bologna-Bologna_Province_of_Bologna_Emilia_Romagna.html",
"placeId": "1469038",
"pageNumber": 1,
"filters": { "endPage": 1 }
}
}

Which Errors Does the TripAdvisor Reviews Scraper Report?

The TripAdvisor Reviews Scraper reports 6 error codes. 3 of the 6 codes are non-terminal, skipping one URL, place or page while the rest of the run continues. 3 codes terminate the run: C098, C099 and C100.

The 3 non-terminal codes split into 3 recovery behaviors:

  • 1 code (C001) skips a single start URL whose path carries no extractable place ID; every other start URL still runs.
  • 2 codes (C005, C006) skip a single place's page after the request layer's retries (10 by default) are exhausted or return a response without a reviews array; the TripAdvisor Reviews Scraper moves on to the next queued page.
CodeMeaningTerminal
C001No place ID was found in a start URL's path.No
C005The reviews request for a place failed after retrying.No
C006The reviews response for a place and page was missing its reviews array.No
C098An unhandled promise rejection occurred during the run.Yes
C099An uncaught exception occurred during the run.Yes
C100The run failed to initialize against the TripAdvisor Reviews Scraper's policy service.Yes

Which TripAdvisor Reviews Scraper Questions Come Up Most Often?

Does the TripAdvisor Reviews Scraper support Hotel, Restaurant and Attraction pages?

Yes. The TripAdvisor Reviews Scraper accepts Hotel_Review, Restaurant_Review and Attraction_Review detail URLs in the same startUrls array.

Can the TripAdvisor Reviews Scraper filter reviews by date and rating?

Yes. The since field filters by a YYYY-MM-DD lower bound and the ratings field filters to the selected 1 to 5 star values; both are optional and combine with each other.

Does the TripAdvisor Reviews Scraper translate reviews?

No. The TripAdvisor Reviews Scraper does not translate on its own. Setting languages returns reviews machine-translated by TripAdvisor into that language, with originalLanguage and translationType: "MACHINE" marking the ones that were translated.

What happens when a TripAdvisor Reviews Scraper start URL is invalid?

The TripAdvisor Reviews Scraper logs the URL as invalid and skips it; the run continues with the remaining start URLs and no charge is made for the skipped one.

Are duplicate place URLs charged twice by the TripAdvisor Reviews Scraper?

No. The TripAdvisor Reviews Scraper deduplicates start URLs by place ID before queuing, so a place listed twice is charged one review-query.

Can maxItems be set per URL in the TripAdvisor Reviews Scraper?

No. maxItems caps the total reviews across every start URL in the run; endPage is the field that applies per start URL.

Is there a keyword-search version of the TripAdvisor Reviews Scraper?

Yes. The TripAdvisor Scraper actor runs keyword and location searches to discover place URLs, descriptions and ratings, which then feed into the TripAdvisor Reviews Scraper's startUrls.

Where Do You Get TripAdvisor Reviews Scraper Support?

The TripAdvisor Reviews Scraper is published and maintained by epctex. General product questions go through epctex.com, and direct support is available at business@epctex.com. A video walkthrough of the TripAdvisor Reviews Scraper is available on YouTube.