Tripadvisor
Search Tripadvisor places and pull traveler reviews behind the unified schema
Tripadvisor
Search Tripadvisor for businesses and places — restaurants, hotels, attractions — and pull their traveler reviews behind the unified SocialCrawl schema.
Base URL: /v1/tripadvisor/...
Getting Started
It's a two-step flow, and the joining key is url_path. Call search to find a place, read url_path off the result, then pass it to reviews. Repeated searches may use the 2-minute endpoint cache and repeated review requests the 5-minute cache; cache hits cost 0 credits, and Cache-Control: no-cache requests a billed refresh.
# 1. Find the place — note that the query parameter is `q`, not `query`
curl "https://www.socialcrawl.dev/v1/tripadvisor/search?q=pizza%20restaurant&location=New%20York,New%20York,United%20States&depth=30" \
-H "x-api-key: sc_your_api_key_here"
# 2. Its traveler reviews, using the url_path from step 1 (no leading slash)
curl "https://www.socialcrawl.dev/v1/tripadvisor/reviews?url_path=Hotel_Review-g60763-d23462501-Reviews-Margaritaville_Times_Square-New_York_City_New_York.html&depth=30&sort_by=most_recent" \
-H "x-api-key: sc_your_api_key_here"GET /v1/tripadvisor/search(1cr) takesqand returns places — restaurants, hotels, attractions — each with name, category, star rating, total review count, and theurl_paththat identifies it.locationscopes it,languagenarrows the result language, anddepthis the result count in multiples of 30 (default 30, max 60 on this synchronous endpoint).GET /v1/tripadvisor/reviews(1cr) takes thaturl_pathverbatim, without a leading slash, and returns traveler reviews: star rating, title, full text, reviewer, attached photos, managementresponses[], language, and publish date.depthis in multiples of 10 (default 10, max 30).
Both endpoints are powered by DataForSEO: search returns the first-class canonical Place object, reviews returns the shared Review object (the same shape as any other reviews source), so your code reads Tripadvisor exactly like it reads Amazon, Google Shopping, or Trustpilot.
search defaults to the United States when you omit location, so a query for a place in Tokyo without location=Tokyo,Japan quietly returns American results. Always pass location unless you mean the US.Endpoints
2 endpoints available.
| Endpoint | Path | Credit Tier |
|---|---|---|
| Get TripAdvisor reviews for a place | /v1/tripadvisor/reviews | standard (1cr) |
| Search TripAdvisor businesses & places | /v1/tripadvisor/search | standard (1cr) |
Notes
- All endpoints use
GETmethod with query parameters - Authentication via
x-api-keyheader - Responses follow the unified SocialCrawl schema (
PlaceListfor search,ReviewListfor reviews) - Two-step flow:
searchreturns each place'surl_path(the chaining key); pass it toreviews. The placeidand absoluteurlare derived from thaturl_path. searchis location-bound — passlocation(e.g.New York,New York,United States); it defaults to the United States- Reviews carry the star rating, full text, reviewer profile, attached photos, owner/management
responses[], and — because Tripadvisor auto-translates — atranslatedflag plus theoriginal_language - Filter reviews by traveler
rating,visit_type, or a keyword (search_reviews_keyword); sort bymost_recentordetailed_reviews. The synchronous endpoint capsdepthat 30 (deeper history is a future async surface) - Neither endpoint paginates —
depthis the only size control on both - A cold call takes roughly 15-45 seconds because the upstream is a task-based API whose async lifecycle we settle server-side; repeats serve from cache. Set client timeouts accordingly
- A place with no matching reviews returns
404, refunded automatically
