TripAdvisor URL: Hotels, Restaurants, Attractions, Reviews avatar

TripAdvisor URL: Hotels, Restaurants, Attractions, Reviews

Pricing

from $4.00 / 1,000 tripadvisor url parsed (location / lightweight)s

Go to Apify Store
TripAdvisor URL: Hotels, Restaurants, Attractions, Reviews

TripAdvisor URL: Hotels, Restaurants, Attractions, Reviews

Paste any TripAdvisor URL - hotel, restaurant, attraction, listing, reviews page or destination - and the actor auto-detects the type and returns the full structured payload. The only universal TripAdvisor URL parser on Apify Store.

Pricing

from $4.00 / 1,000 tripadvisor url parsed (location / lightweight)s

Rating

0.0

(0)

Developer

Data Forge

Data Forge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

TripAdvisor URL Parser

The only universal TripAdvisor URL parser on Apify Store. Drop in any TripAdvisor URL - hotel detail, restaurant page, attraction listing, reviews page, geo landing - and the actor auto-detects the page type and returns the matching structured payload. Optionally pulls reviews for every hotel / restaurant / attraction URL in the same run, so one input covers both the place and its reviews. No more wiring up six different scrapers to handle six URL patterns. One actor, one input, one consistent dataset.

Built for growth teams scraping competitor inventory, travel-research analysts pulling thousands of locations, and engineers who want one API for every TripAdvisor surface. Drop a URL → get a row (or, with reviews enabled, a row plus N more).

What it does

  • Accepts 1 to 500 TripAdvisor URLs in a single run.
  • Auto-detects the page type from the URL pattern - 8 supported types (hotel detail, restaurant detail, attraction detail, reviews, hotels listing, restaurants listing, attractions listing, geo landing).
  • Works across 9 locales: .com, .co.uk, .de, .fr, .es, .it, .ca, .com.au, .co.jp.
  • Optional reviews fan-out: for any hotel / restaurant / attraction URL the actor can paginate reviews (up to 5,000 per place) and emit each review as its own dataset row - ready for SQL / Pandas / Excel without extra parsing.
  • Survives mid-batch failures with stopOnError=false (default): failing URLs are recorded inline with error_code and the run continues.
  • Per-event pricing - only pay for what you actually scrape. Cheap geo lookups stay cheap, reviews bill per row.

Input

{
"urls": [
"https://www.tripadvisor.com/Hotel_Review-g60763-d1218720-Reviews-The_Plaza-New_York_City_New_York.html",
"https://www.tripadvisor.com/Restaurants-g187147-Paris_Ile_de_France.html",
"https://www.tripadvisor.com/Attraction_Review-g187147-d188151-Reviews-Eiffel_Tower-Paris_Ile_de_France.html"
],
"stopOnError": false,
"maxReviewsPerEntity": 20,
"reviewLanguage": "en",
"reviewSort": "most_relevant"
}
FieldTypeRequiredDescription
urlsarray of strings1-500 TripAdvisor URLs from any of the 9 supported locales
stopOnErrorbooleanoptional, default falseIf true, abort the run on the first failing URL. Default skips and records the failure inline
maxReviewsPerEntityinteger 0-5000optional, default 0When set above 0, every hotel / restaurant / attraction URL also fans out into per-review rows (up to this many per place). Each review charges url-parsed-review at $0.001. Ignored for destination / listing / reviews-page URLs
reviewLanguagestringoptional, default enTripAdvisor language code (e.g. en, fr, de, es, it, ja, zh) or all. Applied only when maxReviewsPerEntity > 0
reviewSortenumoptional, default most_relevantOne of: most_relevant, newest, oldest, highest, lowest. Applied only when maxReviewsPerEntity > 0

Output

One dataset row per input URL (plus one row per fanned-out review when maxReviewsPerEntity > 0). On success, type and data are populated; on failure, error_code and error_message are populated instead.

Detail row example

{
"input_url": "https://www.tripadvisor.com/Hotel_Review-g60763-d1218720-Reviews-The_Plaza-New_York_City_New_York.html",
"type": "hotel_detail",
"data": {
"location_id": 1218720,
"name": "The Plaza",
"rating": 4.5,
"review_count": 1487,
"address": "768 5th Ave, New York City, NY 10019",
"amenities": ["Free Wifi", "Bar/lounge", "Concierge"],
"rooms": [{"name": "Deluxe King", "price_min": 895}],
"photos": [{"url": "https://media-cdn.tripadvisor.com/.../photo.jpg"}]
}
}

Per-review row example (when maxReviewsPerEntity > 0)

{
"input_url": "https://www.tripadvisor.com/Hotel_Review-g60763-d1218720-Reviews-The_Plaza-New_York_City_New_York.html",
"type": "review",
"parent_type": "hotel_detail",
"parent_location_id": "1218720",
"data": {
"rating": 5,
"title": "Outstanding stay",
"text": "Beautiful suite, attentive staff…",
"language": "en",
"traveler_type": "couples",
"published_date": "2026-04-12",
"helpful_votes": 3,
"photos": []
}
}

parent_location_id is what you JOIN on to link reviews back to their parent hotel / restaurant / attraction row in the same dataset.

Console table view

🔗 URL🏷 Type📦 Payload🪪 Parent location ID❌ Error
…/Hotel_Review-…/The_Plaza.htmlhotel_detail17 fields incl. rooms + photos--
…/Hotel_Review-…/The_Plaza.htmlreviewone review (rating, text, language, …)1218720-
…/Restaurants-g187147-…restaurants_listingpaginated restaurant cards--
…/Attraction_Review-…/Eiffel_Tower.htmlattraction_detail14 fields incl. awards--
…/Hotel_Review-…/BrokenLink.html---NOT_FOUND

What data contains by type

TypePayload
hotel_detail17 fields: location_id, name, rating, review_count, address, amenities[], rooms[], photos[], lowest_offer + OTA prices
restaurant_detail15 fields: id, name, cuisine, price_range, hours, location, photos[]
attraction_detail14-15 fields: id, name, category, duration, awards[], reviews_count
reviewone review row (rating, title, text, language, traveler_type, published_date, helpful_votes, photos) with parent_type + parent_location_id set
reviewspaginated reviews page (when the URL itself is a …-Reviews-orN-… page)
hotels_listing / restaurants_listing / attractions_listingfull SERP for the geo with filters applied
locationdestination metadata (name, geoId, region, country, photos)

Error codes

error_codeMeaning
NOT_FOUNDTripAdvisor returned no payload for this URL (deleted listing, broken slug, regional removal)
UPSTREAM_BLOCKEDAnti-bot challenge wasn't bypassed - retry the run later
INVALID_URLURL didn't match any known TripAdvisor pattern
INTERNAL_ERRORSomething else broke - see error_message

More TripAdvisor tools

Part of the USP Ultimate TripAdvisor suite - pick the actor that fits the job:

Prefer the raw API across all 21 TripAdvisor endpoints with your own key? See the USP Ultimate TripAdvisor API on RapidAPI.

Need help? Enterprise plans? Custom scraping?

I personally support every customer - drop a message on any channel.

Telegram WhatsApp Email