Skip to content

Viator Scraper

Try for free

Scrape Viator tours, activities and attraction tickets by destination, category, search term or URL, plus tour reviews. Get prices, ratings, review counts, duration, operator, free cancellation, itinerary, meeting points and photos.

🌍 Viator Scraper

Scrape tours, activities and attraction tickets from Viator: prices, ratings, review counts, duration, operator, free cancellation, languages, highlights, what's included, itinerary, meeting points with coordinates and photos. Or switch to reviews mode and collect the newest traveler reviews of any tour, with operator responses. Paste a destination, category, attraction or search URL, or just type a search term. No login needed.

✨ Why use Viator Scraper?

  • ⚡ Fast — reads the data Viator embeds in its own pages; 20 tours come back in under 10 seconds.
  • 🛡️ Gets past the bot wall — Viator is protected by DataDome. The actor uses US residential exits and recovers from blocks on its own, so runs finish instead of failing.
  • 📋 Full details on demand — turn on full details for the operator, highlights, inclusions and exclusions, itinerary stops, meeting points with latitude/longitude, cancellation policy, rating breakdown and the whole photo gallery.
  • 💬 Reviews mode — one row per review: rating, title, text, date, traveler name, helpful votes, photos and the operator's response.
  • 🔎 Every way in — destination pages, category pages, attraction pages, search pages, free-text search terms or single tour URLs.
  • 💱 Pick a currency — USD by default; choose EUR, GBP, CAD, AUD and more.

🎯 Use cases

  • 💰 Price monitoring — track starting prices and "likely to sell out" flags for tours in your city.
  • 🏢 Competitor research for tour operators — see who sells what on Viator, at which price, with which rating, inclusions and cancellation terms.
  • ⭐ Reputation tracking — collect the newest reviews of your own or competing tours on a schedule and react to complaints quickly.
  • 🗺️ Travel content and apps — build "things to do" lists with photos, durations, coordinates and ratings.
  • 📊 Market analysis — compare destinations by number of tours, price levels and review volume.

🚀 How to use

  1. Paste one or more Viator URLs (for example https://www.viator.com/Paris/d479-ttd) and/or type search terms like colosseum.
  2. Choose Tours and activities or Reviews and set Max results (default 20).
  3. Optionally add price, rating and free-cancellation filters, turn on full details, or pick a currency.
  4. Click Start and download the results as JSON, CSV, Excel or HTML, or read them through the API.

📥 Input

FieldWhat it does
startUrlsDestination (/Paris/d479-ttd), category (/Paris-tours/Day-Trips/d479-g5), attraction, search (/searchResults/all?text=…) or tour (/tours/Rome/…/d511-47029P2) URLs
searchQueriesFree-text searches, like the Viator search box
modetours (one row per tour) or reviews (one row per review)
maxItemsMax rows across all inputs (0 = no limit)
minPrice / maxPrice / minRating / minReviews / freeCancellationOnlyFilters on the listing
includeDetailsOpen each tour page for the full details (tour URLs always get them)
maxReviewsPerTourReviews mode: reviews per tour, newest first (up to 30)
currencyPrice currency (default USD)
{
  "startUrls": [{ "url": "https://www.viator.com/Paris/d479-ttd" }],
  "searchQueries": ["colosseum"],
  "mode": "tours",
  "maxItems": 20,
  "minRating": 4.5,
  "includeDetails": true,
  "currency": "USD"
}

📤 Output

Tours mode

FieldDescription
productCode, url, title, descriptionIdentity and description
price, originalPrice, discountPercent, currency, priceTypeStarting price and price before a discount
rating, reviewCount, ratingBreakdownAverage rating, number of reviews, count per star (details)
durationText, durationMinutes, durationMaxMinutesDuration as shown and in minutes
location, country, destinationId, latitude, longitudeWhere it takes place
operator, operatorIdTour operator (details)
freeCancellation, cancellationPolicy, reserveNowPayLaterBooking conditions
badges, likelyToSellOut, privateTour, languagesBadges and flags
highlights, includes, excludes, additionalInfo, itinerary, meetingPointsPage content (details)
image, images, imageCount, travelerPhotoCountPhotos

Example (trimmed, full details on):

{
  "productCode": "6602PARHOHO",
  "url": "https://www.viator.com/tours/Paris/Paris-Big-Bus-Hop-On-Hop-Off-Tour-with-Optional-River-Cruise/d479-6602PARHOHO",
  "title": "Paris Big Bus Hop On Hop Off Tour with Optional River Cruise",
  "price": 44.63,
  "currency": "USD",
  "priceType": "TRAVELLER_BY_AGE_BAND",
  "rating": 3.9,
  "reviewCount": 7031,
  "ratingBreakdown": { "1": 768, "2": 508, "3": 771, "4": 1554, "5": 3432 },
  "durationText": "2 hours 15 minutes (approx.)",
  "durationMinutes": 135,
  "location": "Paris",
  "operator": "Big Bus - France",
  "freeCancellation": true,
  "cancellationPolicy": "You can cancel up to 24 hours in advance of the experience for a full refund.",
  "languages": ["German", "Russian", "Korean", "Portuguese", "Mandarin", "English", "Italian", "French", "Spanish"],
  "highlights": ["Create a personalized itinerary of the sights you want to see", "Upgrade your experience with a Seine River cruise"],
  "includes": ["24- or 48-Hour Hop-on, Hop-on Bus Tour", "1-hour Seine River Cruise (if option selected)"],
  "tourOptions": ["48hr & River Cruise", "24hr & River Cruise", "24hr Hop-on, Hop-off Bus"],
  "image": "https://dynamic-media.tacdn.com/media/photo-o/2e/ae/c0/3c/caption.jpg?w=1400&h=1000&s=1",
  "scrapedAt": "2026-10-16T01:20:29Z"
}

Reviews mode

FieldDescription
reviewId, rating, title, text, publishedDateThe review
author, helpfulVotes, photos, provider, machineTranslatedTraveler and review metadata
ownerResponse, ownerResponseAuthor, ownerResponseDateThe operator's reply
productCode, productUrl, productTitle, productRating, productReviewCountThe tour it belongs to

Example (traveler and responder names are fictional):

{
  "reviewId": "1081767086",
  "productCode": "67584P2",
  "productUrl": "https://www.viator.com/tours/Paris/Golden-Versailles-Palace-and-Garden-Tour/d479-67584P2",
  "productTitle": "Versailles Palace and Gardens Tour from Paris",
  "rating": 5,
  "title": "The palace and gardens...",
  "text": "The palace and gardens are fantastic. Be prepared for a lot of walking...",
  "publishedDate": "2026-10-14T05:46:01",
  "author": "Alex_R",
  "helpfulVotes": 0,
  "provider": "viator",
  "photos": [],
  "ownerResponse": "Hi Alex, thank you for your review! ...",
  "ownerResponseAuthor": "Sam B",
  "ownerResponseDate": "2026-10-14T10:20:53",
  "productRating": 4.4,
  "productReviewCount": 4682
}

💰 Pricing

  • Tours: $0.80 per 1,000 tours ($0.0008 per tour).
  • Reviews: $2.50 per 1,000 reviews ($0.0025 per review).

Platform usage (compute and residential proxy traffic) is billed on top and is small: a list page of 24 tours is about 0.1 MB of traffic, and a tour page about 0.3 MB. So 1,000 tours from lists ≈ $0.82 in total, 1,000 tours with full details ≈ $1.45, and 1,000 reviews ≈ $2.52.

❓ FAQ

Is it legal to scrape Viator? The actor only collects publicly visible tour information and reviews. Check Viator's terms and your local laws, and handle reviewer names responsibly (personal data rules such as GDPR may apply).

Do I need a Viator account or my own proxy? No. No login is needed, and the built-in residential proxy is used by default. Datacenter proxies are blocked by Viator.

How many tours can I get? Viator lists thousands of tours for big destinations (Paris shows about 4,000). Add more destinations, categories or search terms to go further. The run stops cleanly when a list ends.

How many reviews per tour? Viator shows the newest 30 reviews of each tour publicly, so reviews mode returns up to 30 per tour, newest first. That is ideal for monitoring new reviews on a schedule.

Why is a field empty? Listing rows don't carry the operator, itinerary or meeting points; turn on Include full tour details for those. Not every tour has every section.

Can I schedule it or use the API? Yes. Schedule runs in the console or start them through the API and fetch the dataset as JSON, CSV or Excel.

⚠️ Limits

  • Only Viator is covered.
  • Reviews: up to the newest 30 Viator reviews per tour; older reviews and reviews imported from Tripadvisor are not included.
  • Live availability and per-date prices are not scraped; price is the "from" price Viator shows.
  • The price currency follows the proxy country; with your own proxies or a fixed proxy country, prices come in that country's currency.

Related actors

G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.