# Tripadvisor Reviews Scraper 💰$0.50/1K – Hotels & Restaurants (`rt-solutions/tripadvisor-reviews-scraper`) Actor

Scrape Tripadvisor reviews of any hotel, restaurant or attraction: full text, rating, date of stay, trip type sub-ratings, reviewer, owner responses and photos. Up to 4,490 reviews per place, filters by rating, traveler type and date. Licensed data, no blocks, $0.50 per 1,000 reviews.

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

## Pricing

from $0.35 / 1,000 reviews

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

## Tripadvisor Reviews Scraper – Hotels, Restaurants & Attractions

Get **Tripadvisor reviews** of any hotel, restaurant or attraction — full text, rating, date of stay, sub-ratings (rooms, service, value…), reviewer, **owner responses** and photos. Up to **4,490 reviews per place**, any Tripadvisor country site.

**$0.50 per 1,000 reviews** — 10× cheaper than the most popular Tripadvisor reviews scraper — and you pay only for reviews delivered. No blocked runs: the data comes from a licensed data provider, not from fragile page scraping.

### What you get

| Field | Example |
|---|---|
| `rating` | 5 |
| `title`, `text` | "Another level of luxury", "This is another level establishment…" |
| `publishedDate` | 2026-10-20T07:23:31Z |
| `travelDate` | 2026-10 |
| `subRatings` | { "Rooms": 5, "Service": 5, "Value": 4, … } |
| `user` | name, profile link, location, number of contributions |
| `ownerResponse` | title, text, date of the management response |
| `photos` | photo links posted with the review |
| `placeInfo` | name, address, overall rating, total reviews, rating distribution (1–5 ★) |
| `url`, `reviewId` | direct link to the review |

### How to use

1. Paste one or more **Tripadvisor links** (hotel, restaurant or attraction page, any site: .com, .fr, .co.uk, .de, .it…). A link to a single review also works.
2. Or type **names** + a **city** (e.g. "Ritz Paris" + "Paris, France"). Name search only keeps an exact match (it never returns reviews of another place); for famous attractions, paste the link — it is always exact.
3. Choose the number of reviews per place (up to 4,490), and optional filters:
   - **ratings** (only 1–2 ★ reviews to study complaints, only 5 ★…),
   - **traveler type** (families, couples, solo, business, friends),
   - **newer than** a date (perfect for weekly monitoring),
   - sort by most recent or most detailed,
   - original text or Tripadvisor translation.
4. Run, then export to Excel, CSV, JSON or Google Sheets — or call it from the API, Make, Zapier or n8n.

#### Example input

```json
{
  "startUrls": [{ "url": "https://www.tripadvisor.com/Hotel_Review-g187147-d188729-Reviews-Le_Bristol_Paris_Oetker_Hotels-Paris_Ile_de_France.html" }],
  "maxReviewsPerPlace": 500,
  "ratings": ["poor", "terrible"],
  "newerThan": "2026-01-01"
}
```

### Pricing

Pay per review delivered:

| Apify plan | Price per 1,000 reviews |
|---|---|
| Free | $0.50 |
| Bronze | $0.45 |
| Silver | $0.40 |
| Gold and above | $0.35 |

No start fee. Places without reviews, invalid links and filtered-out reviews are never charged. Set a maximum cost per run and the Actor stops exactly there.

**Apify free plan:** one free trial run (1 place, 50 reviews). After that, either use any paid Apify plan, or add your own DataForSEO API login in the "Apify free plan" section (DataForSEO gives free credit at sign-up).

### Speed and limits

- 1,000 reviews of one place in about 3 minutes; many places run in parallel.
- Up to 4,490 reviews per place (Tripadvisor provider limit).
- Ratings filter and traveler type are applied by Tripadvisor; "newer than" is applied to the reviews collected.
- Reviews are returned in the language they were written in, unless you enable translation.

### Use cases

- **Hotels & restaurants:** monitor new reviews and complaints every week, answer faster.
- **Competitor analysis:** compare ratings, sub-ratings and recurring complaints across competitors.
- **Market research & AI:** build sentiment datasets, train or ground LLMs on real traveler feedback.
- **Agencies:** reputation reports for many clients in one run.

### Use with AI agents (MCP)

You can call this Actor from Claude, ChatGPT, Cursor or any other MCP client through the Apify MCP server (https://mcp.apify.com), using the Actor ID `rt-solutions/tripadvisor-reviews-scraper`. For example: *"Get the 1- and 2-star Tripadvisor reviews of Le Bristol Paris from this year and summarise the main complaints."*

### FAQ

**How do I scrape Tripadvisor reviews without an API?** Paste Tripadvisor links (or names + a city), choose how many reviews per place and click Start. No Tripadvisor account is needed.

**How much does it cost to scrape 10,000 Tripadvisor reviews?** $5 on the free plan ($0.50 per 1,000), down to $3.50 on Gold and above. Places without reviews, invalid links and filtered-out reviews are not charged.

**Can I monitor new reviews every week?** Yes — schedule the Actor and set *newer than* to the date of your last run, so you only get (and pay for) new reviews.

**Can I export to Excel, CSV or Google Sheets?** Yes — export to Excel, CSV, JSON or Google Sheets, or call it from the API, Make, Zapier or n8n.

**Is it legal?** The Actor collects publicly visible reviews through a licensed data provider. You are responsible for how you use personal data (reviewer names) under GDPR and similar laws.

**Why are some reviews missing compared to the website?** Tripadvisor may hide very old or flagged reviews; the total shown in `placeInfo.reviewsCount` is Tripadvisor's own count.

**Need another field or site?** Open an issue — we answer in writing within 24 h.

### Related scrapers

- [Google Hotels Prices](https://apify.com/rt-solutions/google-hotels-prices) — prices on every booking site for the same hotels.
- [Google Flights Scraper](https://apify.com/rt-solutions/google-flights-scraper)
- [App Store & Google Play Reviews + AI Insights](https://apify.com/rt-solutions/appstore-reviews-ai)

# Actor input Schema

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

Links of hotel, restaurant or attraction pages, from any Tripadvisor site (.com, .fr, .co.uk, .de…).

## `searchQueries` (type: `array`):

Names of hotels, restaurants or attractions (used with the city below). Links are more precise.

## `location` (type: `string`):

City (and country) of the names above, e.g. "Paris, France", "New York City, United States".

## `maxReviewsPerPlace` (type: `integer`):

Up to 4,490. You pay only for reviews delivered.

## `sortBy` (type: `string`):

Order in which reviews are collected.

## `ratings` (type: `array`):

Leave empty for all ratings.

## `visitTypes` (type: `array`):

Leave empty for all.

## `newerThan` (type: `string`):

Keep only reviews published on or after this date (YYYY-MM-DD). Works best with "Most recent" sort.

## `translateReviews` (type: `boolean`):

Get reviews machine-translated by Tripadvisor instead of the original text.

## `dataForSeoLogin` (type: `string`):

Only needed on the Apify free plan after your free trial run. Paid Apify plans need no key.

## `dataForSeoPassword` (type: `string`):

From app.dataforseo.com → API Access.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.tripadvisor.com/Hotel_Review-g187147-d188729-Reviews-Le_Bristol_Paris_Oetker_Hotels-Paris_Ile_de_France.html"
    }
  ],
  "maxReviewsPerPlace": 100,
  "sortBy": "most_recent",
  "translateReviews": false
}
```

# Actor output Schema

## `results` (type: `string`):

One row per review with place info.

## `overview` (type: `string`):

Main fields.

# 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 = {
    "startUrls": [
        {
            "url": "https://www.tripadvisor.com/Hotel_Review-g187147-d188729-Reviews-Le_Bristol_Paris_Oetker_Hotels-Paris_Ile_de_France.html"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("rt-solutions/tripadvisor-reviews-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 = { "startUrls": [{ "url": "https://www.tripadvisor.com/Hotel_Review-g187147-d188729-Reviews-Le_Bristol_Paris_Oetker_Hotels-Paris_Ile_de_France.html" }] }

# Run the Actor and wait for it to finish
run = client.actor("rt-solutions/tripadvisor-reviews-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 '{
  "startUrls": [
    {
      "url": "https://www.tripadvisor.com/Hotel_Review-g187147-d188729-Reviews-Le_Bristol_Paris_Oetker_Hotels-Paris_Ile_de_France.html"
    }
  ]
}' |
apify call rt-solutions/tripadvisor-reviews-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,rt-solutions/tripadvisor-reviews-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/oUyflxD7UKIDs6uSi/builds/baL9L1ifGD36aneyc/openapi.json
