Viator Tours Scraper
Pricing
from $10.00 / 1,000 results
Viator Tours Scraper
Viator Tours Scraper extracts tour listings from Viator search results, collecting prices, ratings, reviews, durations, cancellation details, product links, and images. It supports lazy-loaded pages, optional pagination, and exports structured tour data to the Apify dataset.
Pricing
from $10.00 / 1,000 results
Rating
0.0
(0)
Developer
Jamshaid Arif
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Viator Tours Scraper (Apify Actor)
Renders Viator search-result pages , scrolls to load product cards, and extracts structured tour data into the actor's dataset.
What it collects
Per tour: name, price, currency, priceText, rating, reviewCount,
duration, freeCancellation (bool), likelyToSellOut (bool), tourUrl,
productCode, imageUrl, plus sourceUrl and scrapedAt (UTC ISO).
How parsing works
Viator renders each product as a card whose text is one blob, e.g.
"New York in One Day Guided Sightseeing Tour 6 hours Free Cancellation 4.8 ( 13,594 ) from $99".
Instead of relying on Viator's hashed CSS classes, the parser (src/parser.py) locates
the product cards then pulls name / duration / rating / reviews / price out of the
card text with regex, and reads the link/image/product-code from the card's elements.
This survives Viator's frequent class-name churn.
Input
| Field | Type | Default | Notes |
|---|---|---|---|
startUrls | array of URLs | New York search | Viator search URLs. Run a search and copy the URL. |
maxItems | integer | 100 | Cap across all URLs. |
maxPages | integer | 1 | Pages to paginate (needs nextButtonSelector). |
nextButtonSelector | string | "" | Optional CSS selector for the next-page control. |
scrolls | integer | 25 | Safety cap; auto-stops when no new cards load. |
scrollPauseSecs | integer | 1 | Pause after each scroll. |
cardWaitSecs | integer | 25 | Wait for the first cards. |
navigationTimeoutSecs | integer | 60 | Page-load timeout. |
proxyConfiguration | proxy | Apify RESIDENTIAL | Viator runs DataDome — residential is strongly recommended. |
headless | boolean | true | Uncheck for local debugging. |
Example output item
{"name": "New York in One Day Guided Sightseeing Tour","price": "99","currency": "$","priceText": "$99","rating": "4.8","reviewCount": 13594,"duration": "6 hours","freeCancellation": true,"likelyToSellOut": false,"tourUrl": "https://www.viator.com/tours/New-York-City/.../d687-5827NYC1DAY","productCode": "d687-5827NYC1DAY","imageUrl": "https://...","sourceUrl": "https://www.viator.com/searchResults/all?text=New%20York","scrapedAt": "2026-06-28T18:30:00+00:00"}