GetYourGuide Scraper - Tours, Activities, Prices & Reviews
Pricing
from $15.00 / 1,000 tour / activity scrapeds
GetYourGuide Scraper - Tours, Activities, Prices & Reviews
Scrape GetYourGuide tours & activities by search, destination URL or activity URL. Get title, price + discount, currency, rating, review count, supplier/operator, full location, images and reviews. Supplier intelligence, monitoring, no login, no key.
Pricing
from $15.00 / 1,000 tour / activity scrapeds
Rating
0.0
(0)
Developer
Scrape Sage
Maintained by CommunityActor stats
0
Bookmarked
69
Total users
22
Monthly active users
2 days ago
Last modified
Categories
Share
GetYourGuide Scraper - Tours, Activities, Prices, Reviews & Supplier Leads
Disclaimer: This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by GetYourGuide or any of its subsidiaries. All trademarks mentioned are the property of their respective owners. "GetYourGuide" is referenced only to describe the publicly available website this Actor collects data from.
Extract complete GetYourGuide tour & activity data - the fields thin scrapers leave empty: real "from" prices with the discount % and original price, the currency you ask for, average rating, full review count, the tour operator ("Activity provider"), the complete location breakdown (city, area, country, point of interest) and the full image gallery. Optionally pull every activity's reviews and build a supplier intelligence table that shows which operators run the most tours and how they rate.
No login and no API key: search results and reviews come straight from GetYourGuide's own data feed, and each activity's full record from the structured data on its page.
How this actor gets past Cloudflare
GetYourGuide is protected by Cloudflare bot management, which rejects plain HTTP scrapers whatever user-agent they send - it fingerprints the connection itself, so spoofing Googlebot does not help.
Search results and reviews come from GetYourGuide's own data feed, the one its pages load for every visitor, which needs no proxy. Activity and destination pages are read through a real browser on a residential connection, the way a visitor does, but only the page itself is downloaded: no images, scripts or trackers. That keeps runs fast and lean: a default run (one search, 60 activities with full details) finishes in about two minutes.
If GetYourGuide refuses every connection on a given run, the run card says so in plain language and you are charged nothing. This actor bills per result, so no results means no bill. If a run's pages stop turning into results (for example, filters that nothing matches), it stops early and tells you what to change.
Apify residential proxies are used automatically for the pages; there is no setting you need to change. You can still supply your own pool via
proxyConfiguration.proxyUrls(it must be residential); the data feed then goes through it too.
Why this GetYourGuide scraper?
Most GetYourGuide scrapers only parse the search cards and return null for price, supplier, and location, or quote prices in a random currency based on the server IP. This actor reads each activity's structured data and ships the richest dataset in the category:
| Data | Typical scrapers | This actor |
|---|---|---|
| "From" price + currency you choose | partial / wrong currency | ✅ real price, your currency |
| Discount % + original price | ❌ | ✅ |
| Average rating + full review count | partial | ✅ |
| Reviews with reviewer country, language, traveller type and sub-ratings, up to 1,000 per activity | ❌ | ✅ opt-in |
| Supplier / tour operator name | ❌ | ✅ |
| Supplier intelligence (activities, avg rating, cities) | ❌ | ✅ opt-in |
| Full location: city, area, country, point of interest | ❌ city only | ✅ |
| Categories / themes | ❌ | ✅ |
| Free-cancellation & skip-the-line flags | ❌ | ✅ |
| Image gallery | partial | ✅ |
| Value score (0-100) per activity | ❌ | ✅ |
| Monitor mode - only new activities | ❌ | ✅ |
Use cases
- Travel market & pricing intelligence - track "from" prices, discounts, ratings and review velocity for any destination: Rome, Paris, Tokyo, New York, Barcelona, Dubai, and thousands more. Schedule recurring runs to watch price moves.
- Tour operator competitor analysis - turn on supplier intelligence to see which operators dominate a city, how their catalogue rates, and where they operate.
- Affiliate & travel content - populate destination guides, comparison pages and newsletters with structured experiences (price, rating, duration, images) at scale.
- OTA & metasearch catalogues - feed booking platforms and aggregators with clean, deduplicated activity data including geo and categories.
- Lead & partnership prospecting - identify the highest-volume, best-rated operators (
supplierName, supplier summary) as partnership or sales targets.
How to use
- Sign up for Apify - the free plan is enough to try this actor.
- Open the GetYourGuide Scraper, enter search queries (a city, attraction or theme) or paste GetYourGuide URLs, choose your currency, and click Start.
- Watch results stream into the dataset table.
- Export as JSON, CSV, Excel, XML, or RSS - or pull results programmatically via the Apify API.
Input
{"searchQueries": ["rome colosseum", "paris museum tickets"],"currency": "USD","language": "en","maxResults": 100,"maxResultsPerSearch": 60,"includeActivityDetails": true,"includeReviews": true,"maxReviewsPerActivity": 10,"deduplicateSuppliers": true,"minRating": 4,"monitorMode": false}
- searchQueries - free-text searches (city, attraction, or theme). Each is crawled across the results pages.
- locationUrls - GetYourGuide destination URLs (
https://www.getyourguide.com/rome-l33/) to crawl a whole "things to do" listing, paginated automatically. - activityUrls - direct activity pages (
…-t<ID>/) for the full record. - startUrls - optional mixed list (search, destination or activity URLs), auto-classified.
- currency (default USD) - 3-letter ISO currency for prices; the actual currency returned is always recorded in
priceCurrency. - language (default en) - content language code (en, de, fr, es, it, nl, pt …). Titles, descriptions, highlights, policies and reviews come back in that language; activity URLs carry no language prefix (
/de-de/), so each one opens the activity page directly. - includeActivityDetails (default true) - fetch each activity's detail page for the rich record. Turn OFF for a fast, cheap listing-only crawl: id, title, URL, thumbnail, plus the rating, review count and "from" price shown on the listing card.
- includeReviews (default false) - output each activity's reviews as separate records, newest first: rating, text, author and date, plus the reviewer's country, review language, traveller type and sub-ratings (guide, value for money and so on).
- maxReviewsPerActivity (default 10, up to 1,000) - how many reviews per activity. Each review record is billed.
- deduplicateSuppliers (default false) - emit one summary record per unique tour operator seen in the run.
- minRating / minReviews / minPrice / maxPrice / freeCancellationOnly - filters. Rating, review-count and price filters are checked against the listing card first, so activities that cannot match are skipped before their page is opened; every kept activity is then checked again on its full record.
- monitorMode (default false) - emit only activities not seen in previous runs (see below).
Output
One record per activity (type: "activity"), plus optional review and supplier records:
{"type": "activity","source": "getyourguide","activityId": "195566","title": "Colosseum, Roman Forum & Palatine Hill Guided Tour","url": "https://www.getyourguide.com/rome-l33/colosseum-roman-forum-palatine-hill-guided-tour-t195566/","description": "Skip the line at the Colosseum and explore the Roman Forum and Palatine Hill with an expert guide…","priceFrom": 58.9,"originalPrice": 73.6,"discountPercent": 20,"priceCurrency": "USD","rating": 4.77,"reviewCount": 84524,"durationText": "3 hours","freeCancellation": true,"skipTheLine": true,"categories": ["Guided tours", "Skip-the-line", "Cultural & historical tours"],"languagesNote": "English, Spanish, Italian","city": "Rome","cityId": 33,"area": "Central Italy","country": "Italy","countryId": 169011,"pointOfInterest": "Colosseum","supplierName": "Crown Tours","imageUrl": "https://cdn.getyourguide.com/img/tour/33cca66c19886c9f.jpeg/53.jpg","images": ["https://cdn.getyourguide.com/img/tour/…", "…"],"score": 92,"searchQuery": "rome colosseum","scrapedAt": "2026-06-15T12:00:00.000Z","highlights": ["Skip the line at the Colosseum with reserved entry", "Explore the Roman Forum and Palatine Hill with an expert guide"],"inclusions": ["Entry ticket to the Colosseum, Roman Forum and Palatine Hill", "Professional guide"],"notSuitableFor": ["Wheelchair users", "Children under 3 years"],"knowBeforeYouGo": ["Bring a valid ID", "Large bags are not allowed inside"],"meetingPoint": "Meet your guide at the Arch of Constantine, next to the Colosseum","keyDetails": { "duration": "Duration 3 hours: Check availability to see starting times", "tourGuides": "English, Spanish, Italian", "highlightCancellationPolicy": "Cancel up to 24 hours in advance for a full refund" },"guideLanguages": ["English", "Spanish", "Italian"],"cancellationPolicy": "Cancel up to 24 hours in advance for a full refund","reserveNowPayLater": true,"smallGroup": true,"itinerary": ["Colosseum", "Roman Forum", "Palatine Hill"],"ageNotes": ["Children 2 and younger join for free, but must still be added to the booking."]}
Activities also carry exclusions, whatToBring and notAllowed lists whenever the page publishes them, and meetingPointMapUrl (the meeting point's Google Maps link) when the page has one; sections an operator left empty are simply absent. When an activity has several meeting points, meetingPoint says so in GetYourGuide's own words.
With includeReviews on, each review is its own record (newest first). subRatings holds the categories the reviewer rated, and travelerType is empty when the reviewer did not pick one:
{"type": "review","source": "getyourguide","activityId": "50027","activityTitle": "Barcelona: Sagrada Familia Entry Ticket with Audio Guide","activityUrl": "https://www.getyourguide.com/barcelona-l45/sagrada-familia-skip-the-line-ticket-t50027/","rating": 5,"text": "Most beautiful church I have ever been to, tickets on website were unavailable for months and get my guide was able to secure me a ticket!","author": "Aviel","date": "2026-10-16T16:59:29+02:00","scrapedAt": "2026-10-18T15:42:54.865Z","reviewId": "128839046","authorCountry": "United States","authorCountryCode": "US","language": "en","travelerType": "Solo traveler","optionId": "741729","subRatings": { "accuracy": 5, "valueForMoney": 5 }}
The Console views (Activities, Reviews, Suppliers, Listings) each show one kind of record. A view cannot filter rows, so each record type carries a few view columns of its own that the other types lack: activity rows have activityRating, activityOperator, guideLanguagesText and highlightsText (copies of rating and supplierName, and the two lists as text, since the table shows a list as "N items"); review rows have reviewRating; supplier rows have operatorName, citiesText and countriesText; listing rows have activityRating. Every column of the Activities view is present on activity and listing rows, empty (null) when there is nothing for it (a run with full activity details off returns listings, which carry the card's title, rating, review count, price and link). The original fields are unchanged, so JSON and API users can ignore the copies.
How much does it cost to scrape GetYourGuide?
This Actor uses Apify's pay-per-event pricing: you are charged only for the results it delivers, with no monthly rental and no start fee. The events it can charge are:
- Tour / activity scraped - Full activity record: title, description, price + discount & currency, rating, review count, supplier/operator, full location (city, area, country, POI), categories, images and a 0-100 value score.
- Activity listing scraped - Shallow listing record (id, title, URL, thumbnail, plus the card's rating, review count and "from" price) - emitted when details are off for a fast, low-cost crawl.
- Review scraped - One customer review: rating, text, author, date, plus the reviewer's country, language, traveller type and sub-ratings.
- Supplier / operator summary - One unique operator summary: activities seen, avg rating, total reviews, cities/countries.
The current price of each event is shown on the Pricing tab of this page. Set a maximum total charge on the run if you want a hard cap on spend, and use the input limits to control how much the Actor fetches.
Automate & schedule
Run this actor on autopilot and pull results into your own stack:
- Apify API - start runs, fetch datasets, and manage schedules over REST.
- apify-client for JavaScript and apify-client for Python - official SDKs.
- Schedules - run it hourly/daily/weekly to track prices or discover newly listed tours in a destination; perfect for price monitoring and affiliate feeds.
- Webhooks - trigger downstream actions (price-drop alert, CRM import, Slack notification) the moment a run finishes.
Monitor mode remembers the activity IDs returned in previous runs and emits only new ones next time. It is orthogonal to Apify Schedules - the schedule decides when a run happens, monitor mode decides what's new - so the two compose cleanly without conflict.
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });const run = await client.actor('scrapesage/getyourguide-scraper').call({searchQueries: ['barcelona sagrada familia'],currency: 'EUR',includeReviews: true,deduplicateSuppliers: true,maxResults: 200,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Got ${items.length} activities, reviews & suppliers`);
Integrate with any app
Connect the dataset to 5,000+ apps - no code required:
- Make - multi-step automation scenarios.
- Zapier - push new activities or price changes straight into your tools.
- Slack - get notified when a monitored destination lists new tours.
- Google Drive / Sheets - auto-export every run to a spreadsheet.
- Airbyte - pipe results into your data warehouse.
- GitHub - trigger runs from commits or releases.
Use with AI assistants (MCP)
The output is clean, LLM-ready JSON. You can call this actor from Claude, ChatGPT, or any agent framework through the Apify MCP server - ask your assistant to "find the top-rated Colosseum tours under €60 in Rome and list the operators" and let it run this scraper for you.
Agent-ready: autonomous payments (x402 & Skyfire)
This actor is agent-ready - AI agents can discover it, run it, and pay for it autonomously, with no Apify account and no human in the loop. It uses pay-per-event pricing and limited permissions, so it qualifies for Apify's agentic-payment standards:
- x402 - an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the Apify MCP server - no account, no API key.
- Skyfire - agent-to-service payments for fully autonomous AI-agent workflows.
Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.
More scrapers from scrapesage
Build a complete travel & experiences intelligence stack:
- Airbnb Scraper - stays, prices, availability and market monitoring.
- Eventbrite Scraper - events, ticket prices and organizer leads.
- Meetup Scraper - events, groups and organizer leads.
- Luma Scraper - lu.ma events and organizer leads.
- Sched Conference Scraper - sessions, speakers and sponsors.
- Foodpanda Scraper - restaurants, menus and local leads.
- Google Ads Transparency Scraper - who's advertising what, for travel ad intelligence.
Tips
- Currency: always set
currency(USD, EUR, GBP, AUD …). GetYourGuide otherwise quotes prices in the currency of the request IP. The currency actually returned is recorded inpriceCurrency. - Breadth: GetYourGuide search and destination listings return about 24 activities per page. To exhaust a big city, raise
maxResultsPerSearch, or add multiple focusedsearchQueries(e.g. "rome colosseum", "rome vatican", "rome food tour"). - Cost control: turn
includeActivityDetailsOFF for a fast, cheap listing-only crawl, then run details only on the activities you keep. - Monitoring: combine Schedules with
monitorModeto track only newly listed tours, or rerun the same search to catch price changes.
FAQ
How do I scrape GetYourGuide tours for a specific city? Put the city (or "city + attraction") in searchQueries, or paste the destination URL from your browser into locationUrls (e.g. https://www.getyourguide.com/rome-l33/).
Can I choose the price currency? Yes - set currency to any 3-letter ISO code (USD, EUR, GBP, AUD …). The currency actually returned is recorded in priceCurrency so values are never ambiguous.
Does it get reviews? Yes: turn on includeReviews to output each activity's reviews as separate records, newest first, up to maxReviewsPerActivity (as many as 1,000 per activity), each with rating, text, author, date, the reviewer's country, language, traveller type and sub-ratings.
Can I export to Google Sheets, CSV, or Excel? Yes - one click in the dataset view, or automatically on every run via the Google Drive integration.
How do I monitor new tours or price changes automatically? Create a Schedule (e.g. daily) and turn on monitorMode to emit only newly listed activities, or rerun the same search to capture price moves; add a webhook or Zapier zap to push updates downstream.
A field is null - why? Some activities genuinely don't publish a discount, a named supplier, or every location field. Fields are null only when the data doesn't exist, not because the scraper skipped them.
Is scraping GetYourGuide legal? This actor collects publicly available data only. You are responsible for using the data in compliance with applicable laws (GDPR/CCPA for personal data) and GetYourGuide's terms.
Disclaimer
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by GetYourGuide or any of its subsidiaries. All trademarks mentioned are the property of their respective owners.
"GetYourGuide" and any related marks are the property of their respective owners and are used here only in a descriptive, nominative sense - to identify the publicly accessible website from which this Actor collects data. This Actor is not an official GetYourGuide product, is not authorised or certified by GetYourGuide, and does not distribute GetYourGuide software. It collects only publicly available information; you are responsible for ensuring your use of that data complies with applicable laws, regulations and the terms of the source website.
Need help?
Open an issue on the actor's Issues tab, or visit the Apify help center. Feature requests are welcome - this actor is actively maintained.