GetYourGuide Scraper — Tours, Activities & Attraction Tickets avatar

GetYourGuide Scraper — Tours, Activities & Attraction Tickets

Pricing

from $2.00 / 1,000 result scrapeds

Go to Apify Store
GetYourGuide Scraper — Tours, Activities & Attraction Tickets

GetYourGuide Scraper — Tours, Activities & Attraction Tickets

Scrape tours, activities, and attraction tickets from getyourguide.com search results. Extract titles, locations, durations, ratings, review counts, and prices for any destination or activity keyword. No partner API credentials required.

Pricing

from $2.00 / 1,000 result scrapeds

Rating

0.0

(0)

Developer

Studio Amba

Studio Amba

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

0

Monthly active users

2 days ago

Last modified

Categories

Share

GetYourGuide Scraper

Scrape tours, activities, and attraction tickets from getyourguide.com search results — titles, locations, durations, ratings, review counts, and prices for any destination or activity keyword.

Why use this actor?

GetYourGuide is one of the largest tours-and-activities marketplaces in the world, listing tens of thousands of bookable experiences across nearly every city on earth. There's no public partner API without a business relationship with GetYourGuide, so pulling this data at scale otherwise means either signing a partner agreement or scraping the site directly. This actor does the latter: it runs the same search a visitor would, parses the server-rendered result cards, and returns structured data — no partner credentials, no login.

Typical uses:

  • Competitive pricing research for tour operators and travel agencies
  • Building a meta-search or comparison site for activities in a destination
  • Market research on what activities exist, how they're priced, and how they're rated in a given city
  • Feeding activity data into a travel itinerary tool or recommendation engine

How it works

GetYourGuide is protected by Cloudflare, so a plain HTTP request gets a 403 and a bot-challenge cookie. This actor loads each search page in Bright Data's Scraping Browser, a remote browser that passes the Cloudflare check, and parses the server-rendered result cards with Cheerio. No browser runs inside the actor itself, so memory use stays low. A search page takes about 15-30 seconds to load.

GetYourGuide serves at least two different result-card layouts for the same query (observed live during development) — one with a dedicated "location" element, one without. The actor tries both layouts for every field and falls back to deriving the location from the activity's URL slug when no dedicated element exists, so field coverage stays high regardless of which layout a given request happens to get.

Input

FieldTypeRequiredDescription
searchQueryStringNo (default: rome)Activity or destination to search for — a city name (e.g. rome, paris, barcelona) or an activity keyword (e.g. cooking class, wine tasting).
maxResultsIntegerNo (default: 100)Maximum number of activities to return. The actor pages through search results (?p=2, ?p=3, ...) until it hits this limit or runs out of results.
brightDataApiKeyString (secret)NoOptional. A Bright Data API key for a Web Unlocker zone, tried once per run before the Scraping Browser. Leave it blank: the actor uses its own Bright Data access.
proxyConfigurationObjectNoPresent for input-schema completeness. Page fetches go through Bright Data, not through Apify's proxy, so this field has no effect on how requests are routed.

Example input:

{
"searchQuery": "rome",
"maxResults": 20,
"proxyConfiguration": { "useApifyProxy": true }
}

Empty input ({}) also works — it falls back to searchQuery: "rome" and maxResults: 100. GetYourGuide answers every query with a result list, so an unknown word returns its popular activities instead of an empty result.

Output

Each item in the dataset represents one activity from a search results page.

FieldTypeDescription
activityTitleStringName of the tour, activity, or ticket
locationStringCity or destination where the activity takes place
durationString (nullable)Duration of the activity, e.g. "2.5 hours"
ratingNumber (nullable)Average customer rating, 0–5 scale
reviewCountInteger (nullable)Number of customer reviews
priceNumberStarting ("from") price for the activity
currencyStringCurrency code for the price, e.g. EUR
urlStringFull activity page URL
scrapedAtStringISO 8601 timestamp of when the item was scraped

Example output item:

{
"activityTitle": "Colosseum, Roman Forum & Palatine Hill Guided Tour",
"location": "Rome",
"duration": "2.5 hours",
"rating": 4.8,
"reviewCount": 86247,
"price": 49,
"currency": "EUR",
"url": "https://www.getyourguide.com/rome-l33/colosseum-roman-forum-palatine-hill-guided-tour-t195566/",
"scrapedAt": "2026-07-13T01:08:13.706Z"
}

How to scrape GetYourGuide data

To pull activity data for a destination, set searchQuery to a city name (e.g. "rome", "lisbon", "kyoto") or an activity type (e.g. "food tour", "scuba diving"), and set maxResults to how many activities you want back. The actor:

  1. Requests https://www.getyourguide.com/s/?q=<query>&p=<page> in Bright Data's Scraping Browser, which passes GetYourGuide's Cloudflare protection. Two browser sessions run side by side and the first page with results is used; a refused session is replaced until the run's time limit.
  2. Parses the server-rendered result cards (data-test-id="verticalActivityCard") with Cheerio, extracting title, location, duration, rating, review count, and starting price for each card.
  3. Increments the p query parameter to move through pages (24 results per page) until maxResults is reached or a page returns no cards.
  4. Pushes each activity to the dataset as it's found, so partial results are available even if a run is stopped early.

This gets you a clean, structured feed of what's bookable for a destination or activity type — useful for tracking price changes over time, benchmarking a competitor's offerings, or building a dataset of activities for a downstream tool.

Cost estimate

A search page returns up to 24 activities, so 100 results take about 5 page loads and 1,000 results about 42. Images, fonts and media are not loaded. Actor compute cost is small: the browser runs at Bright Data, the actor only parses HTML.

Limitations

  • Page load time. Each search page takes about 15-30 seconds through the Scraping Browser, so 100 results take roughly 2-3 minutes.
  • Search-page data only. This actor parses the search results page, not individual activity detail pages — so fields like a full itinerary, cancellation policy, or all available time slots aren't included. If you need that, you'd fetch the activity's own url separately.
  • No partner API used. GetYourGuide has an official partner API for approved travel businesses, but it requires a commercial agreement. This actor does not use it — it works entirely from public search results, so field availability depends on what GetYourGuide chooses to render on the search page (and that has changed at least once already during development, see "How it works" above).
  • Best-effort fields. rating, reviewCount, and duration are not shown on every card (e.g. new listings with no reviews yet), so these fields may be missing on a small share of items. activityTitle, location, price, currency, and url are present on effectively every item.
  • Tiqets Scraper — attraction tickets and tours from tiqets.com, GetYourGuide's closest direct competitor
  • BlaBlaCar Scraper — carpool and bus trip search results, useful for the transport leg of a trip alongside activities
  • Touring Scraper — Belgian automobile club travel guides, FAQs, and cross-border travel information

Support

Found a bug or have a feature request? Open an issue on the actor's Apify Store page or reach out through the Apify platform's contact options.