# TripAdvisor Reviews Scraper (`burbn/tripadvisor-reviews`) Actor

Extract Tripadvisor reviews by Location ID. Get overall ratings, subratings, photos, user profiles, and owner responses. Export to Excel/CSV/JSON.

- **URL**: https://apify.com/burbn/tripadvisor-reviews.md
- **Developed by:** [Kevin](https://apify.com/burbn) (community)
- **Categories:** Travel, Automation, Developer tools
- **Stats:** 2 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.00 / 1,000 results

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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Tripadvisor Reviews | Extract Reviews by Location ID

Extract detailed reviews from Tripadvisor by location ID. Get ratings, subratings, review text, photos, user profiles, contributions, and owner responses.

### ❓ What is Tripadvisor Reviews?

**Tripadvisor Reviews** is a powerful Apify actor that extracts comprehensive review data from Tripadvisor for any hotel, restaurant, or attraction. Provide a location ID and get all reviews with detailed ratings, user profiles, attached photos, and management responses.

With this Tripadvisor Reviews actor, you can:

- ⭐ **Extract Reviews** — Get all reviews for any Tripadvisor location with full text and ratings.
- 📊 **Detailed Subratings** — Access individual ratings for Rooms, Value, Sleep Quality, Location, Cleanliness, and Service.
- 📸 **Review Photos** — Extract all photos attached to each review with multiple resolutions.
- 👤 **User Profiles** — Get reviewer details including contributions, avatar, location, and profile link.
- 🔍 **Keyword Filter** — Search reviews by keyword to find specific feedback.
- 💬 **Owner Responses** — Capture management/owner responses to reviews.
- 📄 **Deep Pagination** — Scrape multiple pages of reviews with `maxPages`.
- 📊 **Export Structured Data** — Download results in JSON, CSV, Excel, XML, and RSS formats.

### 🎯 What Data Can You Extract?

This Tripadvisor Reviews actor extracts the following fields for each review:

| Field | Description | Example |
|-------|-------------|---------|
| `id` | Unique review identifier | `1033307035` |
| `title` | Review title | `A good hotel for couples or with friends` |
| `text` | Full review text | `It is a hotel that the school has arranged...` |
| `rating` | Overall rating (1-5) | `5` |
| `published_date` | When the review was published | `2025-10-03T23:33:32-04:00` |
| `published_platform` | Platform used (Mobile/Desktop) | `Mobile` |
| `travel_date` | When the reviewer traveled | `2024-09` |
| `helpful_votes` | Number of helpful votes | `1` |
| `url` | Direct link to the review | `https://www.tripadvisor.com/ShowUserReviews-...` |
| `subrating_rooms` | Room quality rating | `5` |
| `subrating_value` | Value for money rating | `4` |
| `subrating_sleep_quality` | Sleep quality rating | `4` |
| `subrating_location` | Location rating | `5` |
| `subrating_cleanliness` | Cleanliness rating | `5` |
| `subrating_service` | Service quality rating | `4` |
| `owner_response` | Management response to review | `Thank you for your feedback...` |
| `photos` | Array of attached photos with URLs | *Photo objects with multiple sizes* |
| `username` | Reviewer's username | `Mark C` |
| `user_location_name` | Reviewer's location | `Bangkok, Thailand` |
| `user_total_reviews` | Total reviews by user | `15` |
| `user_helpful_votes` | Total helpful votes received | `3` |
| `machine_translated` | Whether review was auto-translated | `false` |

### 🚀 How to Use Tripadvisor Reviews

#### Step 1: Get a Location ID

Find the Tripadvisor location ID for the hotel, restaurant, or attraction you want reviews for.

> **💡 Tip:** In a Tripadvisor URL like `https://www.tripadvisor.com/Hotel_Review-g293919-d1191092-Reviews-...`, the number after `d` (1191092) is the location ID.

#### Step 2: Configure Parameters

| Input | Type | Required | Default | Description |
|-------|------|----------|---------|-------------|
| `location_id` | String | ✅ Yes | `1191092` | Tripadvisor location ID for the hotel/restaurant/attraction. |
| `maxPages` | Integer | ❌ No | `1` | Maximum number of pages to scrape. Each page returns up to 20 reviews. |
| `limit` | Integer | ❌ No | `20` | Items to return per page (max `20`). |
| `keyword` | String | ❌ No | — | Optional keyword to filter reviews. |
| `currency` | String | ❌ No | `USD` | Currency code (e.g., `USD`, `EUR`, `INR`). |
| `lang` | String | ❌ No | `en_US` | Response language (e.g., `en_US`, `fr_FR`). |

#### Step 3: Run and Download Results

Click **Start** to run the Tripadvisor Reviews scraper. Once completed, download your data in JSON, CSV, Excel, XML, or RSS formats.

### 📋 Example Input

```json
{
  "location_id": "1191092",
  "maxPages": 2,
  "limit": 20,
  "currency": "USD",
  "lang": "en_US"
}
```

### 📋 Example Output

```json
{
  "id": "970282367",
  "lang": "en",
  "location_id": "1191092",
  "published_date": "2024-09-18T05:31:02-04:00",
  "published_platform": "Desktop",
  "rating": "5",
  "helpful_votes": "0",
  "url": "https://www.tripadvisor.com/ShowUserReviews-g293919-d1191092-r970282367-...",
  "travel_date": "2024-09",
  "title": "A good hotel for couples or with friends.",
  "text": "It is a hotel that the school has arranged to stay here...",
  "subrating_rooms": "5",
  "subrating_value": "5",
  "subrating_sleep_quality": "4",
  "subrating_location": "4",
  "subrating_cleanliness": "5",
  "subrating_service": "4",
  "username": "วัชรพงษ ว",
  "user_location_name": "Bangkok, Thailand",
  "user_total_reviews": "1",
  "user_hotel_reviews": "1",
  "user_locale": "th"
}
```

### 🎨 Dataset Views

The Tripadvisor Reviews actor provides **3 organized dataset views** to help you inspect and analyze your data seamlessly:

| View | Description |
|------|-------------|
| ⭐ **Reviews Overview** | Quick scan showing title, rating, text, publish date, helpful votes, and URL. |
| 📊 **Ratings & Subratings** | Detailed breakdown of Rooms, Value, Sleep Quality, Location, Cleanliness, and Service ratings. |
| 👥 **User & Photo Details** | User profiles with contributions, avatars, profile links, and photo counts. |

### 💡 Use Cases for Tripadvisor Reviews

- 📈 **Sentiment Analysis** — Analyze review text and ratings to understand guest satisfaction trends.
- 🏨 **Competitive Analysis** — Compare review scores and subratings across competing properties.
- 📊 **Market Research** — Study review patterns, seasonal trends, and guest demographics.
- 🗺️ **Travel Planning** — Read authentic reviews to make informed booking decisions.
- 📝 **Content Creation** — Use review data for travel blogs, comparison articles, and guides.
- 🎒 **Reputation Management** — Monitor and track review scores, owner responses, and feedback over time.
- 📸 **Visual Content** — Extract user-uploaded photos from reviews for analysis.

### 🔧 Tips for Best Results

1. **Find Location IDs** — Use the [Tripadvisor Locations Search](https://apify.com/burbn/tripadvisor-locations-search) actor or extract from Tripadvisor URLs.
2. **Use Keywords** — Set the `keyword` filter to find reviews about specific topics (e.g., "pool", "breakfast", "staff").
3. **Paginate for More** — Increase `maxPages` to get all reviews. Each page returns up to 20 results.
4. **Check Subratings** — Use the **Ratings & Subratings** view to quickly compare granular scores.
5. **Utilize Dataset Views** — Use preconfigured views for clean, ready-to-use CSV or Excel files.

### 🏷️ Tags

`tripadvisor scraper` `tripadvisor reviews` `tripadvisor review scraper` `tripadvisor hotel reviews` `tripadvisor restaurant reviews` `tripadvisor attraction reviews` `tripadvisor rating` `travel advisor scraper` `review analysis` `sentiment analysis` `tripadvisor reviews data` `review extraction` `guest feedback` `tripadvisor review monitoring`

### 🎁 Get $5 Free Apify Credits

New to Apify? [Sign up using this link](https://apify.com?fpr=free-credits) and get **$5 free credits** to start extracting Tripadvisor reviews right away! No credit card required.

### 📞 Support

For questions, feedback, or custom requests regarding the Tripadvisor Reviews actor, please contact us through Apify or open a support issue.

***

**Happy reviewing! ⭐✨**

# Actor input Schema

## `location_id` (type: `string`):

The Tripadvisor location ID to fetch reviews for. You can get this from the Tripadvisor URL or by using the Tripadvisor Locations Search actor.

## `maxPages` (type: `integer`):

Maximum number of pagination pages to scrape. Each page returns up to 20 reviews.

## `limit` (type: `integer`):

The number of reviews to return per page. Maximum is 20.

## `keyword` (type: `string`):

Optional keyword to filter reviews. Only reviews matching this keyword will be returned.

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

The currency code for the response (e.g., USD, EUR, GBP, INR, JPY).

## `lang` (type: `string`):

The language code for API responses. Use locale format like en\_US, fr\_FR, de\_DE, ja\_JP, etc.

## Actor input object example

```json
{
  "location_id": "1191092",
  "maxPages": 1,
  "limit": 20,
  "currency": "USD",
  "lang": "en_US"
}
```

# Actor output Schema

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

View reviews with ratings, text, publish date, and user info.

## `ratingsAndSubratings` (type: `string`):

View detailed ratings including Rooms, Value, Cleanliness, and Service.

## `userDetails` (type: `string`):

View user profiles, contributions, avatars, and photo counts.

# 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 = {
    "location_id": "1191092"
};

// Run the Actor and wait for it to finish
const run = await client.actor("burbn/tripadvisor-reviews").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 = { "location_id": "1191092" }

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

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

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

```

## CLI example

```bash
echo '{
  "location_id": "1191092"
}' |
apify call burbn/tripadvisor-reviews --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=burbn/tripadvisor-reviews",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/dZIt1mSP0bnVqK6hH/builds/aGguNqweOD9EkjPys/openapi.json
