GetYourGuide, Viator, Klook & Tiqets Tours Scraper avatar

GetYourGuide, Viator, Klook & Tiqets Tours Scraper

Pricing

from $2.00 / 1,000 tour results

Go to Apify Store
GetYourGuide, Viator, Klook & Tiqets Tours Scraper

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

Muhamed Didovic

Maintained by Community

Actor stats

0

Bookmarked

144

Total users

40

Monthly active users

a day ago

Last modified

Categories

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.

How it works

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

PlatformListing page (crawl)Single tour (detail)
GetYourGuidegetyourguide.com/paris-l16/…/…-t989157/
Viatorviator.com/Paris/d479-ttd…/d479-382015P1
Klookklook.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-…
Tiqetstiqets.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

  1. You provide start URLs (listing or detail) or search terms, plus a result cap.
  2. Listing pages fan out — the actor discovers every tour URL on a destination/city/category page and paginates where supported.
  3. Each tour is fetched with the right strategy per platform and parsed into one normalised row.
  4. Reviews are attached on all four platforms when includeReviews is on.
  5. Results stream to the dataset — one row per tour, ready to export as JSON, CSV or Excel.

Input configuration

FieldTypeDescription
startUrlsarrayListing or detail URLs from any of the four platforms.
searcharrayFree-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.
platformsarrayWhich platforms the search terms run on (getyourguide, viator, klook, tiqets). Empty means all four.
maxItemsintegerMax tours to scrape across all inputs. Default 20.
includeReviewsbooleanCapture per-tour review text. Default true.
maxReviewsPerItemintegerCap reviews per tour. Default 10.
countrystringISO-2 exit country (e.g. us, gb, de). Also stabilises GetYourGuide's price currency. Klook city and keyword results are always in USD.
cacheMaxAgeHoursintegerReuse 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.
maxConcurrencyintegerParallel 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

FieldDescription
platformgetyourguide | viator | klook | tiqets
urlCanonical tour URL
productIdPlatform product/activity ID
titleTour/activity name
descriptionShort description
price / currencyLead price + ISO currency
originalPriceList price before a discount (Klook city/search rows, when Klook shows one)
rating / reviewCountAverage rating + total reviews
bookings / bookingsMinKlook's booked count as shown ("6M+ booked") and the number it states (6000000). Klook city/search rows
soldOutWhether Klook marks the activity sold out. Klook city/search rows
reviews[]author, rating, title, text, date, language
durationTextDuration where the platform exposes it (e.g. Viator)
locationCity/destination or venue address
latitude / longitudeCoordinates where available
providerBrand/operator where available
images[]Image URLs
scrapedAtISO 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:

  • maxItems defaults 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.
  • includeReviews defaults to true (maxReviewsPerItem default 10), on all four platforms.
  • Klook city pages and Klook keywords return up to 1,000 activities each with bookings and soldOut filled, and description/durationText null; 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 search is 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.