GetYourGuide, Viator, Klook & Tiqets Tours Scraper
Pricing
from $2.00 / 1,000 tour results
GetYourGuide, Viator, Klook & Tiqets Tours Scraper
Compare tour prices and reviews across GetYourGuide, Viator, Klook and Tiqets from one scraper. Pull each tour's price, currency, rating, full reviews, duration and location by destination or URL — built for travel price intelligence, market research and OTA monitoring. JSON or CSV
Pricing
from $2.00 / 1,000 tour results
Rating
0.0
(0)
Developer
Muhamed Didovic
Maintained by CommunityActor stats
0
Bookmarked
144
Total users
40
Monthly active users
a day ago
Last modified
Share
Tours & Activities Scraper — GetYourGuide, Viator, Klook & Tiqets
Scrape tours, activities and attraction tickets from GetYourGuide, Viator, Klook and Tiqets with a single actor. Paste a city/destination page and crawl every tour on it, or paste individual tour URLs — and get a clean, identical row for each: price, currency, rating, review count, full review text, duration, location, provider and images.

Why use this scraper
- Four platforms, one schema. GetYourGuide, Viator, Klook and Tiqets normalised into the same fields — no per-site glue code on your side.
- Real reviews on every platform. Author, rating, title, text and date, on Klook too.
- Crawl a whole city or target single tours. Drop in a destination page and the actor fans out to every activity; or pass exact tour URLs for surgical pulls.
- Klook keyword search and whole-city catalogs. Search Klook by keyword or paste a Klook city page and get up to 1,000 activities, with Klook's booked count on every row.
- Price intelligence ready. Stable currency (pin a country), per-tour price and rating make it a drop-in feed for competitor monitoring and market research.
- Fast, pay per result. No login or API key needed, and you only pay for the tours you actually get.
Overview
The Tours & Activities Scraper extracts structured data from the four largest online tours/activities marketplaces. Give it any mix of listing pages (city, destination, category) or detail pages (a single tour), or a search term, and it returns one row per tour/activity with pricing, ratings, reviews, duration, location and images — exportable as JSON, CSV or Excel.
Supported inputs
| Platform | Listing page (crawl) | Single tour (detail) |
|---|---|---|
| GetYourGuide | getyourguide.com/paris-l16/ | …/…-t989157/ |
| Viator | viator.com/Paris/d479-ttd | …/d479-382015P1 |
| Klook | klook.com/en-US/destination/c8-bali/1-things-to-do/, klook.com/en-US/city/28-tokyo-things-to-do/ or a search keyword | …/activity/73749-… |
| Tiqets | tiqets.com/en/paris-attractions-c66007/ | …/…-p703295 |
You can mix platforms and page types in one run. Listing pages are expanded into their individual tours automatically.
On Klook, a city page returns up to 1,000 activities in that city, most booked first, and a keyword returns up to 1,000 matching activities in Klook's recommended order. Those rows come straight from Klook's results, so they arrive fast and carry bookings and soldOut, but no description or durationText. Pass a Klook activity URL when you need those two fields for a specific activity.
Use cases
- Competitor & price monitoring — track tour prices and ratings across all four OTAs for the same destinations.
- Market research — measure supply, pricing and review sentiment for a city or activity category.
- Travel content & affiliates — build "things to do" pages with live prices, ratings and images.
- Review mining — pull review text at scale to analyse what travellers say about a tour or operator.
- Lead lists for operators — find which experiences exist in a market and how they're positioned.
How it works
- You provide start URLs (listing or detail) or search terms, plus a result cap.
- Listing pages fan out — the actor discovers every tour URL on a destination/city/category page and paginates where supported.
- Each tour is fetched with the right strategy per platform and parsed into one normalised row.
- Reviews are attached on all four platforms when
includeReviewsis on. - Results stream to the dataset — one row per tour, ready to export as JSON, CSV or Excel.
Input configuration
| Field | Type | Description |
|---|---|---|
startUrls | array | Listing or detail URLs from any of the four platforms. |
search | array | Free-text destinations/keywords. On Klook each term returns up to 1,000 matching activities; on the other platforms it is resolved to their search page. |
platforms | array | Which platforms the search terms run on (getyourguide, viator, klook, tiqets). Empty means all four. |
maxItems | integer | Max tours to scrape across all inputs. Default 20. |
includeReviews | boolean | Capture per-tour review text. Default true. |
maxReviewsPerItem | integer | Cap reviews per tour. Default 10. |
country | string | ISO-2 exit country (e.g. us, gb, de). Also stabilises GetYourGuide's price currency. Klook city and keyword results are always in USD. |
cacheMaxAgeHours | integer | Reuse a page one of your own earlier runs already fetched, if it is younger than this many hours. Default 24; 0 always fetches fresh. Only your account's own pages are reused, and only ones fetched through the same exit country. |
maxConcurrency | integer | Parallel detail fetches. Default 6. |
Example input
{"startUrls": [{ "url": "https://www.getyourguide.com/paris-l16/" },{ "url": "https://www.viator.com/Paris/d479-ttd" }],"maxItems": 50,"includeReviews": true,"maxReviewsPerItem": 10,"country": "us"}
Output overview
One row per tour/activity, identical shape across all four platforms. Export as JSON, CSV, Excel or HTML from the dataset.
Output sample
{"platform": "getyourguide","url": "https://www.getyourguide.com/paris-l16/louvre-museum-guided-tour-with-mona-lisa-t989157/","productId": "989157","title": "Louvre Priority Access Mona Lisa & Museum Icons Guided Tour","description": "Discover the Louvre the easy way. Meet icons like the Mona Lisa and the Venus de Milo…","price": 90.28,"currency": "USD","rating": 4.53,"reviewCount": 929,"durationText": null,"location": "Paris","latitude": null,"longitude": null,"provider": "GetYourGuide","categories": [],"images": ["https://cdn.getyourguide.com/img/tour/…/53.jpg"],"reviews": [{"author": "Barbora","rating": 5,"title": null,"text": "This tour was absolutely excellent from beginning to end…","date": "2026-06-23T15:52:47+02:00","language": null}],"scrapedAt": "2026-06-23T17:27:26.424Z"}
Key output fields
| Field | Description |
|---|---|
platform | getyourguide | viator | klook | tiqets |
url | Canonical tour URL |
productId | Platform product/activity ID |
title | Tour/activity name |
description | Short description |
price / currency | Lead price + ISO currency |
originalPrice | List price before a discount (Klook city/search rows, when Klook shows one) |
rating / reviewCount | Average rating + total reviews |
bookings / bookingsMin | Klook's booked count as shown ("6M+ booked") and the number it states (6000000). Klook city/search rows |
soldOut | Whether Klook marks the activity sold out. Klook city/search rows |
reviews[] | author, rating, title, text, date, language |
durationText | Duration where the platform exposes it (e.g. Viator) |
location | City/destination or venue address |
latitude / longitude | Coordinates where available |
provider | Brand/operator where available |
images[] | Image URLs |
scrapedAt | ISO timestamp |
FAQ
Which platforms are supported? GetYourGuide, Viator, Klook and Tiqets — in a single actor with one output schema.
Can I scrape a whole city at once? Yes. Paste a destination/city/category URL and the actor expands it to every tour it lists, paginating where the platform supports it. A Klook city page returns up to 1,000 activities, most booked first.
Do I get individual reviews? Yes, on all four platforms, including Klook city and keyword results.
Why is durationText sometimes null? Many entries are tickets or transport with no fixed duration, and some platforms don't publish a machine-readable duration. Viator durations are extracted; GetYourGuide doesn't expose a clean value.
Why does GetYourGuide price currency change? GetYourGuide localises currency by IP. Set country (e.g. us) for a stable currency.
Do you support search by keyword? Yes, via the search field. On Klook a keyword returns up to 1,000 matching activities. On GetYourGuide, Viator and Tiqets it is best-effort, and explicit start URLs are the most reliable.
Why do some Klook rows have no description or duration? Rows from a Klook city page or keyword come straight from Klook's results, which list price, rating, reviews, booked count, location and image but not the description or duration. Pass the activity's own URL to get those two fields.
Is anything different on the free Apify plan? Yes. On the free plan the first 3 rows of a run are complete. Later rows hide price, originalPrice and rating, round reviewCount to its order of magnitude, hide each review's author, rating and title, shorten each review's text to its first 3 characters, and carry a freePlanNote field saying so. Everything else stays in full — title, description, tour URL, product id, images, location, coordinates, provider, duration, categories, currency, and one entry per review actually collected. saveDebugFiles is also ignored on the free plan. Any paid Apify plan returns every field in full.
Support
Found a bug or need another field or platform? Open an issue on the actor's Issues tab in Apify Console — issues are monitored and addressed quickly.
Additional services
Need a custom field, an extra tours platform, a scheduled feed, or the data pushed to your database/webhook? Reach out via the Issues tab — custom work and integrations are available.
Explore more scrapers
Looking for related travel data? Check the rest of the portfolio for hotel, flight and review scrapers across major travel platforms.
🤖 For AI Agents & LLM Apps
Compact reference for AI agents calling this actor via the Apify MCP server or the Apify API (actor: memo23/tours-activities-scraper).
Purpose: Scrapes tours, activities and attraction tickets from GetYourGuide, Viator, Klook and Tiqets into one identical row per tour, with full per-tour review text normalized across all four platforms.
Minimal input:
{"startUrls": [{ "url": "https://www.getyourguide.com/paris-l16/" }],"maxItems": 20}
Search mode variant: { "search": ["Paris"], "maxItems": 20 }. On Klook a term returns up to 1,000 matching activities; on the other platforms it is resolved to their search page (best-effort, start URLs are more reliable). Add "platforms": ["klook"] to search one platform only.
Output: one row per tour — platform, url, productId, title, description, price, currency, originalPrice, rating, reviewCount, bookings, bookingsMin, soldOut, durationText, location, latitude, longitude, provider, categories[], images[], scrapedAt, and reviews[] (each author, rating, title, text, date, language).
Behaviors an agent should know:
maxItemsdefaults to 20 and caps total tours across all inputs — set it explicitly to size the run.- Listing/destination/category URLs fan out to every tour they contain (paginating where supported); detail URLs are scraped directly; platforms and page types can be mixed in one run.
includeReviewsdefaults to true (maxReviewsPerItemdefault 10), on all four platforms.- Klook city pages and Klook keywords return up to 1,000 activities each with
bookingsandsoldOutfilled, anddescription/durationTextnull; a Klook activity URL returns both. - Set
country(ISO-2, e.g.us) for a stable price currency — all four platforms localize currency by IP. - Publicly available data only; keyword
searchis best-effort outside Klook. - Billed per result (per tour returned) — see the Pricing tab on the actor page for the exact rate.
⚠️ Disclaimer
This actor extracts publicly available information only. It does not access any data behind a login, and it does not collect personal data beyond what platforms publish publicly (e.g. public review author display names). You are responsible for using the scraped data in compliance with each platform's terms, applicable laws (including GDPR/CCPA where relevant) and copyright. Use the data responsibly and lawfully.
SEO keywords
GetYourGuide scraper, Viator scraper, Klook scraper, Tiqets scraper, tours and activities scraper, things to do scraper, travel experiences API, tour price scraper, activity reviews scraper, attraction tickets data, OTA price monitoring, travel data extraction, tours data API, experiences price intelligence, destination activities scraper.