Viator Scraper avatar

Viator Scraper

Pricing

$1.00 / 1,000 activities

Go to Apify Store
Viator Scraper

Viator Scraper

The Viator Scraper extracts activity and tour data from Viator by processing an array of URLs, capturing paginated results with titles, prices, discounts, location details, images, and direct links—ideal for travel research and competitor analysis.

Pricing

$1.00 / 1,000 activities

Rating

5.0

(1)

Developer

FalconScrape

FalconScrape

Maintained by Community

Actor stats

4

Bookmarked

217

Total users

11

Monthly active users

8 days ago

Last modified

Features

Limited permissions

Share

🚀 Viator Scraper: Tours, Prices and Reviews Data

Export Viator tours and activities as clean JSON, CSV or Excel. The Viator Scraper turns any Viator things-to-do, category, attraction or search results page into a list of tours with the from-price, currency, star rating, review count, location, photo and a direct link. Use it to compare tour prices, research tour operators and competitors, or as a simple alternative to the Viator API.

🎯 Use Cases

  • Viator tours research: pull every tour Viator lists for a city, category or attraction into one spreadsheet.
  • Tour price comparison: track the from-prices of walking tours, day trips or cruises in a destination and see how they move over time.
  • Viator reviews and ratings benchmark: rank activities by star rating and review count to find the best sellers in a market.
  • Viator competitors analysis: see which tours compete with yours on the same city or attraction page, and at what price.
  • GetYourGuide vs Viator checks: export Viator's side of a destination to compare it with the same market on other booking platforms.
  • Travel content and catalogs: build "top things to do" lists with names, photos, ratings and links.

✨ Features

  • Prices as numbers: the current from-price per traveler and its currency.
  • Deals, duration and cancellation: the price before a discount and the saving, the tour length in minutes, free cancellation and the tour description.
  • Ratings and reviews: the star rating, the exact average rating and the number of reviews for each tour.
  • Location and media: the destination name, region and the largest tour photo.
  • Direct tour links and product codes: every row links to the tour page and carries Viator's product code.
  • Many page types: things-to-do pages, category pages, attraction pages, search results and destination pages (which lead to their things-to-do list).
  • Search by place or keyword: type Lisbon or Rome food tour into Search terms, no URL needed.
  • Automatic pagination: each listing is followed through its pages, up to 50 pages per run, or as many as Max activities needs.
  • No duplicates: a tour that appears on two of your listings is saved, and billed, once.
  • Fair billing: the run stops at your maximum charge, and the status line tells you how many activities were saved and why a run stopped early.

🛠️ How It Works

  1. Copy one or more Viator listing URLs: a things-to-do page (/Paris/d479-ttd), a category (/Rome-tours/Day-Trips-and-Excursions/d511-g5), an attraction (/Paris-attractions/Eiffel-Tower/d479-a89) or a search (/searchResults/all?text=new york).
  2. Paste them into Search URLs, or type places into Search terms, and start the run. Set Max activities to cap the run.
  3. Download the tours as JSON, CSV or Excel, or pull them through the Apify API.

⚙️ Input

FieldWhat it does
Search URLsOne or more Viator listing URLs: things-to-do, category, attraction, search results or destination pages. Each one is followed through its pages. A single tour page returns that one tour.
Search termsPlaces or keywords, e.g. Lisbon or Rome food tour. Each runs Viator's own search, like a search results URL.
Max activitiesStop after this many activities in total. Empty = every activity on up to 50 pages.
{
"searchUrls": [
"https://www.viator.com/Boston-tours/Bus-and-Minivan-Tours/d678-g12-c98",
"https://www.viator.com/Paris-attractions/Eiffel-Tower/d479-a89",
"https://www.viator.com/searchResults/all?text=new%20york"
],
"searchTerms": ["Lisbon"],
"maxItems": 500
}

An empty input scrapes the example Boston category, so you can see the output first.

Localized URLs such as https://www.viator.com/en-GB/London-tours/Walking-Tours/d737-g16-c56 work too.

💰 Pricing

Pay only for the activities you get. No monthly rental.

EventPriceWhat you get
Activity$0.001 per activity ($1.00 per 1,000)One tour or activity with all fields below.

Examples: one Boston category page with 100 tours = $0.10 · a full 50-page run of about 1,200 tours = $1.20.

📊 Sample Output Data

{
"name": "Boston Duck Boat Sightseeing City Tour with Cruise",
"productCode": "3037DUCK",
"url": "https://www.viator.com/tours/Boston/Boston-Duck-Boat-Sightseeing-City-Tour-with-Cruise/d678-3037DUCK",
"image": "https://dynamic-media.tacdn.com/media/photo-o/33/2a/f2/4d/caption.jpg?w=1600&h=1000&s=1",
"locationName": "Boston, Massachusetts",
"addressLocality": "Boston",
"offerPrice": 61.85,
"offerCurrency": "USD",
"ratingValue": 4.5,
"exactRating": 4.6,
"bestRating": 5,
"worstRating": 1,
"reviewCount": 10084,
"originalPrice": null,
"discountAmount": null,
"durationMinutes": 80,
"durationMaxMinutes": 80,
"freeCancellation": true,
"description": "Water is no barrier for a duck, why should it be for you? A Boston Duck Tour is a wonderful..."
}

offerPrice is the lowest "from" price Viator shows on the listing, after any discount; depending on the tour it is per person or per group. ratingValue is the star rating as displayed (rounded to half stars), while exactRating is the precise average. bestRating and worstRating describe the 1 to 5 scale. originalPrice and discountAmount are filled when Viator shows a deal (the price before the discount and the saving), otherwise null. durationMinutes / durationMaxMinutes give the tour length in minutes (equal for a fixed length, a range for flexible tours). freeCancellation is true when Viator offers free cancellation; single tour pages leave these fields null.

🔁 Schedule and Integrate

For tour price tracking, run it once a day or once a week with the same URLs: each run is a dated snapshot of prices, ratings and review counts, and together they show how a market moves. Set it up in Apify Schedules. Send the results to Google Sheets, Zapier, Make, n8n or a webhook with Apify integrations, so new data lands where your team already works.

🤖 Use with AI Agents (MCP)

This Actor works as a tool in Claude, ChatGPT, Cursor and other MCP clients through the Apify MCP server (https://mcp.apify.com). An agent can call it with:

{ "searchTerms": ["rome food tour"], "maxItems": 100 }

❓ FAQ

Does Viator have an official API? Yes. The Viator Partner API is for approved affiliates and merchants: you apply to the partner program, get a key, and work within its access levels and rate limits. This Actor needs no key, account or approval, and returns the public data any visitor sees on Viator's listing pages: tours, prices, ratings, review counts and links.

Do I need a Viator account? No.

Which URLs can I use? Things-to-do pages, category pages, attraction pages, search results and destination pages. A single tour page (/tours/...) returns that one tour as a row.

Does it scrape Viator reviews text? No. Each tour comes with its star rating, exact average rating and review count. For review text from other travel sites, see the related scrapers below.

Why is a rating or review count 0? New tours often have no reviews yet; Viator then shows no rating, and both fields are 0.

How many tours can one run return? Without a limit, up to 50 listing pages per run, which is about 1,200 tours. Set Max activities higher to page further (raise the run timeout for big runs too), or split a big destination into category or attraction URLs. Prices come in the currency Viator shows for the page, usually USD.

How do I compare GetYourGuide vs Viator tour prices? Export the same destination from Viator with this Actor and from GetYourGuide with a GetYourGuide scraper, then match tours by name or attraction in a spreadsheet.