Tripadvisor Scraper - Hotels, Restaurants, Reviews
Pricing
from $18.91 / 1,000 place results
Tripadvisor Scraper - Hotels, Restaurants, Reviews
Scrape Tripadvisor hotels, restaurants and attractions by location or URL. Get rating, subratings, rating histogram, ranking, price, awards, address, phone, website, coordinates, cuisines, amenities, photos and full reviews. Export to JSON, CSV or Excel.
Pricing
from $18.91 / 1,000 place results
Rating
0.0
(0)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
Tripadvisor Scraper - Hotels, Restaurants, Reviews
Here is one real result, with the fields the actor returns (amenities, images and reviews arrays trimmed for space):
{"query": "Novotel Paris Les Halles","category": "hotels","placeType": "hotel","type": "hotel","name": "Novotel Paris Les Halles","tripadvisorUrl": "https://www.tripadvisor.com/Hotel_Review-g187147-d197424-Reviews-Novotel_Paris_Les_Halles-Paris_Ile_de_France.html","webUrl": "https://www.tripadvisor.com/Hotel_Review-g187147-d197424-Reviews-Novotel_Paris_Les_Halles-Paris_Ile_de_France.html","locationId": "197424","locationString": "Ile-de-France, Paris","overallRating": 4.3,"reviewCount": 7489,"rankingPosition": 215,"rankingDenominator": 1885,"rankingString": "#215 of 1,885 hotels in Paris","ratingCount1": 145,"ratingCount2": 228,"ratingCount3": 690,"ratingCount4": 2263,"ratingCount5": 4163,"travelersChoice": true,"awards": ["Certificate of Excellence"],"subratingCleanliness": 4.3,"subratingLocation": 4.7,"subratingService": 4.3,"subratingValue": 3.9,"subratingRooms": 4,"subratingSleepQuality": 4.2,"priceLevel": "$$","priceRange": "$$ (Based on Average Nightly Rates for a Standard Room from our Partners)","addressStreet": "8 Place Marguerite de Navarre","addressCity": "Paris","addressPostalCode": "75001","addressCountry": "FR","address": "8 Place Marguerite de Navarre, Paris, 75001, FR","latitude": 48.861023,"longitude": 2.346508,"amenities": ["Free High Speed Internet (WiFi)", "Fitness Center with Gym / Workout Room", "Bar / lounge"],"image": "https://dynamic-media-cdn.tripadvisor.com/media/photo-o/2b/31/e2/f0/autour-de-l-hotel.jpg","images": ["https://dynamic-media-cdn.tripadvisor.com/media/photo-o/04/94/89/33/l-empire-paris.jpg"],"photoCount": 2094,"ancestorLocations": ["Europe", "France", "Ile-de-France"],"reviewsReturned": 3,"reviews": [{"reviewId": "1074731544","rating": 5,"title": "Beautiful as usual","text": "I had a great experience at Novotel Paris Les Halles during my latest stay. The hotel has been beautifully renovated since my last visit...","publishedDate": "2026-08-24","tripDate": "2026-08-31","tripType": "SOLO","author": "Mahmoud T","authorContributions": 3,"helpfulVotes": 0,"ownerResponse": null}],"source": "tripadvisor.com","observedAt": "2026-08-25T22:01:53.010Z"}
The most complete Tripadvisor scraper available. It returns every field a Tripadvisor place page exposes, including the exact ranking, the full rating histogram, sub-ratings, awards, photos and full reviews, plus derived fields such as canonical URL, price level and ancestor locations, and gives you filters to target exactly the hotels, restaurants and attractions you need.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- How we compare
- Quickstart
- Input reference
- Output reference
- Run via API and CLI
- Billing and limits
- FAQ and troubleshooting
- More scrapers
What it does
Give it a city and a category (hotels, restaurants, attractions, or all three), a list of searches, or exact place URLs, and it returns one clean row per place with:
- Identity: name, place type, category, canonical URL, location id, ancestor locations
- Reputation: overall rating, review count, exact ranking (position and denominator), rating histogram (1 to 5 star counts), sub-ratings (cleanliness, location, service, value, rooms, sleep quality for hotels; food, service, value for restaurants), awards and Travellers' Choice
- Price: price level ($ to $$$$) and the price range as shown
- Contact and location: full address (street, city, state, postal code, country), phone, website, email when listed, latitude and longitude
- Category detail: amenities for hotels, cuisines and opening hours for restaurants, hotel class and room count when listed
- Media: primary image, a gallery of photo URLs, and the total photo count
- Reviews (optional add-on): title, text, per-review rating, published date, trip date, trip type, author, author contribution count, helpful votes and owner response
- AI place summary (optional add-on): vibe, who it is best for, highlights and overall sentiment
Filters let you target by minimum rating, price level, cuisine or amenity, and reviews by minimum star, language and sort order.
How we compare
Objective comparison of the direct Tripadvisor scrapers on the Apify Store (data gathered from their public listings; adoption figures fluctuate). We concede honestly where a competitor is cheaper or more widely adopted.
| Capability | scrapers_lat/tripadvisor-scraper | maxcopell/tripadvisor + tripadvisor-reviews | thewolves/tripadvisor-reviews-scraper | epctex/tripadvisor-scraper | scrapemint/tripadvisor-scraper |
|---|---|---|---|---|---|
| Hotels | Yes | Yes | Reviews only | Yes | Yes |
| Restaurants | Yes | Yes | Reviews only | Yes | Yes |
| Attractions | Yes | Yes | Reviews only | Yes | Yes |
| Reviews | Yes (built in) | Yes (separate actor) | Yes | No | Snippets only |
| Places + full reviews in one actor | Yes | No (two actors) | No | No | Partial |
| Rating histogram | Yes | Yes | No | No | Yes |
| Sub-ratings | Yes | 3 (reviews actor) | 6 | No | 6 |
| Awards / Travellers' Choice | Yes | Yes | No | No | Yes |
| Photos + photo count | Yes | Yes | No | Partial | Yes |
| Place-level filters (min rating, price, cuisine, amenity) | Yes | Partial | No | No | Yes (min rating) |
| Multi-location per run | Yes | Yes | Yes | Yes | Yes |
| No charge on failed or empty runs | Yes | Varies | Varies | Rental | Varies |
| Adoption | Newer, growing | Highest (14k+ / 9k+ users) | Growing (1k+ users) | Low | New / unproven |
| Price | Pay per result | $2.00 / 1,000 places, $0.90 / 1,000 reviews | $0.50 / 1,000 reviews (cheapest reviews) | $20 / month rental | $10 / 1,000 places (most expensive) |
Where competitors win: maxcopell has by far the most adoption and reviews, and uniquely offers B2B leads enrichment with employee emails; thewolves is the cheapest reviews-only option and advertises the fastest review throughput; scrapemint also exposes guests/rooms filters. Where we win: hotels, restaurants, attractions and full reviews in a single run, with the widest set of valid output fields (histogram plus six-field sub-ratings plus awards plus photos plus canonical URL plus ancestor locations) and place-level filters, billed only for results actually returned.
Quickstart
Search a city for hotels, keep only well-rated ones, and attach reviews with full details:
{"locationQuery": "Barcelona","category": "hotels","maxResults": 20,"minRating": 4,"includeReviews": true,"maxReviews": 5,"reviewsSort": "recent"}
Scrape exact places by URL:
{"detailUrls": ["https://www.tripadvisor.com/Hotel_Review-g187147-d197424-Reviews-Novotel_Paris_Les_Halles-Paris_Ile_de_France.html"],"includeReviews": true,"maxReviews": 10}
Input reference
| Name | Type | Required | Description |
|---|---|---|---|
locationQuery | string | no | A city or place to search, e.g. Barcelona |
searchQueries | array | no | Multiple locations or free-text searches in one run |
category | string | no | hotels, restaurants, attractions, or all |
detailUrls | array | no | Exact Tripadvisor place URLs to scrape |
maxResults | integer | no | Max places across the run (free plans capped at 10) |
minRating | number | no | Keep places rated at or above this (0 to 5) |
minPriceLevel | integer | no | Keep places at or above this price level (1 to 4) |
maxPriceLevel | integer | no | Keep places at or below this price level (1 to 4) |
cuisines | array | no | Keep restaurants matching any of these cuisines |
amenities | array | no | Keep hotels matching any of these amenities |
checkInDate | string | no | YYYY-MM-DD hotel rate context (best effort) |
checkOutDate | string | no | YYYY-MM-DD hotel rate context (best effort) |
guests | integer | no | Adult guests for hotel rate context |
rooms | integer | no | Rooms for hotel rate context |
language | string | no | Preferred content language code (best effort) |
currency | string | no | Preferred currency code (best effort) |
includeReviews | boolean | no | Attach reviews and full details (paid add-on, off by default) |
maxReviews | integer | no | Max reviews per place |
reviewsSort | string | no | recent or helpful |
minReviewRating | integer | no | Keep reviews with at least this star (1 to 5) |
reviewLanguage | string | no | Keep reviews in this two-letter language code |
aiPlaceSummary | boolean | no | Add an AI summary per place (paid add-on, off by default) |
Output reference
| Name | Type | Description |
|---|---|---|
name | string | Place name |
placeType / type | string | hotel, restaurant or attraction |
category | string | Category searched |
tripadvisorUrl / webUrl | string | Tripadvisor page URL (canonical) |
locationId | string | Tripadvisor location id |
locationString | string | City / region string |
ancestorLocations | array | Parent locations (country, region, city) |
overallRating | number | Overall rating out of 5 |
reviewCount | integer | Total number of reviews |
rankingPosition / rankingDenominator / rankingString | integer / integer / string | Exact ranking within category and location |
ratingCount1 to ratingCount5 | integer | Rating histogram: number of 1 to 5 star reviews |
travelersChoice | boolean | Holds a Travellers' Choice award |
awards | array | Tripadvisor awards |
subratingCleanliness / subratingLocation / subratingService / subratingValue / subratingRooms / subratingSleepQuality | number | Hotel sub-ratings |
subratingFood / subratingAtmosphere | number | Restaurant sub-ratings |
priceLevel / priceRange | string | Price level ($ to $$$$) and displayed range |
addressStreet / addressCity / addressState / addressPostalCode / addressCountry / address | string | Address parts and full address |
phone / email / website | string | Contact details when listed |
latitude / longitude | number | Coordinates |
amenities | array | Amenities (hotels) |
cuisines / subcategories | array | Cuisines and tags (restaurants) |
acceptsReservations | boolean | Accepts reservations (restaurants) |
hotelClass / numberOfRooms | number / integer | Star class and room count when listed |
hours | array | Opening hours (day and time ranges) |
image / images / photoCount | string / array / integer | Primary photo, gallery URLs, total photo count |
reviews | array | Reviews: title, text, rating, publishedDate, tripDate, tripType, author, authorContributions, helpfulVotes, language, ownerResponse, reviewId |
aiVibe / aiBestFor / aiHighlights / aiSentiment | string / array | AI summary fields (AI add-on) |
source / observedAt | string | Data source and collection timestamp |
Run via API and CLI
Start a run via the API:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~tripadvisor-scraper/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"locationQuery":"Barcelona","category":"hotels","maxResults":20,"minRating":4}'
Or with the Apify CLI:
$apify call scrapers_lat/tripadvisor-scraper --input '{"locationQuery":"Rome","category":"attractions","maxResults":10}'
Fetch results
$curl "https://api.apify.com/v2/datasets/DATASET_ID/items?token=YOUR_TOKEN&format=json"
Billing and limits
You are billed per place returned. Optional add-ons (reviews and AI summary) are off by default and are charged only when they actually return data. Failed or empty runs are never charged. Free Apify plans are capped at 10 places per run, and the paid add-ons run only on paid plans. A spend cap (maxTotalChargeUsd) stops the run once your limit is reached. You never provide logins, keys or proxies; anti-bot handling is fully managed for you.
FAQ and troubleshooting
Which places can it scrape? Hotels, restaurants and attractions (things to do) for any Tripadvisor destination worldwide, by location search or by direct URL.
How do I get the rich fields (sub-ratings, histogram, awards, reviews)? Turn on Include Reviews, or pass exact place URLs. Those paths fetch each place's detail page, which carries the full data. A plain location search without Include Reviews returns the core fields fast and cheaply.
Do I need reviews? Reviews are an optional add-on. When enabled, the top reviews are attached to each place along with sub-ratings, histogram, awards, images and amenities.
Are live nightly hotel rates included? Check-in, check-out, guests and rooms are passed as context. Live partner nightly rates are not always exposed for scraping, so those specific values may be absent; all other fields are returned.
Is login or a proxy required? No. You provide a location or URLs, and everything else is handled internally.
What format is the output? A flat table you can export to JSON, CSV or Excel, or read from the dataset API.
More scrapers at scrapers.lat
Built by scrapers.lat. This actor collects publicly available information only and is not affiliated with, endorsed by, or sponsored by Tripadvisor.
