# Tripadvisor Scraper - Hotels, Restaurants, Attractions, Emails (`clearpath/tripadvisor-scraper`) Actor

Scrape every Tripadvisor hotel, restaurant and attraction in a city, or any place by name or link. Get phone, email, website, rating, ranking, sub-ratings, cuisines, hours, photos and hotel prices for your dates. Export JSON, CSV or Excel.

- **URL**: https://apify.com/clearpath/tripadvisor-scraper.md
- **Developed by:** [ClearPath](https://apify.com/clearpath) (community)
- **Categories:** Lead generation, Travel
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.99 / 1,000 places

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

[![Get emails and phone numbers from Tripadvisor. Every place in a city: hotels, restaurants, attractions.](https://api.apify.com/v2/key-value-stores/pJ7iaZsTFhR3k9tjV/records/tripadvisor-scraper-readme-hero-v1.png)](https://console.apify.com/actors/3y6HnRbpTghSZkrdc/input)

From <strong>Clearpath</strong>, creators of <a href="https://apify.com/clearpath/tripadvisor-reviews-scraper">Tripadvisor Reviews</a>, <a href="https://apify.com/clearpath/local-business-lead-extractor">Business Leads</a> and <a href="https://apify.com/clearpath/hotel-review-aggregator">Hotel Review Aggregator</a>. The same team behind your travel and local-business research tools.

### Why choose this actor?

<strong>Every place in a city, with its contacts.</strong> Type a city and get all of its hotels, restaurants and attractions, nearest to the centre first, each with the phone number, email and website Tripadvisor lists. In Lisbon that is 11,177 places in one run; in every city we measured, at least 83% of places come with a phone, email or website.

<strong>The whole listing, not just the name.</strong> Rating and star breakdown, rank in the city, sub-ratings, cuisines, meal types, features, dietary options, opening hours, claimed status, awards, nearest transit, photos and Tripadvisor's own review summary. Add hotel prices from booking sites for your dates, review tags, menus or full photo galleries when you need them.

<strong>Fast enough for whole cities.</strong> 11,177 Lisbon places with full details in under 8 minutes, or in under 2 minutes without the page details. Mix cities, place names and Tripadvisor links in one run.

<a href="https://console.apify.com/actors/3y6HnRbpTghSZkrdc/input"><img src="https://api.apify.com/v2/key-value-stores/pJ7iaZsTFhR3k9tjV/records/tripadvisor-scraper-readme-cta-v1.svg" width="266" height="48" alt="Get Tripadvisor places"/></a>

### Quick start

Start with 20 places of each type in one city. Replace the city with any city, a place name or a Tripadvisor link.

```json
{
  "locations": [
    "Bozeman"
  ],
  "maxPlacesPerCategory": 20
}
```

<strong>Want every place?</strong> Set <code>maxPlacesPerCategory</code> to <code>0</code>. <a href="https://console.apify.com/actors/3y6HnRbpTghSZkrdc/input">Open actor input</a> to choose your cities. Export CSV or Excel for a lead list, or JSON to keep hours, sub-ratings and photos as structured data.

<table>
<tr>
<td style="background:#34E0A1;color:#002B21;padding:10px 14px;font-size:13px;font-weight:700;border-radius:4px 4px 0 0">Clearpath · Travel & Local Business Data</td>
</tr>
<tr>
<td style="padding:6px;border:1px solid #B4DDCE;border-top:none;border-radius:0 0 4px 4px;background:#E4F9EF">
<span style="display:inline-block;vertical-align:top;margin:3px;padding:6px 10px;border:1px solid #B4DDCE;border-radius:4px;background:#C4F4DF"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-w0KUpCAUnd23Z9mTB-56fastRocJ-tripadvisor-review-scraper-logo.png" width="20" height="20" alt="" style="display:inline-block;vertical-align:middle;margin:0"/>&nbsp;<a href="https://console.apify.com/actors/3y6HnRbpTghSZkrdc/input" style="color:#003D2D;text-decoration:none;font-weight:700;font-size:13px">Tripadvisor Places</a></span><br><span style="color:#254F42;font-size:12px;white-space:nowrap">You are here</span></span>
<span style="display:inline-block;vertical-align:top;margin:3px;padding:6px 10px;border:1px solid #B4DDCE;border-radius:4px;background:#E4F9EF"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-w0KUpCAUnd23Z9mTB-56fastRocJ-tripadvisor-review-scraper-logo.png" width="20" height="20" alt="" style="display:inline-block;vertical-align:middle;margin:0"/>&nbsp;<a href="https://apify.com/clearpath/tripadvisor-reviews-scraper" style="color:#003D2D;text-decoration:none;font-weight:700;font-size:13px">Tripadvisor Reviews</a></span><br><span style="color:#254F42;font-size:12px;white-space:nowrap">Every review</span></span>
<span style="display:inline-block;vertical-align:top;margin:3px;padding:6px 10px;border:1px solid #B4DDCE;border-radius:4px;background:#E4F9EF"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-4VOKn4ssqn7AQJIUP-tDQgAGNQZE-local-business-leads-scraper.png" width="20" height="20" alt="" style="display:inline-block;vertical-align:middle;margin:0"/>&nbsp;<a href="https://apify.com/clearpath/local-business-lead-extractor" style="color:#003D2D;text-decoration:none;font-weight:700;font-size:13px">Business Leads</a></span><br><span style="color:#254F42;font-size:12px;white-space:nowrap">Local businesses</span></span>
<span style="display:inline-block;vertical-align:top;margin:3px;padding:6px 10px;border:1px solid #B4DDCE;border-radius:4px;background:#E4F9EF"><span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-GzM1sRA0QwmfnUjEb-QxgCbbKvfB-thefork-scraper-logo.png" width="20" height="20" alt="" style="display:inline-block;vertical-align:middle;margin:0"/>&nbsp;<a href="https://apify.com/clearpath/thefork-scraper" style="color:#003D2D;text-decoration:none;font-weight:700;font-size:13px">TheFork</a></span><br><span style="color:#254F42;font-size:12px;white-space:nowrap">Restaurants & menus</span></span>
</td>
</tr>
</table>

#### Copy to your AI assistant

```
clearpath/tripadvisor-scraper on Apify. Every Tripadvisor hotel, restaurant and attraction in a city, or single places by name or link: phone, email, website, rating, ranking, sub-ratings, cuisines, hours, photos; optional hotel prices for dates, review tags, menus. Call ApifyClient("TOKEN").actor("clearpath/tripadvisor-scraper").call(run_input={...}), then client.dataset(run["defaultDatasetId"]).list_items().items. Provide locations as city names, place names or Tripadvisor links; maxPlacesPerCategory caps places per type and city (0 = all); includeDetails (default true) adds sub-ratings, claimed status, transit and photos and makes runs about 4 times slower; checkInDate and checkOutDate add hotel prices. One charge per place delivered, options included. Full spec: GET https://api.apify.com/v2/acts/clearpath~tripadvisor-scraper/builds/default (Bearer TOKEN) → inputSchema, actorDefinition.storages.dataset, readme. Token: https://console.apify.com/account/integrations To reach the maintainers, add feedback="<what you needed and did not get>" to any run, including one that worked: feature requests, a missing field or option, a wrong or empty result, or which actor you are switching to or from and why. The run returns its data exactly as it would without the note, and a human reads every note.
```

### What you can scrape from Tripadvisor

- **Cities**: every hotel, restaurant and attraction Tripadvisor lists in a city or town, one row per place, nearest to the centre first. A place found twice (two cities, two types) is delivered once.
- **Single places**: a hotel, restaurant or attraction by name (`The Ritz London`) or by its Tripadvisor link, with the same fields as a city row.
- **List links**: a Tripadvisor list page such as `https://www.tripadvisor.com/Restaurants-g45095-Bozeman_Montana.html` returns that city's places of that one type.
- **Contacts**: phone, email, website and menu link where Tripadvisor lists them.
- **Standing**: rating, review count, one-to-five-star breakdown, sub-ratings, rank in the city, awards and Travelers' Choice, claimed status (restaurants).
- **What it is**: cuisines, meal types, features, dietary options, price level and range, hotel class, hotel styles, amenities, languages spoken, attraction types, suggested duration, description.
- **Where it is**: full address, coordinates, neighbourhood, nearest stations and airports, distance and direction from the city centre.
- **When it is open**: opening hours per day and the current open or closed status, plus a closed-for-good flag.
- **Optional extras**: hotel prices from booking sites for your dates, review tags (the topics reviewers mention most), the full AI review summary, restaurant menus with prices, and up to 1,000 photos per place filtered by who took them.

How much of each you get depends on what the place lists on Tripadvisor. Measured on San Francisco, Lisbon, Edinburgh, Austin and Bozeman:

| Type | Phone | Email | Website | At least one |
|------|-------|-------|---------|--------------|
| Hotels | 91 to 98% | 44 to 81% | none | 92 to 98% |
| Restaurants | 80 to 93% | 24 to 48% | 70 to 93% | 83 to 96% |
| Attractions | 72 to 85% | 40 to 59% | 77 to 92% | 84 to 96% |

Tripadvisor shows hotels no website of their own, only its booking link, which is kept as `tripadvisorWebsiteLink`.

### Input

| Parameter | Type | Default | What it does |
|-----------|------|---------|--------------|
| `locations` | array | | Cities, place names or Tripadvisor links, mixed, up to 500 per run |
| `startUrls` | array | | The same, as a list of links |
| `categories` | array | all three | `hotels`, `restaurants`, `attractions` for city walks |
| `maxPlacesPerCategory` | integer | all | Places per type and city, nearest first; `0` for all |
| `includeNearbyResults` | boolean | `false` | Also return places just outside the city, marked `isNearbyResult` |
| `includeDetails` | boolean | `true` | Sub-ratings, claimed status, awards, transit, dietary options, ordering links, opening status, photos. Turn off for about 4 times faster runs |
| `maxPhotosPerPlace` | integer | `0` | Up to 1,000 photos per place |
| `photosType` | string | `all` | `all`, `fromTravelers` or `fromManagement` |
| `includeReviewTags` | boolean | `false` | The topics reviewers mention most |
| `includeAiReviewsSummary` | boolean | `false` | The full AI review summary per topic, where Tripadvisor has one |
| `includeMenu` | boolean | `false` | Restaurant menus with dishes and prices, where Tripadvisor has one |
| `checkInDate`, `checkOutDate` | string | | Hotel prices from booking sites for these dates (YYYY-MM-DD) |
| `adults` | integer | `2` | Guests for the hotel prices |
| `language` | string | `en` | Language of rankings, labels, names and descriptions |
| `currency` | string | `USD` | Currency of price ranges, tour and hotel prices |

A city name uses the first city Tripadvisor matches. For a city that shares its name with another (Manhattan, Kansas and Manhattan, New York), paste the city's link. Cities, towns and villages work; states, regions and countries are too large and are skipped with a note.

### Output example

One real restaurant row from a Lisbon run with default settings. `photos` held 10 entries, `hours` 7 days, `features` 17 values, `categoryReviewScores` 4 scores and `ancestors` 4 levels; each is shortened to its first two here.

```json
{
  "type": "place",
  "locationId": 7063416,
  "name": "Restaurante Elevador",
  "category": "restaurant",
  "subcategories": [
    "Sit down"
  ],
  "url": "https://www.tripadvisor.com/Restaurant_Review-g189158-d7063416-Reviews-Restaurante_Elevador-Lisbon_Lisbon_District_Central_Portugal.html",
  "phone": "+351 21 016 6172",
  "email": "elevador@hotelsantajustalisboa.com",
  "website": "http://restauranteelevador.pt/en/",
  "menuUrl": "https://restauranteelevador.pt/en/a-la-carte/",
  "tripadvisorWebsiteLink": null,
  "isClosed": false,
  "isClaimed": true,
  "rating": 4.6,
  "reviewsCount": 968,
  "ratingHistogram": {
    "rating1": 10,
    "rating2": 15,
    "rating3": 42,
    "rating4": 171,
    "rating5": 730
  },
  "categoryReviewScores": [
    {
      "categoryName": "Service",
      "score": 4.754717,
      "roundedScore": 4.8
    },
    {
      "categoryName": "Food",
      "score": 4.561905,
      "roundedScore": 4.6
    }
  ],
  "rankingString": "#83 of 6,643 Restaurants in Lisbon",
  "rankingPosition": 88,
  "rankingOutOf": 5708,
  "rankingCategory": "restaurant",
  "rankingCity": "Lisbon",
  "rankingCityId": 189158,
  "rankingScore": 4.74376916885376,
  "subcategoryRanking": null,
  "awards": [
    "Travelers' Choice Winner 2026"
  ],
  "travelerChoiceAward": {
    "title": "Travelers' Choice Winner",
    "years": "2026",
    "category": "TRAVELERS_CHOICE"
  },
  "aiSummaryAvailable": true,
  "aiReviewsSummary": {
    "summary": "Restaurante Elevador, nestled in the heart of Lisbon near the Elevator de Santa Justa, is a popular choice among travelers. Its elegant and modern decor, enhanced by live fado music, creates a warm and inviting atmosphere that many guests appreciate. The menu, especially the seafood and meat dishes, earns rave reviews for its fresh ingredients and generous portions. Service is often praised for being friendly and accommodating, while the value is generally considered good, despite some noting that a few dishes could be priced lower.",
    "topics": [
      {
        "topic": "Food",
        "opinion": "Delicious",
        "text": null
      },
      {
        "topic": "Service",
        "opinion": "Attentive",
        "text": null
      },
      {
        "topic": "Atmosphere",
        "opinion": "Elegant",
        "text": null
      },
      {
        "topic": "Value",
        "opinion": "Reasonable",
        "text": null
      },
      {
        "topic": "Location",
        "opinion": "Central",
        "text": null
      }
    ]
  },
  "reviewTags": null,
  "description": "Modernism and sophistication in downtown Lisbon Opened in 2013 as part of the Santa Justa Hotel, this restaurant is situated in the center of Lisbon, with the most diverse tourist and cultural landmarks around you. The restaurant menu offer plenty options for different tastes from traditional Portuguese dishes (Lagareiro Cod, Bacalhau à Brás, Bitoque ...) to the most diverse options like salads, risottos and eating on \"bread\". The atmosphere is modern and comfortable, with an architecture that gives it a special touch, with a service of excellence",
  "localName": "Restaurante Elevador",
  "priceLevel": "$$ - $$$",
  "priceCategory": "Mid Range",
  "priceRange": "$13 - $34",
  "hotelClass": null,
  "hotelClassSource": null,
  "hotelType": null,
  "hotelStyles": [],
  "brand": null,
  "parentBrand": null,
  "amenities": [],
  "languagesSpoken": [],
  "cuisines": [
    "Mediterranean",
    "European",
    "Contemporary",
    "Portuguese"
  ],
  "mealTypes": [
    "Breakfast",
    "Lunch",
    "Dinner",
    "Brunch",
    "Late Night",
    "Drinks"
  ],
  "dietaryRestrictions": [
    "Vegetarian friendly"
  ],
  "features": [
    "Reservations",
    "Outdoor Seating"
  ],
  "establishmentTypes": [
    "Restaurants"
  ],
  "goodFor": [
    "Families with children",
    "Doing business",
    "Special occasions",
    "Local cuisine",
    "Romantic",
    "Kids"
  ],
  "accessibility": [
    "Wide entryway",
    "Obstruction-free entryway"
  ],
  "attractionTypes": [],
  "suggestedDuration": null,
  "shoppingType": null,
  "hours": [
    {
      "day": "Monday",
      "open": "12:00",
      "close": "22:30"
    },
    {
      "day": "Tuesday",
      "open": "12:00",
      "close": "22:30"
    }
  ],
  "openNowText": "Open now",
  "orderOnline": [
    {
      "provider": "TheFork",
      "providerId": "12629",
      "type": "RESERVATION",
      "buttonText": null,
      "headerText": "Reserve a table",
      "url": null,
      "logoUrl": "https://static.tacdn.com/img2/branding/hotels/TheFork-Logo-2023.png"
    }
  ],
  "menu": null,
  "bookingProvider": null,
  "bookingUrl": null,
  "offers": null,
  "tourOffers": null,
  "specialOffers": [],
  "photo": {
    "url": "https://media-cdn.tripadvisor.com/media/photo-o/21/fb/7c/9c/vieiras.jpg",
    "largeUrl": "https://media-cdn.tripadvisor.com/media/photo-s/21/fb/7c/9c/vieiras.jpg",
    "thumbnailUrl": "https://media-cdn.tripadvisor.com/media/photo-t/21/fb/7c/9c/vieiras.jpg",
    "caption": "vieiras",
    "uploadedDate": "2022-01-30T03:13:54-0500"
  },
  "image": "https://dynamic-media-cdn.tripadvisor.com/media/photo-o/30/f4/5f/13/vista-interior.jpg?w=4510&h=2987&s=1",
  "photoCount": 946,
  "photos": [
    {
      "id": 821321491,
      "url": "https://dynamic-media-cdn.tripadvisor.com/media/photo-o/30/f4/5f/13/vista-interior.jpg?w=4510&h=2987&s=1",
      "width": 4510,
      "height": 2987,
      "caption": "Vista interior",
      "attribution": "Photo provided by management",
      "publishedDate": "2025-08-29T16:47:06.29Z"
    },
    {
      "id": 570129560,
      "url": "https://dynamic-media-cdn.tripadvisor.com/media/photo-o/21/fb/7c/98/noite-de-fado.jpg?w=6240&h=4160&s=1",
      "width": 6240,
      "height": 4160,
      "caption": "Noite de fado",
      "attribution": "Photo provided by management",
      "publishedDate": "2022-01-30T08:13:49Z"
    }
  ],
  "address": "Rua dos Correeiros, 205, Hotel Santa Justa Lisboa, Lisbon, 1100-170, Portugal",
  "street": "Rua dos Correeiros, 205, Hotel Santa Justa Lisboa",
  "city": "Lisbon",
  "state": null,
  "postalCode": "1100-170",
  "country": "Portugal",
  "locationString": "Lisbon, Lisbon District, Central Portugal",
  "latitude": 38.71262,
  "longitude": -9.138045,
  "timezone": "Europe/Lisbon",
  "parentLocationId": 189158,
  "parentName": "Lisbon",
  "ancestors": [
    {
      "locationId": 189158,
      "name": "Lisbon",
      "level": "city"
    },
    {
      "locationId": 3874225,
      "name": "Lisbon District",
      "level": "district"
    }
  ],
  "neighborhoodLocations": [
    {
      "id": 28158824,
      "name": "Baixa"
    },
    {
      "id": 8709532,
      "name": "Baixa, Rossio & Restauradores"
    }
  ],
  "nearestMetroStations": [
    {
      "name": "Lisboa Airport",
      "distance": "4.45 mi"
    },
    {
      "name": "Rossio",
      "distance": "2 min walk"
    },
    {
      "name": "Baixa/Chiado",
      "distance": "3 min walk"
    }
  ],
  "distanceFromCenterKm": 0.06,
  "directionFromCenter": "north",
  "isNearbyResult": false,
  "searchLocation": "Lisbon",
  "searchCity": "Lisbon",
  "searchCityId": 189158,
  "scrapedAt": "2026-10-26T20:50:18.465652+00:00"
}
```

Hotel rows add `hotelClass`, `hotelStyles`, `amenities`, `languagesSpoken`, `brand` and `hotelType`; attraction rows add `attractionTypes`, `suggestedDuration` and `tourOffers`. An excerpt from The Ritz London with dates, review tags and default details (the row has every key shown above):

```json
{
  "name": "The Ritz London Hotel",
  "hotelClass": 5.0,
  "hotelStyles": [
    "Classic",
    "Romantic",
    "Charming",
    "Family"
  ],
  "languagesSpoken": [
    "English",
    "French",
    "Spanish",
    "Chinese",
    "German",
    "Italian",
    "Polish"
  ],
  "categoryReviewScores": [
    {
      "categoryName": "Cleanliness",
      "score": 4.8203497,
      "roundedScore": 4.8
    },
    {
      "categoryName": "Location",
      "score": 4.9024644,
      "roundedScore": 4.9
    }
  ],
  "nearestMetroStations": [
    {
      "name": "Green Park",
      "distance": "1 min walk"
    },
    {
      "name": "Piccadilly Circus",
      "distance": "8 min walk"
    }
  ],
  "reviewTags": [
    "rivoli bar",
    "afternoon tea",
    "the palm court",
    "jacket and tie",
    "dinner dance",
    "sandwiches and cakes"
  ],
  "offers": [
    {
      "provider": "Agoda.com",
      "status": "AVAILABLE",
      "price": "$2,660",
      "priceValue": 2659.97,
      "strikeThroughPrice": null,
      "currency": "USD",
      "url": "https://www.tripadvisor.com/Commerce?p=Agoda&src=181403603&geo=187591&from=HotelDateSearch_Hotel_Review&slot=2&matchID=1&oos=0&cnt=12&silo=5122&bucket=907383&nrank=7&crank=6&clt=M&ttype=MobileCR&tm=372959829&managed=false&capped=false&gosox=jT4x-vJb32mSicTJq_KgytVhTv8HYXMXyQjFP8A_79muXnjJGeOXQU_xdX987gHgbr2wfEu8JpFWMoAqOaiAnd8s7H_fYBLl9xd9YFHnEit5BBtEoR4UZ_xbfPP47lkEbcsWxhFPSNuP42h2J487DpMbxBh9Qxj4Wl1PrysFf-A19GbuIzcV6Gh6rbZMQJFOjLFOHgsE0ziVBQyvYXeAPa2DSCPFO2FpeBlMBKsOs5ixq8CkN5JFblnExLn1E8yLCDa2TBPV-SXYtcTRlD1smA&priceShown=2659.97&pm=BPF&hac=AVAILABLE&mbl=LOSE&mbldelta=110400&rq=P&rate=2659.97&taxesRate=532.00&feesRate=0.00&fees=532.00&cur=USD&adults=2&child_rm_ages=&inDay=25&outDay=27&rdex=RDEX_7440179cf106c4459e24cd50469a7587&rooms=1&inMonth=11&inYear=2026&outMonth=11&outYear=2026&auid=babb1ac6-ca96-478a-94ab-c6b719f3e253&def_d=false&bld=L_2,D_30,G_2,W_3,U_0,C_261125,T_22&bh=true&cs=120831e47f83081bf995f304fc5d6520c&ik=f3da60e8f7d64580af0e3451c2609828&aok=b8744bf61b914d1c8db8f25ac08300d7&tp=APS-Hotel_Review&pageLocId=187591",
      "details": []
    }
  ]
}
```

`offers` lists every booking site Tripadvisor asked, with `status` `AVAILABLE`, `NOT_AVAILABLE` or, for a site that had not answered yet, `IN_PROGRESS`. `price` is shown as Tripadvisor shows it for the stay; `url` is Tripadvisor's own link to that booking site.

The run summary (`OUTPUT` in the key-value store) lists every input with its status (`success`, `partial`, `fetch_failed`, `invalid_input`, `skipped`), the matched city, and per type how many places were delivered, how many came without their details, and Tripadvisor's own count of ranked places in the city.

### Pricing

You pay per place delivered: Free and Bronze plans pay $1.99 per 1,000 places, Silver and above $0.99. Contacts, details, photos, hotel prices, review tags, menus and the AI summary are included in that price; options only make a run slower, not more expensive per place.

### FAQ

**Do I need a Tripadvisor account or login?**
No. Add a city and run it.

**How many places does a city have?**
Bozeman, Montana has about 560; Lisbon 11,177; San Francisco 8,667. A run returns every place Tripadvisor lists with a map position. Streets, districts and trails without one are not part of a city list; a direct link to one still works.

**Does every place have an email?**
No. Emails, phones and websites are delivered when the place lists them on Tripadvisor; see the table above for typical shares. Rows without contacts are still useful for ratings, rankings and coverage, and `maxPlacesPerCategory` keeps runs small while you test.

**Can I get one hotel or restaurant instead of a whole city?**
Yes. Add its name with the city (`Nobu Malibu`) or paste its Tripadvisor link. You get one row with the same fields as a city row.

**Can I get hotel prices?**
Yes. Set `checkInDate` and `checkOutDate` (and `adults` if not 2). Each hotel row then lists the booking sites Tripadvisor shows for those dates with their prices and links.

**Does it collect reviews?**
No. This actor returns places. For the reviews themselves use [Tripadvisor Reviews Scraper](https://apify.com/clearpath/tripadvisor-reviews-scraper), which takes the same place links.

**Why is a field empty?**
The place does not list it on Tripadvisor. Sub-ratings, for example, are missing for places Tripadvisor shows none for, and claimed status is shown for restaurants only. The run summary counts places that came back without their details.

**Can I export to CSV or Excel?**
Yes, from the run's Storage tab or the Apify API. Nested fields such as hours and photos are flattened in CSV and Excel; use JSON to keep their structure.

### More Zen Studio & Clearpath review and place scrapers

**🔗 Review aggregators**

- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-2EJcvIYcO9H0KQOIO-RfOMRAFXbQ-local-business-leads-scraper.png" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **Place reviews**
  - [Place Review Aggregator](https://apify.com/zen-studio/place-review-aggregator)
- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-qIdkSE8q4I8DIfNlD-lKLPnrjTrn-hotel-review-aggregator-logo2.png" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **Hotel reviews**
  - [Hotel Review Aggregator API: Google, Booking, Expedia & More](https://apify.com/clearpath/hotel-review-aggregator)
- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-9UyFQFcuwmvWG91uH-BWRrsdwsuQ-software-reviews-aggregator-logo.png" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **Software reviews**
  - [All-in-One Review Scraper: G2, Capterra & Trustpilot](https://apify.com/zen-studio/software-review-scraper)

**📍 Individual review sources**

- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-ojjo6BxQiOiLYRca1-RU3DuH650K-google-maps-directions-api-logo.png" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **Google Maps**
  - [Google Maps Reviews Scraper - Unlimited Reviews Per Place](https://apify.com/zen-studio/google-maps-reviews-scraper)
  - [Google Maps Scraper - Every Place, Not Just the Top 250](https://apify.com/zen-studio/google-maps-scraper)
- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-sv8jAMKDT0AnGB24l-NYt0D11tLA-swarm-foursquare-scraper-logo.png" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **Swarm / Foursquare**
  - [Foursquare & Swarm Scraper: Places, Reviews, Busy Hours](https://apify.com/zen-studio/swarm-place-reviews-scraper)
- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-AQGRB6KUvHqkSvHPj-KDZIkmFvBu-yelp-review-scraper-logo.png" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **Yelp**
  - [Yelp Reviews Scraper - All Languages & Owner Replies](https://apify.com/clearpath/yelp-reviews-scraper)
- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-w0KUpCAUnd23Z9mTB-56fastRocJ-tripadvisor-review-scraper-logo.png" width="16" height="16" alt="Tripadvisor reviews scraper icon" style="vertical-align:middle;border-radius:3px"> **Tripadvisor**
  - [Tripadvisor Review Scraper: Hotels, Restaurants, Attractions](https://apify.com/clearpath/tripadvisor-reviews-scraper)

**📍 Place discovery**

- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-4VOKn4ssqn7AQJIUP-tDQgAGNQZE-local-business-leads-scraper.png" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **Business leads**
  - [Fast Business Leads Scraper - Up to 1,000 in 30 Seconds](https://apify.com/clearpath/local-business-lead-extractor)

**🍽️ Restaurant review tools**

- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-GzM1sRA0QwmfnUjEb-QxgCbbKvfB-thefork-scraper-logo.png" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **TheFork**
  - [TheFork Restaurant Reviews Scraper - Multi-Language](https://apify.com/clearpath/thefork-restaurant-reviews)
  - [TheFork Scraper - Restaurants, Reviews & Menus](https://apify.com/clearpath/thefork-scraper)

**🏨 Hotel review sources**

- <img src="https://api.apify.com/v2/key-value-stores/21hatybJqakfiJoxJ/records/expedia-icon.png" width="16" height="16" alt="Expedia" style="vertical-align:middle;border-radius:3px"> **Expedia & Hotels.com**
  - [Expedia & Hotels.com Reviews Scraper](https://apify.com/clearpath/expedia-hotels-com-reviews-scraper)
- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/DSvMCAwsufMyZeLyt-actor-lf6lNQyd4mv56zxUh-NmU7SMndJs-agoda-reviews-scraper-logo.png" width="16" height="16" alt="Agoda" style="vertical-align:middle;border-radius:3px"> **Agoda**
  - [Agoda Reviews Scraper](https://apify.com/clearpath/agoda-reviews-scraper)
  - [Agoda Hotel Scraper](https://apify.com/clearpath/agoda-hotel-scraper)

### Support

- **Bugs**: Issues tab
- **Features**: Email or issues
- **Email**: max@mapa.slmail.me

### Legal Compliance

Extracts publicly available data. Users must comply with Tripadvisor terms and applicable data protection regulations, including GDPR and CCPA, especially when using contact details for outreach.

***

*Every Tripadvisor hotel, restaurant and attraction in a city, with contacts, as a ready-to-use dataset.*

# Actor input Schema

## `locations` (type: `array`):

One per line, mixed freely:<br><br><b>City:</b> <code>Lisbon</code> lists every hotel, restaurant and attraction in it.<br><b>Place:</b> <code>The Ritz London</code> returns that one place.<br><b>Link:</b> any Tripadvisor city page (<code>https://www.tripadvisor.com/Tourism-g189158-Lisbon_Lisbon_District_Central_Portugal-Vacations.html</code>), list page (<code>https://www.tripadvisor.com/Restaurants-g45095-Bozeman_Montana.html</code>, only that type) or place page, on any Tripadvisor country domain.<br><br>A city name uses the first city Tripadvisor matches; for a city that shares its name with another, paste its link. States, regions and countries are too large and are skipped.

## `startUrls` (type: `array`):

The same as above, as a list of links. Both fields can be used together.

## `categories` (type: `array`):

Which kinds of places to list for each city. All three when left empty. A single place, or a list link, is always returned as it is.

## `maxPlacesPerCategory` (type: `integer`):

How many places of each type to return per city, nearest to the city centre first. <b>0</b> or empty returns all of them. A large city has several thousand restaurants and attractions; each place is one result.

## `includeNearbyResults` (type: `boolean`):

Also return places just outside the city (the next town, the airport) that Tripadvisor lists around it, marked with <code>isNearbyResult</code>.

## `includeDetails` (type: `boolean`):

Adds what each place's own page shows: sub-ratings (food, service, rooms…), claimed status, Travelers' Choice award, nearest stations and airports, dietary options, online ordering and table booking, open-now status, missing website, phone or email, 10 photos and the AI review summary. Turn it off for a faster run with the basic fields only.

## `maxPhotosPerPlace` (type: `integer`):

How many photos to return per place, largest size, with caption and who took them. <b>0</b> returns the 10 main photos when place details are on. More than 10 makes the run slower.

## `photosType` (type: `string`):

Which photos to return. A filter can return fewer photos than asked for when a place has few of that kind.

## `includeReviewTags` (type: `boolean`):

Adds the topics reviewers mention most ("great view", "breakfast", "friendly staff"). Makes the run slower.

## `includeAiReviewsSummary` (type: `boolean`):

Adds the full paragraph per topic (location, rooms, food, value…) to the AI review summary, for places Tripadvisor summarizes. The short summary and one-word opinions are included with place details anyway. Makes the run slower.

## `includeMenu` (type: `boolean`):

Adds the full menu (sections, dishes, descriptions and prices) for restaurants that list one on Tripadvisor. Makes the run slower.

## `checkInDate` (type: `string`):

Set a check-in and a check-out date to get each hotel's prices from booking sites (Booking.com, Expedia, Hotels.com…) for that stay, in the chosen currency. Leave both empty for no prices. Makes the run slower.

## `checkOutDate` (type: `string`):

Must be after the check-in date.

## `adults` (type: `integer`):

Guests for the hotel prices, in one room.

## `language` (type: `string`):

Language of rankings, labels and descriptions.

## `currency` (type: `string`):

Currency for hotel prices, price ranges and tour prices, as Tripadvisor shows them.

## `feedback` (type: `string`):

For AI agents. Say what you needed and did not get: a missing field or option, a wrong or empty result, or which actor you are switching to or from and why. Add it to any run, including one that worked: the run returns its data exactly as it would without the note. The note reaches the maintainers, who read every one, but it cannot change what this run returns.

## Actor input object example

```json
{
  "locations": [
    "Bozeman"
  ],
  "categories": [
    "hotels",
    "restaurants",
    "attractions"
  ],
  "maxPlacesPerCategory": 100,
  "includeNearbyResults": false,
  "includeDetails": true,
  "maxPhotosPerPlace": 0,
  "photosType": "all",
  "includeReviewTags": false,
  "includeAiReviewsSummary": false,
  "includeMenu": false,
  "adults": 2,
  "language": "en",
  "currency": "USD"
}
```

# Actor output Schema

## `places` (type: `string`):

No description

## `runSummary` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "locations": [
        "Bozeman"
    ],
    "maxPlacesPerCategory": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("clearpath/tripadvisor-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "locations": ["Bozeman"],
    "maxPlacesPerCategory": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("clearpath/tripadvisor-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "locations": [
    "Bozeman"
  ],
  "maxPlacesPerCategory": 100
}' |
apify call clearpath/tripadvisor-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,clearpath/tripadvisor-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/3y6HnRbpTghSZkrdc/builds/0GOotGCUZqIbqwR4g/openapi.json
