GetYourGuide Activities Scraper
Pricing
Pay per event
GetYourGuide Activities Scraper
Export GetYourGuide tours and activities with prices, ratings, reviews, duration, badges, booking velocity, ranking, and canonical URLs.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Export public GetYourGuide tours and activities into clean, analysis-ready data.
Track what travelers see for a destination: ranking, prices, discounts, ratings, review totals, duration, experience attributes, badges, and recent booking signals.
Use one query for a quick market snapshot or schedule several destination searches as a repeatable tour-inventory monitor.
What does GetYourGuide Activities Scraper do?
The Actor opens public GetYourGuide search and destination pages in a real browser and saves one dataset row per activity.
It supports:
- 🔎 destination or activity search queries
- 🔗 GetYourGuide search and destination URLs
- 💶 requested currency and browser locale
- 📦 global activity and per-source page limits
- 🛡️ Apify or custom proxy configuration
- 🧹 deduplication by stable GetYourGuide activity ID
The result is a tabular dataset ready for JSON, CSV, Excel, XML, RSS, or API export.
Who is it for?
Tour and activity operators
Compare your products with competing experiences, spot price moves, and watch which products receive high-visibility badges.
Online travel agencies and affiliates
Build destination research feeds, shortlist popular activities, and keep links and commercial signals current.
Destination marketing teams
Measure the visible mix of attractions, tours, cruises, tickets, food experiences, and day trips in a city.
Travel market researchers
Monitor ranking, review momentum, price bands, and booking-velocity messages across destinations.
Data and growth teams
Feed repeatable GetYourGuide listing snapshots into warehouses, dashboards, alerts, and competitive-intelligence workflows.
Why use this GetYourGuide scraper?
Manual destination comparison becomes slow as soon as you track more than one city or revisit prices every week.
This Actor provides:
- consistent columns across every activity
- numeric prices, ratings, and review counts
- the original card text for quality checks
- source URL and rank for every observation
- stable activity IDs for change tracking
- a timestamp for snapshot comparisons
- browser rendering for pages that reject plain HTTP requests
What GetYourGuide data can I extract?
| Field | Type | Description |
|---|---|---|
activityId | string | Stable ID parsed from the activity URL |
destination | string | Destination or context shown on the card |
title | string | Public activity title |
url | URL | Canonical activity URL without tracking parameters |
sourceUrl | URL | Search or destination page used |
rank | number | Position in the collected output |
duration | string or null | Duration text such as 2 hours |
attributes | string[] | Pickup, audio guide, group size, skip-the-line, and similar labels |
rating | number or null | Visible rating |
reviewCount | number or null | Visible review total |
price | number or null | Current displayed price |
originalPrice | number or null | Previous price when a discount is visible |
currency | string or null | ISO-style currency code |
priceQualifier | string or null | Text such as From or a per-group qualifier |
badges | string[] | Top pick, likely to sell out, official ticket, and similar labels |
bookingVelocity | string or null | Recent booking message when displayed |
imageUrl | URL or null | Listing image URL |
rawText | string | Full normalized card text |
scrapedAt | date | UTC extraction timestamp |
Fields may be null when GetYourGuide does not display that value on a listing card.
How much does it cost to scrape GetYourGuide activities?
The Actor uses pay-per-event pricing:
- a $0.005 Start charge for each run
- an Item extracted charge for each unique saved activity
- automatic volume discounts by Apify plan tier
| Apify tier | Price per activity |
|---|---|
| Free | $0.022754 |
| Bronze | $0.019786 |
| Silver | $0.015433 |
| Gold | $0.011872 |
| Platinum | $0.0079146 |
| Diamond | $0.0055402 |
For example, 50 activities cost about $1.14 on Free or $0.99 on Bronze, including the start event. Pricing reflects the residential proxy bandwidth required for reliable rendered GetYourGuide listings. You can control spend with maxItems and maxPages before starting a run.
All platform compute and proxy costs are included in the event prices.
Quick start
- Open the Actor input form.
- Keep the prefilled Paris query or add your own destination.
- Set
maxItemsto a small number for the first run. - Choose a currency and browser language.
- Keep the prefilled residential Apify Proxy enabled for reliable cloud access.
- Click Start.
- Open Dataset to preview or export activity rows.
Input
A minimal query input:
{"queries": ["Paris"],"maxItems": 20,"maxPages": 3,"language": "en-US","currency": "EUR"}
A destination URL input:
{"startUrls": [{ "url": "https://www.getyourguide.com/rome-l33/" }],"maxItems": 40,"maxPages": 4,"language": "en-US","currency": "EUR"}
You can combine startUrls and queries in one run. Duplicate activities are saved once.
Input reference
startUrls
Public GetYourGuide search or destination listing URLs.
URLs on other domains fail validation. Individual activity detail URLs are rejected because this Actor targets listing discovery and monitoring.
queries
Search phrases such as:
ParisRome food toursLondon museumsBarcelona sailing
maxItems
Maximum unique activity rows across all sources. The default is intentionally small for an inexpensive first run.
maxPages
Maximum rendered listing batches or scrolls per source. Increase this only when you need deeper ranking coverage.
language
A BCP 47 browser locale such as en-US, de-DE, or fr-FR. Labels are saved as GetYourGuide renders them.
currency
A three-letter code such as EUR, USD, or GBP.
proxyConfiguration
Residential Apify Proxy or custom proxy settings. The residential default is based on local verification after datacenter traffic was challenged.
Output example
{"activityId": "199048","destination": "Paris","title": "Skip-the-Line Versailles Palace & Garden Tour with Transport","url": "https://www.getyourguide.com/paris-l16/skip-the-line-versailles-palace-garden-tour-with-transport-t199048/","sourceUrl": "https://www.getyourguide.com/s/?q=Paris¤cy=EUR","rank": 1,"duration": "3 - 3.5 hours","attributes": ["Skip the line", "Private option available"],"rating": 4.6,"reviewCount": 1165,"price": 62,"originalPrice": null,"currency": "EUR","priceQualifier": "From","badges": ["Top pick"],"bookingVelocity": null,"imageUrl": "https://cdn.getyourguide.com/image/...jpeg","rawText": "Top pick Paris Skip-the-Line Versailles...","scrapedAt": "2026-07-16T03:00:00.000Z"}
Ranking and pagination
rank reflects the order in which qualifying cards are collected across the input sources.
GetYourGuide can personalize or change ranking based on availability, locale, currency, market, time, and its own ranking system. A scheduled snapshot is therefore more useful than treating one run as permanent truth.
The Actor scrolls the rendered listing and uses a visible show/load-more control when one exists. It stops at the earliest of:
maxItemsmaxPagesfor a source- no additional visible activities
- the end of all sources
Price monitoring workflow
For repeat competitive pricing research:
- Use the same query or destination URLs each run.
- Keep language, currency, and proxy country stable.
- Schedule the Actor daily or weekly.
- Save each dataset to a warehouse or named storage.
- Join snapshots on
activityId. - Alert when
price,originalPrice,rank, orbadgeschanges.
Preserve rawText so analysts can inspect unusual qualifier or discount formats.
Ranking and popularity workflow
Use these fields together:
rankfor visible placementratingfor customer satisfactionreviewCountfor accumulated proofbadgesfor merchandising signalsbookingVelocityfor recent demand messages
A booking-velocity field is null when GetYourGuide does not show a recent-booking message. Null does not mean zero bookings.
Tips for reliable results
- Start with 10–20 items while validating a new destination.
- Keep the default residential Apify Proxy enabled on cloud runs.
- Use a custom proxy only after verifying that it renders complete activity cards.
- Keep currency and locale stable across historical comparisons.
- Split very large destination portfolios into scheduled batches.
- Review
rawTextwhen a price qualifier looks unusual. - Treat ranking as a time-specific observation.
Integrations
Google Sheets and Excel
Export the dataset as CSV or Excel for destination, price-band, and badge analysis.
Webhooks
Trigger a webhook after each run, then compare the new dataset with the previous snapshot.
Make and Zapier
Start destination checks from a schedule and route discounted or newly badged activities into alerts.
BigQuery, Snowflake, and warehouses
Load JSON rows, key on activityId, and partition observations by scrapedAt.
Slack and email alerts
Notify a market manager when a tracked product changes rank, price, or sell-out badge.
API usage
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/getyourguide-activities-scraper').call({queries: ['Paris', 'Rome'],maxItems: 50,maxPages: 4,language: 'en-US',currency: 'EUR'});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Run with the Apify API using Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("automation-lab/getyourguide-activities-scraper").call(run_input={"queries": ["Paris", "Rome"],"maxItems": 50,"maxPages": 4,"language": "en-US","currency": "EUR",})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
Run with cURL
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~getyourguide-activities-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"queries": ["Paris"],"maxItems": 20,"maxPages": 3,"language": "en-US","currency": "EUR"}'
Use with Apify MCP
Connect AI clients through Apify MCP.
Claude Code setup
claude mcp add --transport http apify \"https://mcp.apify.com/?tools=automation-lab/getyourguide-activities-scraper"
Claude Desktop setup
{"mcpServers": {"apify": {"url": "https://mcp.apify.com/?tools=automation-lab/getyourguide-activities-scraper"}}}
Cursor setup
Add the same Apify MCP URL as a remote HTTP MCP server in Cursor Settings → MCP.
VS Code setup
Add the same remote HTTP endpoint to your VS Code MCP server configuration, then enable the automation-lab/getyourguide-activities-scraper tool.
Example prompts:
- “Collect 20 Paris GetYourGuide activities and summarize the price bands.”
- “Compare visible rating and review counts for Rome food tours.”
- “Find activities showing sell-out or recent-booking signals.”
Proxy and anti-bot behavior
GetYourGuide can reject plain HTTP requests or traffic from challenged IPs. The Actor uses browser rendering, a warm session, a desktop browser profile, and conservative sequential navigation.
Images, fonts, media, and common analytics requests are blocked to reduce bandwidth. Image URLs remain available from the rendered card markup.
If a source is blocked:
- confirm the default residential Apify Proxy is enabled;
- rotate the residential session or choose a suitable proxy country;
- use a proxy country consistent with the destination market;
- reduce source and page counts;
- inspect the log for the HTTP status and page title.
Limitations
- GetYourGuide can change its page structure without notice.
- Results depend on public availability at run time.
- Ranking can vary by locale, currency, IP market, date, and personalization.
- Some cards omit reviews, previous prices, badges, or booking velocity.
- Currency requests are subject to what GetYourGuide renders for the selected market.
- This Actor does not extract private supplier data, availability calendars, checkout prices, or logged-in account data.
- Activity detail URLs are not accepted as listing sources.
Legality
This Actor extracts publicly visible listing information. Whether a specific use is lawful depends on jurisdiction, purpose, volume, contract terms, and the data you combine with it.
You are responsible for:
- following applicable laws and GetYourGuide terms;
- avoiding collection of unnecessary personal data;
- respecting intellectual-property and database rights;
- using reasonable request volume;
- applying appropriate retention and security controls.
This documentation is not legal advice.
FAQ
Can I scrape several destinations in one run?
Yes. Add multiple queries, multiple destination URLs, or both. maxItems applies globally.
Does it extract GetYourGuide reviews?
It saves the visible rating and review count from each listing card. It does not extract individual review text.
Why is originalPrice null?
GetYourGuide only displays an original price when the listing card shows a comparison or discount.
Why is bookingVelocity null?
Recent-booking text appears only on some cards and can change over time.
Why did the run produce no items?
Check that the input is a public GetYourGuide search/destination URL or query. Then enable Apify Proxy or select residential proxy access. Total extraction failure causes the run to fail instead of silently returning an empty successful dataset.
Why are rankings different from my browser?
Locale, currency, IP location, availability, time, and GetYourGuide ranking updates can all change ordering. Keep these inputs stable for comparisons.
Can I request USD prices?
Yes. Set currency to USD. Confirm the returned currency and rawText, because the visible market can affect rendering.
How do I avoid duplicates?
The Actor deduplicates by stable GetYourGuide activity ID across all sources in one run.
Related travel scrapers
Combine this Actor with other Automation Lab travel datasets:
- Booking Scraper for hotel inventory and pricing research
- Tripadvisor Scraper for destination and attraction intelligence
- Booking Reviews Scraper for accommodation review analysis
- Trip.com Hotels Scraper for cross-OTA hotel comparisons
Support
If a valid public listing stops working, open an issue from the Actor page and include:
- the input with secrets removed;
- the run URL;
- the expected destination or query;
- whether a proxy was enabled;
- an example activity visible in your browser.
That evidence makes page-structure and access changes faster to diagnose.