# GetYourGuide Email Scraper (`leads-scraper/getyourguide-email-scraper`) Actor

GetYourGuide Email Scraper SD - GetYourGuide Email Scraper is a lead generation tool that extracts leads with public contact emails, account names and profile URLs from GetYourGuide results by keyword, location and email domain - GetYourGuide email extractor.

- **URL**: https://apify.com/leads-scraper/getyourguide-email-scraper.md
- **Developed by:** [Leads Scraper](https://apify.com/leads-scraper) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.49 / 1,000 results

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

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### GetYourGuide Email Scraper

The GetYourGuide Email Scraper collects publicly indexed contact emails, account labels and profile URLs for tours and activities listed on `getyourguide.com`. It turns keywords such as `tour operator` and `guided tour` into a structured lead list you can export as CSV, JSON or Excel.

Be clear about one thing before you run it. GetYourGuide indexes activity pages rather than supplier profiles, so many rows carry an email without an operator handle. That is a property of Google's index, not a defect in the Actor.

The GetYourGuide Email Scraper is aimed at travel-tech prospecting teams: booking engines, channel managers and reservation systems, OTAs and aggregators doing supplier recruitment, destination marketing organisations, destination management companies, travel PR desks and affiliate managers who need activity provider contacts.

Here is the measured yield, and nothing is rounded up. Per roughly 10 parsed Google result blocks, the GetYourGuide Email Scraper produced about 4 identities, 4 profile URLs and 3 unique emails. That is modest. Email yield is lower than [Klook Email Scraper](https://apify.com/neuro-scraper/klook-email-scraper), but supplier attribution is better than [Viator Email Scraper](https://apify.com/leads-scraper/viator-email-scraper).

GetYourGuide is Berlin-headquartered and its index skews heavily European, which makes the GetYourGuide Email Scraper the European counterpart to the Asia-Pacific focused Klook Actor. If you want European tours and activities in your travel trade contacts file, this is the right starting point.

No login. No cookies. No browser. No platform API. The GetYourGuide Email Scraper reads only what Google has already published in its search results.

### GetYourGuide Email Scraper features

Every feature below is something the GetYourGuide Email Scraper genuinely does. Nothing here is aspirational, and nothing is a roadmap item.

| Feature | What it means in practice |
|---|---|
| Google SERP parsing | Builds `site:getyourguide.com` queries and parses each result block structurally, by locating the `<h3>` title and the smallest surrounding block, so it does not depend on Google's CSS class names |
| Query expansion | Runs a base query, a quoted variant, an `intitle:` variant and one variant per query modifier; base queries always run first |
| Domain filter | Keeps only emails ending in your `customDomains` values, with or without the leading `@` |
| Global deduplication | One row per unique email across every query and every page of the run |
| Email normalisation | Understands `name [at] domain [dot] com`, `name (at) domain`, `name @ domain.com`, `domain .com`, zero-width characters and the full-width at sign |
| Junk filter | Rejects placeholders such as `email@`, `yourname@`, `test@`, `xxx@` and single-character locals |
| Boundary-correct matching | `@gmail.com` does not match inside `@gmail.company` or `@gmail.com.br` |
| Soft-wrap repair | Drops a hit that is only the tail of another email found in the same block |
| Concurrency control | An `asyncio` worker pool with a shared stop signal once `maxEmails` is reached |
| Retries and backoff | Up to 3 attempts per page, exponential backoff, and a fresh proxy session per request |
| Block detection | CAPTCHA, "unusual traffic" and consent pages are detected and retried instead of being counted as empty |
| Failed-query requeue | Blocked or failed queries are re-queued once at the end of the run |
| Resumable run | State is stored in the key-value store, keyed by a hash of your input, and saved on `PERSIST_STATE`, `MIGRATING` and `ABORTING` |
| Fallback parser | A whole-page parser takes over if Google's markup changes, so a layout change degrades to "emails without account details" rather than "no emails" |
| Streaming dataset writes | Each lead is pushed to the Apify dataset as soon as it is found |
| Run summary | Logs pages fetched, blocked pages, retries and emails per page |

### How the GetYourGuide Email Scraper works

The pipeline is six steps, and it is the same on every run.

1. Read your input: keywords, location, email domains and limits.
2. Build Google queries with the `site:` operator against `getyourguide.com`, for example `site:getyourguide.com tour operator "@gmail.com" "Rome"`.
3. Fetch Google result pages through the Apify GOOGLE\_SERP proxy using async `aiohttp` requests.
4. Parse each result block structurally to recover the title, the account label and the snippet.
5. Extract emails from the block text using a domain-filtered regex.
6. Deduplicate globally and push each lead to the dataset immediately.

That is the whole mechanism. The GetYourGuide Email Scraper never opens getyourguide.com, never authenticates, and never renders JavaScript.

Step 4 is the part that matters for data quality. Structural parsing means the Actor finds the title element first and then walks outward to the smallest block that contains it, so a Google redesign changes nothing about how the snippet is read.

Step 5 is where the domain filter does its work. An email is only kept if it ends on one of your `customDomains` values, matched at a real boundary, so near-misses like `@gmail.company` never enter the dataset.

Step 6 writes immediately. If a run is aborted halfway, whatever the GetYourGuide Email Scraper already found is still in the dataset and still exportable.

Because the GetYourGuide Email Scraper works from the search index, the quality of your keywords matters more than any setting. Narrow, commercial phrases beat generic ones for experience provider outreach.

### GetYourGuide Email Scraper input fields

These are the exact fields the GetYourGuide Email Scraper accepts, with their real defaults.

| Field | Type | Default | Meaning |
|---|---|---|---|
| `keywords` | array (required) | `["tour operator","guided tour"]` | Search terms: niche, job title, industry |
| `location` | string | `""` | Optional location phrase added to every query |
| `customDomains` | array | `["@gmail.com","@yahoo.com"]` | Only emails on these domains are kept; `@` optional |
| `maxEmails` | integer 1-10000 | `20` | Stop after this many unique emails |
| `countryCode` | string | `""` | Two-letter country for the search proxy (US, GB, DE...) |
| `expandQueries` | boolean | `true` | Search each keyword x domain in several phrasings |
| `queryModifiers` | array | `["email","contact","bookings","group tours","partnerships"]` | Extra words combined with each keyword when expansion is on |
| `maxPagesPerQuery` | integer 1-50 | `30` | Page cap per query |
| `maxConcurrency` | integer 1-20 | `5` | Parallel queries |

The `queryModifiers` defaults are tuned for this platform. `bookings`, `group tours` and `partnerships` are the words European suppliers actually use next to a contact address, which is why the GetYourGuide Email Scraper ships with them rather than generic ones.

### JSON input example for the GetYourGuide Email Scraper

A realistic Italy-focused run for a supplier recruitment campaign:

```json
{
  "keywords": ["tour operator", "guided tour"],
  "location": "Rome",
  "customDomains": ["@gmail.com", "@yahoo.com"],
  "maxEmails": 200,
  "countryCode": "IT",
  "expandQueries": true,
  "queryModifiers": ["email", "contact", "bookings", "group tours", "partnerships"],
  "maxPagesPerQuery": 30,
  "maxConcurrency": 5
}
```

Swap `location` and `countryCode` per market and re-run. That is the normal way to work the GetYourGuide Email Scraper across a region.

Leave `maxConcurrency` at 5 unless you have a reason to change it. Higher concurrency raises the chance of blocked pages, which the Actor then has to retry, so it rarely finishes faster.

Set `maxEmails` to the size of the list you actually want. The run stops as soon as that number of unique emails is reached, which keeps compute cost proportional to output.

### GetYourGuide Email Scraper output fields

Every dataset item written by the GetYourGuide Email Scraper carries all 14 of these fields, always, even when some are empty.

| Field | Meaning |
|---|---|
| `network` | Platform name |
| `keyword` | The keyword that produced the lead |
| `query` | The exact Google query used |
| `title` | Raw result title |
| `accountName` | Account label Google prints |
| `fullName` | Display name parsed from a profile-style title; empty for activity-page titles |
| `username` | URL-safe handle when the platform exposes one; otherwise `null` |
| `profileUrl` | Canonical account URL when a handle is known; otherwise empty |
| `url` | Direct platform link when exposed, else the profile URL |
| `description` | Bio or snippet text, cleaned of labels and counters |
| `email` | Lower-cased email address |
| `emailDomain` | The matched domain, for example `@gmail.com` |
| `possiblyTruncated` | `true` when Google's snippet ellipsis touched the email |
| `foundAt` | ISO 8601 UTC timestamp |

Three of these fields do most of the practical work. `email` and `emailDomain` are your send list, `possiblyTruncated` is your quality gate, and `query` tells you which phrasing found the lead so you can double down on what worked.

`description` is worth reading before outreach. It is the cleaned snippet, and on this platform it often names the activity type, the city and the languages offered, which is enough context to personalise a first message.

### JSON output example from the GetYourGuide Email Scraper

Two rows in the shape the GetYourGuide Email Scraper writes. Note the second one: an activity page with a usable email but no operator handle, which is the common case here.

```json
[
  {
    "network": "GetYourGuide",
    "keyword": "tour operator",
    "query": "site:getyourguide.com tour operator \"@gmail.com\" \"Rome\"",
    "title": "Rome Walks Collective - Guided Tours in Rome | GetYourGuide",
    "accountName": "rome-walks-collective",
    "fullName": "Rome Walks Collective",
    "username": "rome-walks-collective",
    "profileUrl": "https://www.getyourguide.com/rome-walks-collective",
    "url": "https://www.getyourguide.com/rome-walks-collective",
    "description": "Small-group guided tour specialists in Rome. Group tours and partnerships: romewalkscollective@gmail.com",
    "email": "romewalkscollective@gmail.com",
    "emailDomain": "@gmail.com",
    "possiblyTruncated": false,
    "foundAt": "2026-05-14T09:21:48Z"
  },
  {
    "network": "GetYourGuide",
    "keyword": "guided tour",
    "query": "site:getyourguide.com guided tour bookings \"@gmail.com\" \"Barcelona\"",
    "title": "Barcelona: Gothic Quarter Guided Tour | GetYourGuide",
    "accountName": "Barcelona Gothic Quarter Guided Tour",
    "fullName": "",
    "username": null,
    "profileUrl": "",
    "url": "https://www.getyourguide.com/barcelona-l45/gothic-quarter-guided-tour",
    "description": "Booking enquiries and group tours: gothicwalksbcn@gmail.com",
    "email": "gothicwalksbcn@gmail.com",
    "emailDomain": "@gmail.com",
    "possiblyTruncated": false,
    "foundAt": "2026-05-14T09:24:02Z"
  }
]
```

### Use cases for the GetYourGuide Email Scraper

| Audience | What they do with the data |
|---|---|
| Booking engines and reservation systems | Build a tour operator email list of European suppliers not yet on their platform |
| Channel managers | Approach activity providers about distribution and connectivity |
| OTAs and aggregators | Supplier recruitment in specific cities before a market launch |
| Destination marketing organisations | Assemble travel trade contacts for campaign partners in a region |
| Destination management companies | Find local guides and operators for group tours and custom itineraries |
| Travel PR and media teams | Pitch story angles to experience providers in a destination |
| Affiliate and partnership managers | Experience provider outreach for commission and co-marketing deals |
| Market researchers | Map how many operators in a city publish a public booking address |

Most teams start the GetYourGuide Email Scraper with a shortlist of target cities, then filter the dataset on `possiblyTruncated` before the first send.

The GetYourGuide Email Scraper suits any workflow where the unit of work is "one city, one supplier list". Pair it with [Tripadvisor Attractions Email Scraper](https://apify.com/leads-scraper/tripadvisor-attractions-email-scraper) when you want the same destinations covered from a review-site angle.

### Targeting tips: location and countryCode in the GetYourGuide Email Scraper

`location` and `countryCode` are the two real levers on this platform. Because the GetYourGuide index skews heavily European, they move results more than anything else you can change.

Set `countryCode` to `DE`, `FR`, `IT`, `ES` or `GB` to steer the search proxy at the markets where GetYourGuide has the deepest coverage. Then set `location` to a city phrase such as "Rome", "Barcelona" or "Lisbon".

Run one city at a time. A run scoped to `location: "Lisbon"` with `countryCode: "PT"` gives cleaner travel trade contacts than one broad run, and it is easier to hand to a sales team.

City phrases beat country names in `location`. GetYourGuide organises its catalogue around destinations, so "Barcelona" appears in far more indexed titles than "Spain" ever will.

Try keywords in the local language once the English ones are exhausted. Operators frequently publish a booking address on a page written in German, French, Italian or Spanish, and those pages are indexed the same way.

Keep `expandQueries` on. Google caps a single query at roughly 300 results, so expansion is how the GetYourGuide Email Scraper reaches past that ceiling.

Widen `customDomains` if a market is thin. Free-mail addresses like `@gmail.com` are common among independent European operators, but adding regional providers often lifts recall for travel lead generation work.

For genuinely global coverage, run three Actors and merge the datasets: this one for Europe, [Klook Email Scraper](https://apify.com/neuro-scraper/klook-email-scraper) for Asia-Pacific, and [Viator Email Scraper](https://apify.com/leads-scraper/viator-email-scraper) for breadth. [TourRadar Email Scraper](https://apify.com/leads-scraper/tourradar-email-scraper) adds multi-day operators on top.

### GetYourGuide Email Scraper limitations

Read this section before you plan a campaign around the output.

- GetYourGuide indexes activity pages rather than supplier profiles, so many rows carry an email without an operator handle. Expect a good share of rows where `username` is `null`.
- The GetYourGuide Email Scraper only finds accounts whose email is publicly visible in Google's index. If nobody published it, it does not exist for this tool.
- Google caps a single query at roughly 300 results. That cap is the entire reason query expansion exists.
- `possiblyTruncated: true` means Google's snippet ellipsis may have cut the email short. Verify those rows before sending.
- The Actor requires the Apify GOOGLE\_SERP proxy. It cannot run without Apify proxy credentials.
- Free Apify plans are capped at 100 emails per run. Paid plans are uncapped.
- `username` and `profileUrl` are only populated when Google exposes a handle in the result. That is a Google limitation, not a bug.

Results vary with keywords, domains and location. No volume is promised, and the GetYourGuide Email Scraper is not an official, affiliated or endorsed GetYourGuide product.

Plan around that honestly. If a campaign needs a large tour operator email list, budget for several city runs across several Actors rather than expecting one run to fill it.

### Responsible use and GDPR

The addresses the GetYourGuide Email Scraper collects are business contacts that operators published deliberately, so travellers and trade partners can send booking and partnership enquiries. Treat them that way.

Identify yourself and your company in the first line. State plainly why you are writing and how you found the address. Honour every opt-out immediately and permanently.

Keep a lawful basis for your processing under GDPR, and follow CAN-SPAM or the equivalent rules in your recipient's market. European operators in particular expect a clear sender identity and a working unsubscribe path.

Keep your suppression list outside the dataset and apply it before every send. Because the GetYourGuide Email Scraper deduplicates within a run but not across runs, the same address can reappear in a later city run.

Relevance is also a courtesy. A message about bookings, distribution or partnerships is what these addresses were published for; anything unrelated is not, and will be treated accordingly.

### GetYourGuide Email Scraper FAQ

#### How many results should I expect from the GetYourGuide Email Scraper?

Per roughly 10 parsed Google result blocks, it produced about 4 identities, 4 profile URLs and 3 unique emails in measured runs. That is modest: lower email yield than Klook or Viator, but better supplier attribution than Viator. Volume depends on your keywords, domains and location.

#### Why do so many GetYourGuide Email Scraper rows have no `username`?

Because GetYourGuide indexes activity pages rather than supplier profiles. Google shows the activity title rather than an operator handle, so the row keeps `accountName` and the email but has `username: null` and an empty `profileUrl`.

#### Does the GetYourGuide Email Scraper log into GetYourGuide?

No. It never logs in, never uses the platform's API, and never opens the site. It reads Google search results through the Apify GOOGLE\_SERP proxy.

#### Which countries work best in the GetYourGuide Email Scraper?

GetYourGuide is Berlin-headquartered and its index skews heavily European, so `DE`, `FR`, `IT`, `ES` and `GB` are the strongest `countryCode` values for European tours and activities.

#### Can I run the GetYourGuide Email Scraper for one city at a time?

Yes, and you should. Set `location` to "Rome", "Barcelona" or "Lisbon" and run separately per market. City-scoped runs produce cleaner activity provider contacts.

#### Do I need the Apify proxy to run the GetYourGuide Email Scraper?

Yes. The GetYourGuide Email Scraper requires the Apify GOOGLE\_SERP proxy and cannot run without Apify proxy credentials.

#### What does `possiblyTruncated` mean?

Google's snippet ended in an ellipsis that touched the email, so the address may be incomplete. Filter those rows out or verify them before any travel lead generation send.

#### How do I get more results per run?

Keep `expandQueries` on, raise `maxPagesPerQuery`, add more `customDomains`, and add narrower keywords. Then run the GetYourGuide Email Scraper again per city rather than trying to force one broad query.

#### Can I combine this with other travel Actors?

Yes, and that is the recommended pattern for supplier recruitment. Use the GetYourGuide Email Scraper for Europe, [Klook Email Scraper](https://apify.com/neuro-scraper/klook-email-scraper) for Asia-Pacific and [Viator Email Scraper](https://apify.com/leads-scraper/viator-email-scraper) for breadth, then deduplicate on `email`.

#### What export formats does the GetYourGuide Email Scraper support?

Anything Apify datasets support, including CSV, JSON, Excel and the API. You can also push results onward with an integration, which is how most teams get a tour operator email list into their CRM.

#### Is a GetYourGuide Email Scraper run resumable?

Yes. State is kept in the key-value store keyed by a hash of your input, so a migrated or restarted run continues instead of starting over.

#### Does it find emails on other domains?

Only the ones you list in `customDomains`. If you want hotel-side or restaurant-side travel trade contacts too, look at [Booking.com Email Scraper](https://apify.com/leads-scraper/booking-com-email-scraper) or [TheFork Email Scraper](https://apify.com/leads-scraper/thefork-email-scraper) instead of widening this one.

### Related Actors

More email extraction Actors from the same family, useful alongside the GetYourGuide Email Scraper for travel-tech prospecting.

| Actor | What it collects |
|---|---|
| [Airbnb Email Scraper](https://apify.com/leads-scraper/airbnb-email-scraper) | Public contact emails from Airbnb |
| [Booking.com Email Scraper](https://apify.com/leads-scraper/booking-com-email-scraper) | Public contact emails from Booking.com |
| [Caviar Email Scraper](https://apify.com/neuro-scraper/caviar-email-scraper) | Public contact emails from Caviar |
| [ChowNow Email Scraper](https://apify.com/neuro-scraper/chownow-email-scraper) | Public contact emails from ChowNow |
| [Contiki Email Scraper](https://apify.com/neuro-scraper/contiki-email-scraper) | Public contact emails from Contiki |
| [Craigslist Email Scraper](https://apify.com/leads-scraper/craigslist-email-scraper) | Public contact emails from Craigslist |
| [Delivery.com Email Scraper](https://apify.com/neuro-scraper/delivery-com-email-scraper) | Public contact emails from Delivery.com |
| [DoorDash Email Scraper](https://apify.com/leads-scraper/doordash-email-scraper) | Public contact emails from DoorDash |
| [EatStreet Email Scraper](https://apify.com/neuro-scraper/eatstreet-email-scraper) | Public contact emails from EatStreet |
| [G Adventures Email Scraper](https://apify.com/neuro-scraper/g-adventures-email-scraper) | Public contact emails from G Adventures |
| [Grubhub Email Scraper](https://apify.com/leads-scraper/grubhub-email-scraper) | Public contact emails from Grubhub |
| [Hostelbookers Email Scraper](https://apify.com/leads-scraper/hostelbookers-email-scraper) | Public contact emails from Hostelworld |
| [HotelsCombined Email Scraper](https://apify.com/neuro-scraper/hotelscombined-email-scraper) | Public contact emails from HotelsCombined |
| [Intrepid Travel Email Scraper](https://apify.com/neuro-scraper/intrepid-travel-email-scraper) | Public contact emails from Intrepid Travel |
| [Just Eat Email Scraper](https://apify.com/leads-scraper/just-eat-email-scraper) | Public contact emails from Just Eat |
| [Klook Email Scraper](https://apify.com/neuro-scraper/klook-email-scraper) | Public contact emails from Klook |
| [OpenTable Email Scraper](https://apify.com/neuro-scraper/opentable-email-scraper) | Public contact emails from OpenTable |
| [Resy Email Scraper](https://apify.com/leads-scraper/resy-email-scraper) | Public contact emails from Resy |
| [TheFork Email Scraper](https://apify.com/leads-scraper/thefork-email-scraper) | Public contact emails from TheFork |
| [Toast Restaurant Email Scraper](https://apify.com/leads-scraper/toast-restaurant-email-scraper) | Public contact emails from Toast |
| [TourRadar Email Scraper](https://apify.com/leads-scraper/tourradar-email-scraper) | Public contact emails from TourRadar |
| [Traveloka Email Scraper](https://apify.com/leads-scraper/traveloka-email-scraper) | Public contact emails from Traveloka |
| [Tripadvisor Attractions Email Scraper](https://apify.com/leads-scraper/tripadvisor-attractions-email-scraper) | Public contact emails from Tripadvisor |
| [Tripadvisor Hotels Email Scraper](https://apify.com/leads-scraper/tripadvisor-hotels-email-scraper) | Public contact emails from Tripadvisor |
| [Tripadvisor Restaurants Email Scraper](https://apify.com/leads-scraper/tripadvisor-restaurants-email-scraper) | Public contact emails from Tripadvisor |
| [Uber Eats Email Scraper](https://apify.com/leads-scraper/uber-eats-email-scraper) | Public contact emails from Uber Eats |
| [Viator Email Scraper](https://apify.com/leads-scraper/viator-email-scraper) | Public contact emails from Viator |
| [Wanderlog Email Scraper](https://apify.com/leads-scraper/wanderlog-email-scraper) | Public contact emails from Wanderlog |
| [Wego Email Scraper](https://apify.com/leads-scraper/wego-email-scraper) | Public contact emails from Wego |
| [Zomato Email Scraper](https://apify.com/leads-scraper/zomato-email-scraper) | Public contact emails from Zomato |
| [Airbnb Email and Phone Number Scraper](https://apify.com/leads-scraper/airbnb-email-and-phone-number-scraper) | Emails and phone numbers from Airbnb |
| [Booking.com Email and Phone Number Scraper](https://apify.com/leads-scraper/booking-com-email-and-phone-number-scraper) | Emails and phone numbers from Booking.com |
| [Caviar Email and Phone Number Scraper](https://apify.com/neuro-scraper/caviar-email-and-phone-number-scraper) | Emails and phone numbers from Caviar |
| [ChowNow Email and Phone Number Scraper](https://apify.com/neuro-scraper/chownow-email-and-phone-number-scraper) | Emails and phone numbers from ChowNow |
| [Contiki Email and Phone Number Scraper](https://apify.com/neuro-scraper/contiki-email-and-phone-number-scraper) | Emails and phone numbers from Contiki |
| [Craigslist Email and Phone Number Scraper](https://apify.com/leads-scraper/craigslist-email-and-phone-number-scraper) | Emails and phone numbers from Craigslist |
| [Delivery.com Email and Phone Number Scraper](https://apify.com/neuro-scraper/delivery-com-email-and-phone-number-scraper) | Emails and phone numbers from Delivery.com |
| [DoorDash Email and Phone Number Scraper](https://apify.com/leads-scraper/doordash-email-and-phone-number-scraper) | Emails and phone numbers from DoorDash |
| [EatStreet Email and Phone Number Scraper](https://apify.com/neuro-scraper/eatstreet-email-and-phone-number-scraper) | Emails and phone numbers from EatStreet |
| [G Adventures Email and Phone Number Scraper](https://apify.com/neuro-scraper/g-adventures-email-and-phone-number-scraper) | Emails and phone numbers from G Adventures |
| [Grubhub Email and Phone Number Scraper](https://apify.com/neuro-scraper/grubhub-email-and-phone-number-scraper) | Emails and phone numbers from Grubhub |
| [Hostelworld Email and Phone Number Scraper](https://apify.com/neuro-scraper/hostelbookers-email-and-phone-number-scraper) | Emails and phone numbers from Hostelworld |

### Leave a review

If the GetYourGuide Email Scraper saved you time, please leave a star rating and a short review
on the Actor page.

Reviews are how other buyers judge whether a tool works, and they tell us which features to
build next.

If something did not work, email <neurodata.apify@gmail.com>
instead - bugs get fixed faster than they get complained about.

# Actor input Schema

## `keywords` (type: `array`):

Search terms describing the GetYourGuide accounts you want (niche, job title, industry).

## `location` (type: `string`):

Optional location phrase added to every query (e.g. "New York").

## `customDomains` (type: `array`):

Only emails ending with one of these domains are collected. With or without the leading @. Each domain is searched separately, so more domains means more results but a longer run - remove some for a faster, narrower search, or add your own (e.g. @company.com).

## `maxEmails` (type: `integer`):

Stop once this many unique emails have been collected.

## `countryCode` (type: `string`):

Two-letter country code for the search proxy (e.g. US, GB, DE). Empty for any.

## `expandQueries` (type: `boolean`):

Search each keyword x domain pair with several phrasings. Recommended - Google caps a single query at ~300 results.

## `queryModifiers` (type: `array`):

Extra words combined with each keyword when Expand queries is on. Tuned for GetYourGuide.

## `maxPagesPerQuery` (type: `integer`):

Google rarely returns more than ~30 pages for one query.

## `maxConcurrency` (type: `integer`):

How many queries run in parallel.

## Actor input object example

```json
{
  "keywords": [
    "tour operator",
    "guided tour"
  ],
  "location": "",
  "customDomains": [
    "@gmail.com",
    "@yahoo.com"
  ],
  "maxEmails": 20,
  "countryCode": "",
  "expandQueries": true,
  "queryModifiers": [
    "email",
    "contact",
    "bookings",
    "group tours",
    "partnerships"
  ],
  "maxPagesPerQuery": 30,
  "maxConcurrency": 5
}
```

# Actor output Schema

## `results` (type: `string`):

Records produced by GetYourGuide Email Scraper, stored in the run's default dataset.

# 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 = {
    "keywords": [
        "tour operator",
        "guided tour"
    ],
    "location": "",
    "customDomains": [
        "@gmail.com",
        "@yahoo.com"
    ],
    "countryCode": "",
    "queryModifiers": [
        "email",
        "contact",
        "bookings",
        "group tours",
        "partnerships"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("leads-scraper/getyourguide-email-scraper").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 = {
    "keywords": [
        "tour operator",
        "guided tour",
    ],
    "location": "",
    "customDomains": [
        "@gmail.com",
        "@yahoo.com",
    ],
    "countryCode": "",
    "queryModifiers": [
        "email",
        "contact",
        "bookings",
        "group tours",
        "partnerships",
    ],
}

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

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

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

```

## CLI example

```bash
echo '{
  "keywords": [
    "tour operator",
    "guided tour"
  ],
  "location": "",
  "customDomains": [
    "@gmail.com",
    "@yahoo.com"
  ],
  "countryCode": "",
  "queryModifiers": [
    "email",
    "contact",
    "bookings",
    "group tours",
    "partnerships"
  ]
}' |
apify call leads-scraper/getyourguide-email-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,leads-scraper/getyourguide-email-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/s9PSAMry3dbncUyVF/builds/mfhwkWIN7ZlWwJjzL/openapi.json
