HasData
Scraper API

Tripadvisor API

for places and reviews

Get Tripadvisor search results, place details and reviews as structured JSON, without building or maintaining scrapers.

SUCCESS
100%

of test requests succeeded

P50
1.4s

median response

P95
3.6s

95th percentile response

PRICE
$0.83

per 1k API requests at volume

Use Cases

From finding a place to understanding its guests

Find places for a directory, enrich your catalog, build photo galleries or research guest feedback. Start with a place ID when you already know the property.

Build a directory people can explore

Turn a destination query into place records for your travel directory. Keep their IDs for a details page or review view.

  • Tripadvisor Search
  • q=Rome
Places to explore in Rome Selected search results
Places to explore in Rome — Selected search results
PlaceTypeLocation
RomeGEOLazio, Italy
Rome Cavalieri, A Waldorf Astoria HotelACCOMMODATIONRome, Lazio, Italy
API data
places[].titleplaces[].placeIdplaces[].placeTypeplaces[].locationplaces[].link
Your app
Group results by place type and retain the placeId for the listing details or reviews you want to collect.

Fill in your existing place records

Add contact details, coordinates and amenities to your existing place records. Build map views and filters around the returned data.

  • Tripadvisor Place
  • placeId=190138
Rome Cavalieri, A Waldorf Astoria Hotel A profile for the same place
Rome Cavalieri, A Waldorf Astoria Hotel — A profile for the same place
FieldReturned value
AddressVia Alberto Cadlolo 101, 00136 Rome Italy
Phone00 1 888-446-6677
Coordinates41.91883, 12.446622
AmenitiesValet parking, Free internet, Pool
API data
placeResult.placeIdplaceResult.nameplaceResult.addressplaceResult.phoneplaceResult.gpsCoordinatesplaceResult.amenities
Your app
Use each listing's placeId to join contact details, coordinates and available amenities to the corresponding record in your catalog.

Build photo galleries for your place pages

Show what a place looks like with image URLs and its public description. Link visitors to the business's website.

  • Tripadvisor Place
  • placeId=190138
Place photos and website Photos and website from the same place
Rome Cavalieri, A Waldorf Astoria Hotel

Though only minutes from the city's great monuments, the Rome Cavalieri has the tranquility of an oasis.

Website hilton.com
API data
placeResult.nameplaceResult.descriptionplaceResult.imagesplaceResult.websiteplaceResult.link
Your app
Use the returned image URLs to build a gallery, add the place description and send visitors to the linked website.

Find the detail a star rating cannot show

Bring review text and ratings into your feedback tool. Compare praise and complaints while keeping the original source and language.

  • Tripadvisor Reviews
  • placeId=190138
  • language=en
Review excerpts for Rome Cavalieri Feedback from the same property
Review excerpts for Rome Cavalieri — Feedback from the same property
ReviewRatingExcerptReturned / original language
Love this Hotel5Our room was stunning with a great view. The pool area was gorgeous.en / en
Beautiful, but flaws in the service.4the cleaning staff enters without knocking with the master keyen / it
API data
reviews[].snippetreviews[].ratingreviews[].linkreviews[].languagereviews[].originalLanguagereviews[].ownerResponse
Your app
Group feedback into themes in your application. Keep management replies when available, and let readers open the original review.
Response

Named fields instead of page markup

Map place records, photos, category ratings and review rows to your application. Keep the same place ID as you move between operations.

tripadvisor-places.json

Selected records and fields from one response. Descriptions shortened. Pagination is copied from the full response.

{
  "places": [
    {
      "position": 1,
      "title": "Rome",
      "placeId": "187791",
      "placeType": "GEO",
      "link": "https://www.tripadvisor.com/Tourism-g187791-Rome_Lazio-Vacations.html",
      "hasdataLink": "https://api.hasdata.com/scrape/tripadvisor/place?placeId=187791",
      "description": "Rome wasn't built in a day--and you'll need much more than a day to take in this timeless city.",
      "location": "Lazio, Italy",
      "thumbnail": "https://dynamic-media-cdn.tripadvisor.com/media/photo-o/1c/c9/6c/08/caption.jpg"
    },
    {
      "position": 2,
      "title": "Winner 2026 Rome Twilight Trastevere Food Tour by Eating Europe",
      "placeId": "19350162",
      "placeType": "ATTRACTION_PRODUCT",
      "link": "https://www.tripadvisor.com/AttractionProductReview-g187791-d19350162-Winner_2026_Rome_Twilight_Trastevere_Food_Tour_by_Eating_Europe-Rome_Lazio.html",
      "hasdataLink": "https://api.hasdata.com/scrape/tripadvisor/place?placeId=19350162",
      "description": "Finding space at popular local restaurants in Rome in the evening can be difficult.",
      "rating": 4.9,
      "reviews": 4578,
      "location": "Rome, Lazio, Italy",
      "thumbnail": "https://dynamic-media-cdn.tripadvisor.com/media/photo-o/33/bb/bf/39/caption.jpg",
      "highlightedReview": {
        "text": "This food tour was the highlight of our time in Rome.",
        "highlightedTexts": [
          "Rome."
        ],
        "mentionCount": 1603
      }
    },
    {
      "position": 11,
      "title": "Rome Cavalieri, A Waldorf Astoria Hotel",
      "placeId": "190138",
      "placeType": "ACCOMMODATION",
      "link": "https://www.tripadvisor.com/Hotel_Review-g187791-d190138-Reviews-Rome_Cavalieri_A_Waldorf_Astoria_Hotel-Rome_Lazio.html",
      "hasdataLink": "https://api.hasdata.com/scrape/tripadvisor/place?placeId=190138",
      "description": "Overlooking the panorama that has inspired visitors for centuries is Rome's most prestigious address – the Rome Cavalieri hotel.",
      "rating": 4.5,
      "reviews": 7679,
      "location": "Rome, Lazio, Italy",
      "thumbnail": "https://dynamic-media-cdn.tripadvisor.com/media/photo-o/34/dc/c8/a0/pool.jpg",
      "highlightedReview": {
        "text": "stay in Rome.",
        "highlightedTexts": [
          "Rome."
        ],
        "mentionCount": 3873
      }
    }
  ],
  "pagination": {
    "totalResults": 2000,
    "nextOffset": 30
  }
}
Fields in Search records
places[].placeId string

Use this identifier to retrieve Place details or Reviews.

places[].placeType string

The returned category, such as a destination, accommodation or attraction.

places[].description string

Place or activity description returned with the search result.

places[].thumbnail string

Image URL for a search result card.

places[].highlightedReview.text string

A highlighted guest comment when included in a result.

places[].hasdataLink string

A ready-to-use HasData link for the place details.

pagination.totalResults number

Total result count reported for this search.

pagination.nextOffset number

Offset returned for the next page of search results.

Code Examples

A query to discover. A place ID to go deeper.

Use q for Search and placeId for Place or Reviews. Each operation is a GET request with your HasData API key.

request example
curl -G 'https://api.hasdata.com/scrape/tripadvisor/search' \
	--data-urlencode 'q=Rome' \
	--header 'x-api-key: <YOUR_API_KEY>' \
	--header 'Content-Type: application/json'
q * Search Query
The search query, e.g. a destination, a property name or a phrase like `luxury hotels in new york city`.
type Result Type
Limits results to one type. `all` mixes destinations, hotels, restaurants and things to do; `forums` returns forum topics instead of places.
lat Latitude
Latitude of the search origin. Requires `lon`. Results near this point are ranked higher.
lon Longitude
Longitude of the search origin. Requires `lat`.
offset Result Offset
Number of results to skip, e.g. `30` for the second page with the default limit. Use `pagination.nextOffset` from the previous response. Tripadvisor serves results up to offset 1000.
limit Results Limit
Number of results to return.
domain Domain
Tripadvisor domain to use. The domain sets the language of the results. Default is `www.tripadvisor.com`.
TRY ALL 7 PARAMETERS FREE
Stop maintaining scrapers

Build the travel feature, not the scraper

  • Keeping place and review parsers in sync
  • Extracting nested ratings and property details
  • Handling localized Tripadvisor pages
  • Following pagination without dropping filters
  • Repairing selectors after page changes
Tripadvisor data for your app, without a scraper to maintain.
scraper | git log
✗ fix: restore place records after a layout change
✗ fix: retain place IDs between search and details
✗ fix: map hotel amenity names and categories
✗ fix: preserve review filters on the next page
✗ fix: separate review counts from review text
✗ fix: keep original and translated review languages
✗ fix: read management replies from review cards
✗ fix: preserve coordinates on localized listings
✗ fix: restore place records after a layout change
✗ fix: retain place IDs between search and details
✗ fix: map hotel amenity names and categories
✗ fix: preserve review filters on the next page
✗ fix: separate review counts from review text
✗ fix: keep original and translated review languages
✗ fix: read management replies from review cards
✗ fix: preserve coordinates on localized listings
✗ fix: restore place records after a layout change
✗ fix: retain place IDs between search and details
✗ fix: map hotel amenity names and categories
✗ fix: preserve review filters on the next page
✗ fix: separate review counts from review text
✗ fix: keep original and translated review languages
✗ fix: read management replies from review cards
✗ fix: preserve coordinates on localized listings
✗ fix: restore place records after a layout change
✗ fix: retain place IDs between search and details
✗ fix: map hotel amenity names and categories
✗ fix: preserve review filters on the next page
✗ fix: separate review counts from review text
✗ fix: keep original and translated review languages
✗ fix: read management replies from review cards
✗ fix: preserve coordinates on localized listings
✓ feat: integrate HasData API
Loved by developers

What developers say about HasData

Feedback from HasData customers.

4.8 ★★★★★
across 119 reviews on 5 platforms
Trustpilot Trustpilot ★★★★★

Great web scraping API which is incredibly easy to use. It requires minimal effort to get up and running, and the documentation is very clear and helpful.

Arnold Foster
Arnold Foster
Trustpilot Trustpilot ★★★★★

I needed to scrape some information they didn't already support, and they wrote the code for me right away, which was super nice of them.

Hussein Ali
Hussein Ali
Trustpilot Trustpilot ★★★★★

We had a very specific job to get done which included several million requests in a matter of days ... he even did an all-nighter to make sure everything was running smoothly.

Michael Bonacina
Michael Bonacina
Director Virtual Staging AI at Zillow
Clutch Clutch ★★★★★

We were particularly impressed with how easily we could integrate HasData into our existing workflow.

TB
Taras Bazyshyn
CEO at BAZTDL Sp. z o.o
Clutch Clutch ★★★★★

The team responded quickly when we needed endpoint customizations.

CB
Craig Burke
CEO at Patienteer
Pricing

What it costs

Choose your request volume. Use the same plan for search results, place details and reviews.

Free
$0 /mo
Free forever
100 API requests / month
1,000 credits / month
5 concurrent requests
Structured JSON, no parsers to maintain
Only successful requests billed
Team seats
Community support
Start free
Startup
$49 /mo
$2.46 / 1k API requests
20K API requests / month
200K credits / month
5 concurrent requests
Structured JSON, no parsers to maintain
Only successful requests billed
Team seats
Email support
Get started
Basic
Recommended
$99 /mo
$0.99 / 1k API requests
100K API requests / month
1M credits / month
15 concurrent requests
Structured JSON, no parsers to maintain
Only successful requests billed
Team seats
Priority email support
Get started
Growth
$208 /mo
$0.69 / 1k API requests
3M credits / month
50 concurrent requests
Structured JSON, no parsers to maintain
Only successful requests billed
Team seats
Dedicated account manager
Get started
Monthly API request volume
Free 100K 500K 2M
Best fit
Basic
API requests / mo
100K
Concurrency
15
$ / 1k API requests
$0.99
$99 /mo
Get Started
Enterprise
Custom price based on required volume

Past 20M credits a month, or terms the self-serve plans do not cover. We shape the contract around your workload.

Credits rollover
Unused credits carry into the next billing period.
Concurrency 2000+
Parallel request limits set to your peak load.
#1 request priority
Highest speed, always first in the queue.
Personal manager
A direct line to the founding team.
SSO
SAML single sign-on for the whole team.
Security review
Security questionnaire, DPA, and controls overview.
Talk to sales Quote within one business day
FAQ

Questions, answered

1 Grab your API key 2 Send a GET request 3 Get structured JSON

Your first Tripadvisor data
is minutes away

100 API requests free · no credit card