Viator Review Scraper
Pricing
from $3.00 / 1,000 results
Viator Review Scraper
The Viator Review Scraper is a powerful and easy-to-use actor designed to collect structured review data from Viator product pages. Whether you’re analyzing customer sentiment, monitoring competitor feedback, or enriching your travel content.
Pricing
from $3.00 / 1,000 results
Rating
5.0
(2)
Developer
Louvre LLC
Maintained by CommunityActor stats
2
Bookmarked
62
Total users
22
Monthly active users
9 days ago
Last modified
Categories
Share
🛫🌍 Viator Review Scraper
📌 Introduction
Viator Review Scraper is a powerful and easy-to-use Apify Actor designed to collect structured review data from Viator product pages. It lets you extract review ratings, text, author details, photos, travel info, and more — perfect for sentiment analysis, competitor research, travel insights, and content enrichment.
💡 Free vs paid plans
On a free Apify plan, this actor returns a sample of the reviews. Upgrade to any paid Apify plan to get the complete results.
🎯 What is this Review Scraper?
This Actor automatically scrapes customer reviews from a specified Viator product URL and outputs them as structured JSON. It supports flexible pagination and outputs clean data ready for analysis or integration into data pipelines.
🔍 Features
- ⭐ Comprehensive Review Data — Extracts ratings, review text, author name & location, photos, and helpful votes.
- 🔁 Flexible Pagination — Supports custom starting page and maximum review limits.
- 🔀 Multiple Sorting Options — Sorts reviews by date, rating, or helpfulness.
- 🚀 High Performance — Efficiently handles large volumes of reviews.
- 🧹 Reliable Output — Includes duplicate detection and data validation.
- 🔌 Easy Integration — Simple input parameters and structured JSON output.
🧰 Input Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
product_url | String | ⚠️ | The Viator product page URL to scrape reviews from. Either product_url or product_urls must be provided. |
product_urls | Array[String] | ⚠️ | Array of Viator product URLs for batch processing (1-200 URLs). Either product_url or product_urls must be provided. |
page_size | Number | ❌ | Maximum number of reviews per page (default: 100, range: 1-1000). |
page | Number | ❌ | Start page number (default: 1). |
📥 Example Input
Single URL
{"product_url": "https://www.viator.com/tours/Paris/Eiffel-Tower-Tour/d479-12345","page_size": 100,"page": 1}
Batch Processing (Multiple URLs)
{"product_urls": ["https://www.viator.com/tours/Paris/Eiffel-Tower-Tour/d479-12345","https://www.viator.com/tours/Rome/Colosseum-Tour/d511-67890"],"page_size": 100,"page": 1}
This configuration will scrape up to 100 reviews starting from the first page of the specified Viator product(s).
🗃️ Output Data
Each review returned by this Actor includes the following structured fields:
| Field | Type | Description |
|---|---|---|
id | String | Unique review identifier. |
product_id | String | Viator product identifier. |
product_url | String | Product URL used for scraping this review. |
rating | Number | Review rating (1–5 stars). |
title | String | Review title. |
content | String | Full review text/body. |
author_name | String | Reviewer's name. |
user_identifier_value | String | Author user identifier. |
review_date | String | Date when the review was published (ISO 8601 format). |
helpful_votes | Number | Number of helpful votes. |
photos | Array | Array of photo URLs (if any). |
owner_response | String | Business owner response text (if any). |
owner_response_author | String | Response author name (if any). |
owner_response_date | String | Response publication date (ISO 8601 format, if any). |
source | String | Data source identifier (always "viator"). |
language | String | Review language code. |
overall_star_rating | Number | Overall product star rating (e.g. 4.5 out of 5). -1 if unavailable. |
overall_review_count | Number | Total number of reviews for the product. -1 if unavailable. |
🧠 How It Works
- Input Validation — Validates the provided Viator product URL.
- Review Extraction — Uses web scraping logic to extract review data from the product page.
- Data Processing — Cleans and structures the scraped results.
- Duplicate Detection — Identifies and filters duplicate reviews.
- Data Storage — Saves structured review data to the Apify dataset for retrieval.
⚙️ Usage Examples
📦 Basic Usage (Single URL)
{"product_url": "https://www.viator.com/tours/Paris/Eiffel-Tower-Tour/d479-12345"}
📈 With Pagination
{"product_url": "https://www.viator.com/tours/Paris/Eiffel-Tower-Tour/d479-12345","page_size": 200,"page": 2}
🔄 Batch Processing (Multiple URLs)
{"product_urls": ["https://www.viator.com/tours/Paris/Eiffel-Tower-Tour/d479-12345","https://www.viator.com/tours/Rome/Colosseum-Tour/d511-67890","https://www.viator.com/tours/London/London-Eye-Tour/d737-11111"],"page_size": 100,"page": 1}
🤖 Use Viator Review Scraper in Claude, Cursor & Codex via MCP
You can call this Actor directly from an AI assistant through the Apify MCP server — it works with Claude, Cursor, Codex, and any other MCP client.
Add this connector URL in your MCP client:
https://mcp.apify.com/?tools=louvre/viator-review-scraper
Then ask in plain language, for example:
"Get the latest reviews for this Viator tour: https://www.viator.com/tours/Paris/Eiffel-Tower-Tour/d479-12345"
For a ready-to-paste configuration (Claude Desktop, Cursor, VS Code, and more), open the API → MCP tab on this Actor's page.
📡 API / CLI Integration
You can run this Actor via the Apify API or CLI. Example using curl:
curl "https://api.apify.com/v2/acts/louvre~viator-review-scraper/runs?token=<YOUR_API_TOKEN>" \-X POST \-H "Content-Type: application/json" \-d @input.json
Replace <YOUR_API_TOKEN> with your Apify API token and input.json with your configured input.
💰 Pricing & Limits
This Actor uses pay-per-result pricing — see the Pricing tab on the Actor page for the current rate. A free trial is available.