# GetYourGuide (`vanderleicatanzaro/getyourguide`) Actor

Scrape GetYourGuide tours & activities worldwide! 🌍 Support for 29 languages, 38 currencies, automatic affiliate link generation. Extract prices, ratings, reviews, photos & descriptions. Perfect for travel sites, agencies & affiliate marketers. Fast & reliable!

- **URL**: https://apify.com/vanderleicatanzaro/getyourguide.md
- **Developed by:** [Vanderlei Catanzaro](https://apify.com/vanderleicatanzaro) (community)
- **Categories:** Travel, E-commerce
- **Stats:** 72 total users, 8 monthly users, 100.0% runs succeeded, 3 bookmarks
- **User rating**: No ratings yet

## Pricing

from $32.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

<h1>🌍 GetYourGuide Activities Scraper</h1>

<p>
  Extract structured activity data from <a href="https://www.getyourguide.com" target="_blank">GetYourGuide.com</a> — prices, discounts, ratings, photos, badges, descriptions, and affiliate links — for any city in the world. No coding required.
</p>

<p>
  Built with <strong>Playwright + Crawlee + US residential proxies</strong> and designed for affiliate marketers, travel content creators, price monitoring workflows, and data analysts.
</p>

<table border="1" cellpadding="6" cellspacing="0">
  <thead><tr><th>Feature</th><th>Details</th></tr></thead>
  <tbody>
    <tr><td>🔍 Search modes</td><td>City search <em>or</em> specific activity URLs</td></tr>
    <tr><td>📊 Extraction profiles</td><td>minimal · standard · content · full</td></tr>
    <tr><td>🌍 Languages</td><td>29 locales (en-US, pt-BR, es-MX, fr-FR, de-DE…)</td></tr>
    <tr><td>💱 Currencies</td><td>38 currencies (USD, EUR, BRL, AED…)</td></tr>
    <tr><td>🔗 Affiliate links</td><td>Auto-generated with your partner ID</td></tr>
    <tr><td>💸 Discount detection</td><td>Captures current price + original strikethrough price</td></tr>
    <tr><td>🏷️ Badges</td><td>"Likely to sell out", "Best reviewed", "New" and more</td></tr>
    <tr><td>🛡️ Anti-detection</td><td>Fingerprint rotation, session pooling, residential proxies</td></tr>
  </tbody>
</table>

<hr>

<h2>🚀 Quick Start — 3 Steps</h2>

<ol>
  <li><strong>Choose search mode:</strong> City search (discovers activities automatically) or Specific URLs (fastest, best for monitoring)</li>
  <li><strong>Set your parameters:</strong> city name or activity URLs, language, currency, extraction profile, and your affiliate partner ID</li>
  <li><strong>Click Start</strong> — download results as JSON, CSV, Excel, or XML</li>
</ol>

<h3>City Search — find all activities for a destination</h3>

<pre><code>{
  "searchMode": "city",
  "city": "dubai",
  "limit": 10,
  "extractionProfile": "standard",
  "language": "en-US",
  "currency": "USD",
  "partner_id": "YOUR_PARTNER_ID"
}</code></pre>

<h3>Specific URLs — target known activities directly</h3>

<pre><code>{
  "searchMode": "activityUrl",
  "activityUrls": [
    "https://www.getyourguide.com/dubai-l173/burj-khalifa-t62524/",
    "https://www.getyourguide.com/paris-l16/eiffel-tower-t395319/"
  ],
  "extractionProfile": "minimal",
  "language": "pt-BR",
  "currency": "BRL",
  "partner_id": "YOUR_PARTNER_ID"
}</code></pre>

<p>💡 <strong>Tip:</strong> Use <strong>Specific URLs mode</strong> for recurring monitoring jobs — it skips the search page entirely and goes directly to the activity, making it faster and more stable.</p>

<hr>

<h2>📤 Output Example</h2>

<p>Standard profile output for a single activity:</p>

<pre><code>{
  "activityUrl": "https://www.getyourguide.com/dubai-l173/burj-khalifa-at-the-top-level-124-125-t62524/",
  "affiliateLink": "https://www.getyourguide.com/dubai-l173/burj-khalifa-at-the-top-level-124-125-t62524/?partner_id=YOUR_ID&amp;utm_medium=travel_agent",
  "title": "Dubai: Burj Khalifa At the Top (Level 124 &amp; 125) Entry Ticket",
  "price": "$ 49",
  "priceOriginal": "$ 65",
  "priceFrom": true,
  "pricePerPerson": true,
  "currency": "USD",
  "rating": "4.7",
  "reviewCount": "91,517 reviews",
  "badge": "Likely to sell out",
  "highlights": [
    "Skip the ticket line at the Burj Khalifa",
    "Access levels 124 and 125 with panoramic views of Dubai",
    "Visit at your own pace with a timed-entry ticket"
  ],
  "scrapedAt": "2026-04-24T20:20:03.000Z"
}</code></pre>

<hr>

<h2>🎯 What Data is Extracted</h2>

<table border="1" cellpadding="6" cellspacing="0">
  <thead>
    <tr><th>Field</th><th>Type</th><th>Description</th></tr>
  </thead>
  <tbody>
    <tr><td><code>title</code></td><td>String</td><td>Activity name in your selected language</td></tr>
    <tr><td><code>price</code></td><td>String</td><td>Current price with currency symbol (e.g. <code>$ 49</code>)</td></tr>
    <tr><td><code>priceOriginal</code></td><td>String / null</td><td>Strikethrough price when a discount is active</td></tr>
    <tr><td><code>priceFrom</code></td><td>Boolean</td><td><code>true</code> when price is shown as "Starting from"</td></tr>
    <tr><td><code>pricePerPerson</code></td><td>Boolean</td><td><code>true</code> when price is per person (vs. per group)</td></tr>
    <tr><td><code>currency</code></td><td>String</td><td>ISO 4217 currency code (e.g. <code>USD</code>)</td></tr>
    <tr><td><code>rating</code></td><td>String</td><td>Star rating (dot decimal regardless of locale, e.g. <code>4.7</code>)</td></tr>
    <tr><td><code>reviewCount</code></td><td>String / null</td><td>Total number of reviews (standard + full profiles)</td></tr>
    <tr><td><code>badge</code></td><td>String / null</td><td>Card badge text when present (e.g. <code>Likely to sell out</code>)</td></tr>
    <tr><td><code>highlights</code></td><td>Array</td><td>Key selling points listed on the page</td></tr>
    <tr><td><code>fullDescription</code></td><td>String</td><td>Full activity description (content + full profiles)</td></tr>
    <tr><td><code>included</code></td><td>Array</td><td>What's included in the price (content + full profiles)</td></tr>
    <tr><td><code>notIncluded</code></td><td>Array</td><td>What costs extra (content + full profiles)</td></tr>
    <tr><td><code>photos</code></td><td>Array</td><td>CDN photo URLs up to <code>maxPhotos</code> (content + full profiles)</td></tr>
    <tr><td><code>affiliateLink</code></td><td>String</td><td>Activity URL with your <code>partner_id</code> embedded</td></tr>
    <tr><td><code>activityUrl</code></td><td>String</td><td>Clean canonical URL without tracking parameters</td></tr>
    <tr><td><code>scrapedAt</code></td><td>String</td><td>ISO 8601 extraction timestamp</td></tr>
  </tbody>
</table>

<hr>

<h2>⚡ Extraction Profiles</h2>
<a name="extraction-profiles"></a>

<p>Choose the profile that matches your use case. Lighter profiles extract fewer fields, reducing runtime and compute unit cost.</p>

<table border="1" cellpadding="6" cellspacing="0">
  <thead>
    <tr><th>Profile</th><th>Fields included</th><th>Best for</th><th>Cost</th></tr>
  </thead>
  <tbody>
    <tr>
      <td><code>minimal</code></td>
      <td>title, price, priceOriginal, priceFrom, pricePerPerson, currency, rating, badge, affiliateLink</td>
      <td>Daily price monitoring, stock alerts</td>
      <td>⚡ Lowest</td>
    </tr>
    <tr>
      <td><code>standard</code> ⭐ recommended</td>
      <td>Everything in minimal + reviewCount, highlights</td>
      <td>Affiliate catalogs, comparison pages</td>
      <td>📋 Low</td>
    </tr>
    <tr>
      <td><code>content</code></td>
      <td>title, fullDescription, highlights, included, notIncluded, photos (no pricing)</td>
      <td>Travel guides, editorial content</td>
      <td>📝 Medium</td>
    </tr>
    <tr>
      <td><code>full</code></td>
      <td>All fields including description and photos</td>
      <td>Complete data pipelines</td>
      <td>🗂️ Higher</td>
    </tr>
  </tbody>
</table>

<hr>

<h2>⚙️ Input Parameters</h2>

<table border="1" cellpadding="6" cellspacing="0">
  <thead>
    <tr><th>Parameter</th><th>Type</th><th>Required</th><th>Default</th><th>Description</th></tr>
  </thead>
  <tbody>
    <tr><td><code>searchMode</code></td><td>String</td><td>✅ Yes</td><td><code>activityUrl</code></td><td><code>city</code> to search by destination, <code>activityUrl</code> for specific pages</td></tr>
    <tr><td><code>city</code></td><td>String</td><td>If city mode</td><td><code>dubai</code></td><td>City name in English (e.g. <code>paris</code>, <code>tokyo</code>, <code>new york</code>)</td></tr>
    <tr><td><code>activityUrls</code></td><td>Array</td><td>If activityUrl mode</td><td>—</td><td>One or more GetYourGuide activity URLs</td></tr>
    <tr><td><code>limit</code></td><td>Integer</td><td>No</td><td><code>1</code></td><td>Max activities to extract. Set <code>0</code> to extract all found.</td></tr>
    <tr><td><code>extractionProfile</code></td><td>String</td><td>No</td><td><code>minimal</code></td><td><code>minimal</code> / <code>standard</code> / <code>content</code> / <code>full</code></td></tr>
    <tr><td><code>maxPhotos</code></td><td>Integer</td><td>No</td><td><code>3</code></td><td>Max photo URLs per activity (0–12). Only used in <code>content</code> and <code>full</code> profiles.</td></tr>
    <tr><td><code>partner_id</code></td><td>String</td><td>✅ Yes</td><td>—</td><td>Your GetYourGuide affiliate partner ID for auto-generated affiliate links</td></tr>
    <tr><td><code>language</code></td><td>String</td><td>No</td><td><code>en-US</code></td><td>Content language — case-sensitive locale code (see supported list below)</td></tr>
    <tr><td><code>currency</code></td><td>String</td><td>No</td><td><code>USD</code></td><td>Price display currency — ISO 4217 code (see supported list below)</td></tr>
  </tbody>
</table>

<hr>

<h2>💰 Cost Estimates</h2>

<p>This Actor uses <strong>consumption-based pricing</strong> — you pay only for compute units (CUs) used per run. Free plan users receive $5/month in credits, enough for several test runs.</p>

<table border="1" cellpadding="6" cellspacing="0">
  <thead>
    <tr><th>Mode</th><th>Profile</th><th>Activities</th><th>Typical Runtime</th><th>Approx. Cost</th></tr>
  </thead>
  <tbody>
    <tr><td>Specific URLs</td><td>minimal</td><td>1</td><td>~30–60 sec</td><td>~$0.03</td></tr>
    <tr><td>Specific URLs</td><td>minimal</td><td>10</td><td>~2–3 min</td><td>~$0.32</td></tr>
    <tr><td>Specific URLs</td><td>standard</td><td>10</td><td>~2–3 min</td><td>~$0.34</td></tr>
    <tr><td>City search</td><td>minimal</td><td>5</td><td>~2 min</td><td>~$0.16</td></tr>
    <tr><td>City search</td><td>minimal</td><td>12</td><td>~3 min</td><td>~$0.38</td></tr>
    <tr><td>City search</td><td>standard</td><td>25</td><td>~7–8 min</td><td>~$0.85</td></tr>
    <tr><td>City search</td><td>full</td><td>10</td><td>~5–6 min</td><td>~$0.55</td></tr>
  </tbody>
</table>

<p>💡 <strong>Cost tips:</strong></p>
<ul>
  <li>Use <code>minimal</code> profile for daily price monitoring — up to 3× cheaper than <code>full</code></li>
  <li>Use <strong>Specific URLs mode</strong> for recurring jobs to skip the city search page overhead</li>
  <li>Set <code>maxPhotos: 0</code> in <code>full</code> profile if you don't need images</li>
</ul>

<p><em>Measured with US residential proxies at 2048 MB memory. Performance varies with proxy latency and destination.</em></p>

<hr>

<h2>🛡️ Anti-Detection System</h2>

<p>GetYourGuide actively detects and blocks automated access. This Actor includes multiple layers of protection:</p>

<ul>
  <li><strong>US residential proxies</strong> — real IP addresses that bypass bot detection</li>
  <li><strong>Browser fingerprint rotation</strong> — via Crawlee's built-in fingerprint generator (Chrome/Windows profiles)</li>
  <li><strong>Session pooling</strong> — sessions rotate after 5 requests with score-based retirement</li>
  <li><strong>Realistic HTTP headers</strong> — Accept-Language and locale matched to your selected language</li>
  <li><strong>Cookie injection</strong> — currency, locale, and consent cookies set before page load</li>
  <li><strong>Human-like behavior</strong> — mouse movement, smooth scrolling, randomized delays</li>
  <li><strong>Resource blocking</strong> — images, fonts, and stylesheets blocked during crawl to reduce cost and latency</li>
  <li><strong>Adaptive card detection</strong> — dual-layer waitForSelector with networkidle fallback</li>
  <li><strong>Auto debug screenshots</strong> — saved to Key-Value Store when a page fails, for easy diagnosis</li>
</ul>

<hr>

<h2>🌍 Supported Languages (29)</h2>

<table border="1" cellpadding="6" cellspacing="0">
  <thead><tr><th>Code</th><th>Language</th><th>Code</th><th>Language</th></tr></thead>
  <tbody>
    <tr><td><code>en-US</code></td><td>🇺🇸 English (US)</td><td><code>en-GB</code></td><td>🇬🇧 English (UK)</td></tr>
    <tr><td><code>en-AU</code></td><td>🇦🇺 English (Australia)</td><td><code>pt-BR</code></td><td>🇧🇷 Portuguese (Brazil)</td></tr>
    <tr><td><code>pt-PT</code></td><td>🇵🇹 Portuguese (Portugal)</td><td><code>es-ES</code></td><td>🇪🇸 Spanish (Spain)</td></tr>
    <tr><td><code>es-MX</code></td><td>🇲🇽 Spanish (Mexico)</td><td><code>fr-FR</code></td><td>🇫🇷 French</td></tr>
    <tr><td><code>de-DE</code></td><td>🇩🇪 German (Germany)</td><td><code>de-AT</code></td><td>🇦🇹 German (Austria)</td></tr>
    <tr><td><code>de-CH</code></td><td>🇨🇭 German (Switzerland)</td><td><code>it-IT</code></td><td>🇮🇹 Italian</td></tr>
    <tr><td><code>nl-NL</code></td><td>🇳🇱 Dutch</td><td><code>pl-PL</code></td><td>🇵🇱 Polish</td></tr>
    <tr><td><code>ru-RU</code></td><td>🇷🇺 Russian</td><td><code>ja-JP</code></td><td>🇯🇵 Japanese</td></tr>
    <tr><td><code>zh-CN</code></td><td>🇨🇳 Chinese (Simplified)</td><td><code>zh-TW</code></td><td>🇹🇼 Chinese (Traditional)</td></tr>
    <tr><td><code>zh-HK</code></td><td>🇭🇰 Chinese (Hong Kong)</td><td><code>ko-KR</code></td><td>🇰🇷 Korean</td></tr>
    <tr><td><code>tr-TR</code></td><td>🇹🇷 Turkish</td><td><code>el-GR</code></td><td>🇬🇷 Greek</td></tr>
    <tr><td><code>sv-SE</code></td><td>🇸🇪 Swedish</td><td><code>no-NO</code></td><td>🇳🇴 Norwegian</td></tr>
    <tr><td><code>da-DK</code></td><td>🇩🇰 Danish</td><td><code>fi-FI</code></td><td>🇫🇮 Finnish</td></tr>
    <tr><td><code>hu-HU</code></td><td>🇭🇺 Hungarian</td><td><code>ro-RO</code></td><td>🇷🇴 Romanian</td></tr>
    <tr><td><code>cs-CZ</code></td><td>🇨🇿 Czech</td><td></td><td></td></tr>
  </tbody>
</table>

<h2>💱 Supported Currencies (38)</h2>

<p>
  <code>USD</code> <code>EUR</code> <code>GBP</code> <code>BRL</code> <code>AED</code>
  <code>AUD</code> <code>BGN</code> <code>CAD</code> <code>CHF</code> <code>CLP</code>
  <code>CNY</code> <code>COP</code> <code>CZK</code> <code>DKK</code> <code>EGP</code>
  <code>HKD</code> <code>HUF</code> <code>IDR</code> <code>ILS</code> <code>INR</code>
  <code>JPY</code> <code>KRW</code> <code>MAD</code> <code>MXN</code> <code>MYR</code>
  <code>NOK</code> <code>NZD</code> <code>PHP</code> <code>PLN</code> <code>RON</code>
  <code>SEK</code> <code>SGD</code> <code>THB</code> <code>TRY</code> <code>UAH</code>
  <code>UYU</code> <code>VND</code> <code>ZAR</code>
</p>

<hr>

<h2>💡 Use Cases</h2>

<ul>
  <li>
    <strong>Affiliate marketers</strong> — build destination activity catalogs with auto-generated affiliate links at scale.
    Use <code>standard</code> profile for the best data-to-cost ratio. Schedule daily runs to keep prices current.
  </li>
  <li>
    <strong>Price monitoring</strong> — track discount windows, price changes, and badge availability for known activities.
    Use <code>minimal</code> profile + Specific URLs mode for the lowest cost per run.
  </li>
  <li>
    <strong>Travel agencies</strong> — populate live-updating activity pages with current prices, ratings, and availability badges.
  </li>
  <li>
    <strong>Content creators</strong> — pull titles, descriptions, and photos for destination guides automatically.
    Use <code>content</code> profile.
  </li>
  <li>
    <strong>Market research</strong> — analyze badge distribution, rating trends, and pricing across destinations.
    Use <code>full</code> profile with city search.
  </li>
</ul>

<hr>

<h2>🔗 Integrations via Apify Platform</h2>

<p>Results are saved to Apify Dataset storage and accessible via REST API. Native integrations available for:</p>

<ul>
  <li>📅 <strong>Scheduling</strong> — automate runs hourly, daily, or weekly</li>
  <li>⚙️ <strong>Make (Integromat) / Zapier</strong> — connect to any workflow</li>
  <li>📊 <strong>Google Sheets / Airtable</strong> — push results directly to spreadsheets</li>
  <li>🔔 <strong>Webhooks</strong> — receive notifications on run completion or failure</li>
  <li>📥 <strong>Dataset export</strong> — download as JSON, CSV, Excel, XML, or RSS</li>
  <li>🧑‍💻 <strong>API</strong> — trigger runs and retrieve data via Apify JavaScript or Python client</li>
</ul>

<hr>

<h2>❓ Frequently Asked Questions</h2>

<h3>Is it legal to scrape GetYourGuide?</h3>
<p>
  This Actor only extracts publicly available data visible to any website visitor without logging in.
  It does not access private user data, booking information, or anything behind authentication.
  You are responsible for how you use the extracted data and should ensure compliance with GetYourGuide's
  Terms of Service and applicable laws in your jurisdiction.
</p>

<h3>Do I need a GetYourGuide affiliate account?</h3>
<p>
  The <code>partner_id</code> field is required but any placeholder value works if you don't have an account —
  the scraper runs normally regardless. Affiliate links are only monetizable with a valid ID registered
  at the <a href="https://www.getyourguide.com/partner/" target="_blank">GetYourGuide Partner Program</a>.
</p>

<h3>Do I need to enable Residential Proxy?</h3>
<p>
  Yes — this is required. Without a residential proxy, GetYourGuide detects automation and blocks requests quickly.
  Apify Residential Proxies are available on all paid plans. The Actor is pre-configured to use US residential proxies automatically.
</p>

<h3>How many activities can I extract per run?</h3>
<p>
  Set <code>limit: 0</code> to extract all activities on the search page. GetYourGuide typically surfaces
  30–100+ activities per city depending on the destination. Large destinations require multiple scroll
  passes and take longer to complete.
</p>

<h3>Why is <code>priceOriginal</code> null for some activities?</h3>
<p>
  This field only appears when GetYourGuide shows an active discount with a strikethrough price.
  If no promotion is running, it returns <code>null</code>.
</p>

<h3>Why is <code>badge</code> null for some activities?</h3>
<p>
  Badges are assigned dynamically by GetYourGuide and only appear on a subset of activities.
  Not all activities have one.
</p>

<h3>Why are photos and descriptions empty?</h3>
<p>
  <code>fullDescription</code>, <code>photos</code>, <code>included</code>, and <code>notIncluded</code>
  are only extracted with <code>content</code> or <code>full</code> profiles.
  Switch your <code>extractionProfile</code> to access them.
</p>

<h3>What is the correct URL format for Specific URLs mode?</h3>
<p>
  URLs must follow: <code>https://www.getyourguide.com/[city]-l[id]/[slug]-t[id]/</code><br>
  Copy URLs directly from GetYourGuide. URLs with locale prefixes (e.g. <code>/pt-br/</code>) are also accepted
  and normalized automatically. Shortlinks or redirect URLs won't be recognized.
</p>

<h3>Are language codes case-sensitive?</h3>
<p>
  Yes. Use exactly <code>pt-BR</code>, not <code>pt-br</code> or <code>PT-BR</code>.
  Incorrect casing may result in wrong language content being returned.
</p>

<h3>What happens when a page fails?</h3>
<p>
  Each request retries up to 2 times with a fresh session. Debug screenshots are saved automatically
  to the Key-Value Store when a page fails to load. Inspect them in the Apify console to diagnose blocks or timeouts.
</p>

<hr>

<h2>📋 Best Practices</h2>

<ul>
  <li>Always enable <strong>Residential Proxy</strong> — required for consistent operation</li>
  <li>Use <code>minimal</code> profile for daily price monitoring — fastest and cheapest</li>
  <li>Use <code>standard</code> profile for affiliate catalog builds — best balance of data and cost</li>
  <li>Test with <code>limit: 3</code> before running full city extractions</li>
  <li>Use <strong>Specific URLs mode</strong> for recurring monitoring — faster and more stable than city search</li>
  <li>Wait at least 30 minutes between repeated runs on the same city to avoid rate limits</li>
  <li>Set <code>maxPhotos: 0</code> if using <code>full</code> profile without needing images</li>
  <li>Use Apify's <strong>scheduling feature</strong> to automate recurring runs without manual intervention</li>
</ul>

<hr>

<h2>📞 Support</h2>

<p>
  Use the <strong>Issues tab</strong> on this Actor's page for questions or bug reports.
  When reporting a problem, please include your <strong>Run ID</strong>, <strong>input configuration</strong>,
  and relevant <strong>log lines</strong>. Debug screenshots from the Key-Value Store are especially helpful for diagnosing blocked pages.
</p>

<p>Typical response time: 24–48 hours.</p>

# Actor input Schema

## `searchMode` (type: `string`):

Choose the search mode that best fits your needs
## `city` (type: `string`):

Enter the city name you want to search (English works best). Examples: dubai, paris, tokyo
## `activityUrls` (type: `array`):

Add the complete URLs of activities you want to extract. Click 'Add' for each URL.
## `limit` (type: `integer`):

Set the maximum number of activities. Use 0 (zero) to extract ALL activities found.
## `extractionProfile` (type: `string`):

Controls which fields are extracted. Use 'minimal' for price monitoring, 'standard' for affiliate catalogs, 'content' for travel guides, 'full' for complete data.
## `maxPhotos` (type: `integer`):

Maximum number of photo URLs to extract per activity. Only applies to 'full' and 'content' profiles. Use 0 to skip photos entirely.
## `partner_id` (type: `string`):

Your GetYourGuide partner/affiliate ID. Affiliate links will be generated automatically.
## `language` (type: `string`):

Language in which activity information will be extracted (case-sensitive locale code)
## `currency` (type: `string`):

Currency in which prices will be displayed (ISO 4217 code)

## Actor input object example

```json
{
  "searchMode": "activityUrl",
  "city": "dubai",
  "activityUrls": [
    "https://www.getyourguide.com/dubai-l173/burj-khalifa-at-the-top-skip-the-line-ticket-t62524/"
  ],
  "limit": 1,
  "extractionProfile": "minimal",
  "maxPhotos": 3,
  "partner_id": "QOJ6RGE",
  "language": "en-US",
  "currency": "USD"
}
````

# Actor output Schema

## `activities` (type: `string`):

Complete list of scraped activities with all details

## `allActivities` (type: `string`):

Raw dataset output without view transformation

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "searchMode": "activityUrl",
    "city": "dubai",
    "activityUrls": [
        "https://www.getyourguide.com/dubai-l173/burj-khalifa-at-the-top-skip-the-line-ticket-t62524/"
    ],
    "limit": 1,
    "extractionProfile": "minimal",
    "maxPhotos": 3,
    "partner_id": "QOJ6RGE",
    "language": "en-US",
    "currency": "USD"
};

// Run the Actor and wait for it to finish
const run = await client.actor("vanderleicatanzaro/getyourguide").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "searchMode": "activityUrl",
    "city": "dubai",
    "activityUrls": ["https://www.getyourguide.com/dubai-l173/burj-khalifa-at-the-top-skip-the-line-ticket-t62524/"],
    "limit": 1,
    "extractionProfile": "minimal",
    "maxPhotos": 3,
    "partner_id": "QOJ6RGE",
    "language": "en-US",
    "currency": "USD",
}

# Run the Actor and wait for it to finish
run = client.actor("vanderleicatanzaro/getyourguide").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "searchMode": "activityUrl",
  "city": "dubai",
  "activityUrls": [
    "https://www.getyourguide.com/dubai-l173/burj-khalifa-at-the-top-skip-the-line-ticket-t62524/"
  ],
  "limit": 1,
  "extractionProfile": "minimal",
  "maxPhotos": 3,
  "partner_id": "QOJ6RGE",
  "language": "en-US",
  "currency": "USD"
}' |
apify call vanderleicatanzaro/getyourguide --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=vanderleicatanzaro/getyourguide",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "GetYourGuide",
        "description": "Scrape GetYourGuide tours & activities worldwide! 🌍 Support for 29 languages, 38 currencies, automatic affiliate link generation. Extract prices, ratings, reviews, photos & descriptions. Perfect for travel sites, agencies & affiliate marketers. Fast & reliable!",
        "version": "0.19",
        "x-build-id": "B55iov6INGSyJ9Mbo"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/vanderleicatanzaro~getyourguide/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-vanderleicatanzaro-getyourguide",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/vanderleicatanzaro~getyourguide/runs": {
            "post": {
                "operationId": "runs-sync-vanderleicatanzaro-getyourguide",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/vanderleicatanzaro~getyourguide/run-sync": {
            "post": {
                "operationId": "run-sync-vanderleicatanzaro-getyourguide",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "searchMode",
                    "partner_id"
                ],
                "properties": {
                    "searchMode": {
                        "title": "How do you want to search for activities?",
                        "enum": [
                            "city",
                            "activityUrl"
                        ],
                        "type": "string",
                        "description": "Choose the search mode that best fits your needs",
                        "default": "activityUrl"
                    },
                    "city": {
                        "title": "🏙️ City Name",
                        "type": "string",
                        "description": "Enter the city name you want to search (English works best). Examples: dubai, paris, tokyo",
                        "default": "dubai"
                    },
                    "activityUrls": {
                        "title": "🔗 Activity URLs",
                        "type": "array",
                        "description": "Add the complete URLs of activities you want to extract. Click 'Add' for each URL.",
                        "default": [
                            "https://www.getyourguide.com/dubai-l173/burj-khalifa-at-the-top-skip-the-line-ticket-t62524/"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "limit": {
                        "title": "How many activities to extract?",
                        "minimum": 0,
                        "maximum": 999,
                        "type": "integer",
                        "description": "Set the maximum number of activities. Use 0 (zero) to extract ALL activities found.",
                        "default": 1
                    },
                    "extractionProfile": {
                        "title": "Extraction Profile",
                        "enum": [
                            "minimal",
                            "standard",
                            "content",
                            "full"
                        ],
                        "type": "string",
                        "description": "Controls which fields are extracted. Use 'minimal' for price monitoring, 'standard' for affiliate catalogs, 'content' for travel guides, 'full' for complete data.",
                        "default": "minimal"
                    },
                    "maxPhotos": {
                        "title": "Max Photos per Activity",
                        "minimum": 0,
                        "maximum": 12,
                        "type": "integer",
                        "description": "Maximum number of photo URLs to extract per activity. Only applies to 'full' and 'content' profiles. Use 0 to skip photos entirely.",
                        "default": 3
                    },
                    "partner_id": {
                        "title": "Partner ID (Affiliate)",
                        "type": "string",
                        "description": "Your GetYourGuide partner/affiliate ID. Affiliate links will be generated automatically.",
                        "default": "QOJ6RGE"
                    },
                    "language": {
                        "title": "Content Language",
                        "enum": [
                            "en-US",
                            "cs-CZ",
                            "da-DK",
                            "de-DE",
                            "de-AT",
                            "de-CH",
                            "en-AU",
                            "en-GB",
                            "es-ES",
                            "es-MX",
                            "fr-FR",
                            "it-IT",
                            "hu-HU",
                            "nl-NL",
                            "no-NO",
                            "pl-PL",
                            "pt-PT",
                            "pt-BR",
                            "ro-RO",
                            "fi-FI",
                            "sv-SE",
                            "tr-TR",
                            "el-GR",
                            "ru-RU",
                            "ja-JP",
                            "zh-CN",
                            "zh-HK",
                            "zh-TW",
                            "ko-KR"
                        ],
                        "type": "string",
                        "description": "Language in which activity information will be extracted (case-sensitive locale code)",
                        "default": "en-US"
                    },
                    "currency": {
                        "title": "Price Currency",
                        "enum": [
                            "USD",
                            "EUR",
                            "GBP",
                            "BRL",
                            "AED",
                            "AUD",
                            "BGN",
                            "CAD",
                            "CHF",
                            "CLP",
                            "CNY",
                            "COP",
                            "CZK",
                            "DKK",
                            "EGP",
                            "HKD",
                            "HUF",
                            "IDR",
                            "ILS",
                            "INR",
                            "JPY",
                            "KRW",
                            "MAD",
                            "MXN",
                            "MYR",
                            "NOK",
                            "NZD",
                            "PHP",
                            "PLN",
                            "RON",
                            "SEK",
                            "SGD",
                            "THB",
                            "TRY",
                            "UAH",
                            "UYU",
                            "VND",
                            "ZAR"
                        ],
                        "type": "string",
                        "description": "Currency in which prices will be displayed (ISO 4217 code)",
                        "default": "USD"
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
