Tripadvisor Place Details Scraper avatar

Tripadvisor Place Details Scraper

Pricing

from $0.70 / 1,000 location-scrapeds

Go to Apify Store
Tripadvisor Place Details Scraper

Tripadvisor Place Details Scraper

Scrape the full Tripadvisor record for any hotel, restaurant or attraction. Just add URLs and get the rating, reviews per star and language, popular mentions, ranking, sub-ratings, amenities, price band, coordinates, address, phone, website and opening hours. $1.60 per 1,000 places.

Pricing

from $0.70 / 1,000 location-scrapeds

Rating

0.0

(0)

Developer

BonCross API

BonCross API

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 hours ago

Last modified

Categories

Share

What is Tripadvisor Place Details Scraper?

Give Tripadvisor Place Details Scraper a list of Tripadvisor links or ids and you get one row per place: what it is, how it's rated, where it ranks locally and how to contact it. It works for hotels, restaurants, attractions and destinations, and a list of 900 ids finishes in about 12 seconds.

This is the enrichment step. Use it when you already have the places, from your own list or from one of the Tripadvisor city scrapers, and want the full record behind each. Reviews themselves come from Tripadvisor Reviews Scraper.

Why pick this one:

  • You get the review breakdown most place data leaves out: the count for each star from one to five, the count per review language, and the phrases travellers mention most. All three were filled on 5 of 5 hotels and 4 of 4 attractions we measured.
  • Rankings arrive as numbers and as Tripadvisor's sentence. "#118 of 587 hotels in New York City" is also rankingPosition 118 and rankingDenominator 587, ready to sort.
  • Hotels come with six sub-ratings, the amenity list (20 to 59 per hotel in the sample), room features, languages spoken, style rankings and the Travellers' Choice award. Restaurants come with four sub-ratings, dietary options, meal types and dining options.
  • It's quick: a list of 900 ids took 11.9 seconds with the extra details, which is about 4,500 ids a minute.
  • $1.60 per 1,000 places on the Free plan and $0.70 on Business, usage included. A place that can't be read costs you nothing.

BonCross Verified means we tested this actor against the live site before release and kept the record:

  • 19 of 19 live checks on its inputs and filters passed on 7 October 2026
  • 15 places run the same day, hotels, restaurants and attractions: 14 places, 1 error row
  • Charges checked against the 14 places
  • A place that can't be read gets an uncharged row saying why

The basics are there too:

  • Get the name, description, rating and total review count for each place on your list
  • Collect coordinates, full address, phone, email and official website
  • Read the hotel class, the price band and the nightly price range Tripadvisor shows
  • Get restaurant cuisines and opening hours per day
  • See the neighbourhoods a place sits in and its parent city, region and country
  • Look a place up by its Tripadvisor address or by numeric id
  • Download the records as JSON, CSV, Excel, XML or HTML

What data do you get for each place?

FieldDescription
🏷️ NameThe place's name on Tripadvisor
CategoryHotel, restaurant, attraction or destination
⭐ RatingThe overall score out of five
Review countHow many reviews the place has
🥇 RankingPosition, total and the ranking sentence
🛎️ Hotel classThe star class, where one applies
💷 Price bandThe price level and the nightly range
📍 CoordinatesLatitude and longitude
🏠 AddressStreet, city, state, postcode and country
☎️ ContactPhone, email and official website
🍽️ CuisinesRestaurant cuisines
🕐 Opening hoursPer day, as clock times
🎟️ Entry feeWhether an attraction charges, where Tripadvisor says
NeighbourhoodsThe areas a place sits in
AncestorsParent city, region and country
🖼️ PhotoThe place's lead image
📊 Rating breakdownReviews per star, one to five, and per review language
💬 Popular mentionsThe phrases travellers mention most in reviews
Sub-ratingsCleanliness, location, rooms, service, sleep quality and value for hotels. Food, service, value and atmosphere for restaurants
🛏️ AmenitiesHotel amenities, room features, room types and languages spoken
🏆 AwardThe hotel's Travellers' Choice award and year
🥗 Restaurant optionsDietary options, meal types and dining options

How much does it cost to scrape Tripadvisor place details?

EventFree planStarterScaleBusiness
actor-start, per run$0.001$0.001$0.001$0.001
location-scraped, per place returned$0.0016$0.00096$0.00085$0.0007

Enterprise plans pay the Business price.

$1.60 per 1,000 places on the Free plan, $0.70 on Business. Proxy usage and platform usage are inside that price, and the extra details don't cost more.

  • A list of 1,000 places: $0.001 + 1,000 × $0.0016 = $1.601 ($0.70 on Business).
  • A list of five: $0.001 + 5 × $0.0016 = $0.009 ($0.0045 on Business).

With the $5 of monthly credits on Apify's Free plan you can look up about 3,100 places before paying anything.

How to scrape Tripadvisor place details

  1. Sign up for Apify, which is free, and open Tripadvisor Place Details Scraper.
  2. Paste your Tripadvisor page addresses or location ids into the list of places.
  3. Press Start.
  4. Download the records as Excel, CSV or JSON when the run finishes.

There's nothing else to set. One switch is on by default, and you'd only touch it to slim the row down.

⬇️ Input

You give it Tripadvisor page addresses or numeric location ids, mixed however you like. If your list lives in a file or a Google Sheet, load it through "Start URLs (bulk upload)". Both inputs are combined.

"Include rating breakdown, mentions and amenities" is on by default. It adds the rating breakdown, popular mentions, sub-ratings, amenities and the other columns marked Extra in the output table. Turn it off if you want the basic record only.

There's one limit, "Maximum places for the whole run". Leave it at 0 and your whole list is read. You aren't charged for anything past the cap when you set one.

A single hotel

{
"locations": ["https://www.tripadvisor.com/Hotel_Review-g60763-d93589-Reviews-The_Michelangelo_New_York-New_York_City_New_York.html"]
}

A mixed batch by id

{
"locations": ["93589", "1073239", "188151", "297704"]
}

For developers

  • locations and startUrls are merged. maxItems (default 0, no cap) stops the run after that many places.
  • includeExtraDetails (default true) controls the Extra columns. With it off the row is the basic record.
  • maxConcurrency (default 32, from 1 to 32) is the number of requests in flight across the run. Drop it if a run reports errors. At 1 the run goes strictly one at a time, with the same rows in the same order.
  • delayMs (default 0) is a pause before each request, in milliseconds.
  • Each row is saved as soon as it's read. A run that Apify interrupts and restarts picks up where it stopped, and no place is saved or charged twice.

⬆️ Output

You get one row per place. This one is a full hotel record with the extra details on.

{
"id": "93589",
"locationId": "93589",
"input": "93589",
"url": "https://www.tripadvisor.com/Hotel_Review-g60763-d93589-Reviews-The_Michelangelo_New_York-New_York_City_New_York.html",
"scrapedAt": "2026-09-12T17:58:11.904Z",
"name": "The Michelangelo New York",
"category": "Hotel",
"rating": 4.5,
"ratingScale": 5,
"totalReviews": 5211,
"rankingText": "#118 of 587 hotels in New York City",
"rankingPosition": 118,
"rankingDenominator": 587,
"stars": 4,
"priceLevel": "$$$$",
"priceText": "$268 - $959",
"priceMin": 268,
"priceMax": 959,
"lat": 40.761528,
"lng": -73.98261,
"street": "152 W 51st St",
"city": "New York City",
"state": "NY",
"postcode": "10019",
"country": "United States",
"phone": "12127651900",
"website": "https://www.michelangelohotel.com/",
"timezone": "America/New_York",
"neighborhoods": ["Theater District", "Midtown"],
"tags": ["Manhattan", "Mid-range"],
"photoUrl": "https://media-cdn.tripadvisor.com/media/photo-o/0a/22/4a/e8/mezzanine.jpg",
"ratingDistribution": { "1": 81, "2": 109, "3": 293, "4": 1127, "5": 3605 },
"reviewCountByLanguage": { "en": 4806, "it": 168, "pt": 70, "es": 53, "fr": 37 },
"reviewKeywords": ["times square", "great location", "central park", "rooms are large", "junior suite"],
"subRatings": [
{ "name": "Cleanliness", "rating": 4.71 }, { "name": "Location", "rating": 4.88 }, { "name": "Rooms", "rating": 4.62 },
{ "name": "Service", "rating": 4.56 }, { "name": "Sleep quality", "rating": 4.68 }, { "name": "Value", "rating": 4.33 }
],
"amenities": ["Paid private parking on-site", "Free High Speed Internet (WiFi)", "Fitness Center with Gym / Workout Room", "Bar / lounge"],
"roomFeatures": ["Bathrobes", "Air conditioning", "Room service", "Minibar"],
"roomTypes": ["Non-smoking rooms", "Suites", "Family rooms"],
"languagesSpoken": ["English", "French", "Spanish", "German", "Italian"],
"hotelStyles": [{ "name": "Romantic", "rank": 42 }, { "name": "Quiet", "rank": 23 }],
"awardType": "COE",
"awardYear": 2026,
"dietaryRestrictions": null,
"mealTypes": null,
"diningOptions": null
}
ColumnMeaning
category, categoryKey, subcategories, locationTypeWhat the place is: hotel, restaurant, attraction or destination, and Tripadvisor's finer classes
descriptionThe place's description
rawRankingTripadvisor's underlying popularity score behind the ranking
rankingPosition, rankingDenominator, rankingCategory, rankingText, rankingGeo, rankingGeoIdThe place's rank, what it is ranked among, and where
stars, starsAttributionHotel class, and who awarded it
priceLevel, priceText, priceMin, priceMaxPrice band ($ to $$$$) and the price range Tripadvisor shows
address, street, city, state, postcode, country, locationStringThe address, whole and in parts
timezone, neighborhoods, ancestorsThe place's timezone, its neighbourhoods, and the regions it sits in
phone, email, website, writeReviewUrlContact details as published, and the page for writing a review
cuisinesRestaurant cuisines
tagsTripadvisor's tags for the place, such as the area and price style
openingHours, openNowTextOpening hours by day, and Tripadvisor's open-now wording
hasFeeWhether an attraction charges for entry, where Tripadvisor says
isClosed, isLongClosedClosed for good, or closed for a long period
photoUrl, photoCaptionThe lead photo and its caption
isPartialRecordtrue when Tripadvisor's full place record was not available and the row has the core details only (see the limits in the FAQ). false on a full row
ratingDistributionExtra. Reviews per star: {"1": …, "5": …}
reviewCountByLanguageExtra. Reviews per language code, most first (en, fr, zh-CN …)
reviewKeywordsExtra. The popular mentions Tripadvisor shows above the reviews, up to 20
subRatingsExtra. {name, rating} per aspect, out of five: six for hotels, four for restaurants
amenities, roomFeatures, roomTypes, languagesSpokenExtra, hotels. All the amenities listed, highlighted or not
hotelStylesExtra, hotels. The styles the hotel ranks for (Romantic, Quiet, Classic …) and its rank in the city for each
awardType, awardYearExtra, hotels. The Travellers' Choice award (COE, or BOB for Best of the Best) and its year. Null when the hotel has none
dietaryRestrictions, mealTypes, diningOptionsExtra, restaurants. Dietary options, meals served, and dining options such as reservations, seating or cards accepted
input, errorWhat you asked for and, on a row for a place that could not be read, why

How often the extra columns are filled

We measured this on 4 October 2026 across 5 hotels, 2 restaurants, 4 attractions and 1 destination. A dash means the column doesn't apply to that kind of place and is always empty there.

ColumnHotelsRestaurantsAttractionsDestinations
ratingDistribution5 of 52 of 24 of 4-
reviewCountByLanguage5 of 52 of 24 of 4-
reviewKeywords5 of 5 (12 to 20 each)1 of 24 of 4 (19 to 20 each)-
subRatings5 of 5 (6 each)2 of 2 (4 each)--
amenities, roomFeatures, roomTypes, languagesSpoken5 of 5 (20 to 59 amenities)---
hotelStyles5 of 5 (8 to 10 each)---
awardType, awardYear3 of 5---
dietaryRestrictions-1 of 2--
mealTypes, diningOptions-2 of 2--

When you see an empty value, Tripadvisor shows nothing there for that place. The restaurant without mentions has eight reviews, and a hotel without an award hasn't won one.

How many places can you get, and how fast?

RunPlacesTimeCharge on the Free plan
One hotel12.5 s$0.0026
10 places of mixed kinds, with the extra details103.6 to 5.5 s$0.017
900 ids, 569 of them real places, with the extra details569, plus 331 error rows11.9 s$0.9114

That works out at about 4,500 ids a minute with the extra details (4 October 2026). Without them the same list took 8.4 seconds on 3 October, about 6,400 a minute. The times are whole runs on Apify, start-up included, and the 331 ids that weren't real places cost nothing.

Your list can be as long as you like. If you only want to try it on part of a list, set the run-wide maximum.

Use it from a pipeline

You'll probably run this behind something else: a venue list in a spreadsheet, a CRM, or the output of a city scrape. POST https://api.apify.com/v2/acts/boncross~tripadvisor-location-details/run-sync-get-dataset-items with {"locations": [...]} as the body returns the records in the same call for a short list, and the apify-client packages for Node.js and Python handle long ones. To track rankings over time, put the same list on an Apify Schedule and compare rankingPosition between runs.

Through the Apify MCP server (mcp.apify.com) an AI agent sees the actor as the tool tripadvisor-location-details and can look a place up mid-conversation.

FAQ

Do I need proxies or a Tripadvisor account?

You need neither. You don't sign in to anything, and proxy usage is included in the price.

Does it return reviews?

You get the place record, including how the reviews split by star and language and what they mention most. For the review text, use Tripadvisor Reviews Scraper with the same links.

Can I look a place up without its URL?

The numeric location id works on its own. It's the number after -d in any Tripadvisor address, such as 93589.

Why does a tour come back with fewer columns?

Bookable tours and activities have no full place record on Tripadvisor. You get a partial row, marked isPartialRecord: true, with the name, link, rating, review count, description, city and country, the lead photo, the write-a-review link, the rating breakdown and the popular mentions. Ranking, price, contact details and opening hours are empty. A partial row is billed like any other place.

Why is hasFee empty on my attractions?

The column is filled only where Tripadvisor states one. In our check on 7 October 2026 it was empty on all 5 attractions in the sample.

Why don't the star counts add up to the review total?

Tripadvisor keeps ratingDistribution and totalReviews separately, and on the busiest places they can differ slightly. The Louvre showed 104,628 against 103,407.

What are the limits?

  • The record is in English. Language and currency settings don't change it.
  • You get one lead photo per place, not the gallery.
  • Amenities and style rankings are for hotels, dietary options for restaurants, and awards for hotels only.
  • Sub-ratings are Tripadvisor's averages. A restaurant with few reviews can show the same score on each aspect.
  • Destination pages return a review count and a description but no rating, ranking or address, because those belong to places. They get no rating breakdown or mentions either: the counts Tripadvisor keeps for a destination describe the destination page, not the places in it, and we leave the columns empty.
  • rankingText is Tripadvisor's wording and can count a wider list than rankingDenominator. A restaurant reads "#692 of 15,866 places to eat" where the ranked list of restaurants is 9,146.
  • phone is as each place publishes it, and formats differ ("+1 212-883-7373", "(212) 310-6600", "12127651900").
  • Nightly price ranges come from Tripadvisor's display. Treat them as indicative, not as a live quote.
  • An input with no Tripadvisor id in it, or a place that can't be read, gets a row with input and an error message. Those rows are free.

Everything here is published by Tripadvisor to visitors who aren't signed in. Collecting public data is broadly lawful. How you use it, contact details included, is your responsibility under GDPR and similar rules, and it's worth taking legal advice if you're unsure.

More from BonCross

Your feedback

If a column is empty where Tripadvisor's page shows a value, or a place you expected came back as an error, open an issue on the Issues tab in Apify Console and include the link. We read them all and answer there.