Viator Email Scraper
Pricing
from $2.49 / 1,000 results
Viator Email Scraper
Viator Email Scraper SD - Viator Email Scraper is a lead generation tool that extracts leads with public contact emails, account names and profile URLs from Viator results by keyword, location and email domain - Viator email extractor.
Pricing
from $2.49 / 1,000 results
Rating
0.0
(0)
Developer
Leads Scraper
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Viator Email Scraper
The Viator Email Scraper collects publicly indexed contact emails connected to Viator tour pages and turns them into a clean, deduplicated dataset you can export as CSV, JSON or Excel.
It is built for travel-tech vendors, channel managers, destination marketing teams and partnership managers who need to reach the tours-and-activities long tail at scale.
Viator is the largest tours and activities marketplace on the web, and Google indexes an enormous number of its pages. That indexed surface is what the Viator Email Scraper reads.
One thing to be clear about up front: Viator indexes tour product pages rather than operator profiles, so most rows carry an operator email without a supplier handle. You get the email, but often not a tidy account identity next to it.
The Viator Email Scraper never logs in, never opens viator.com, and never touches private data. Every field it returns comes from public Google search results - titles, snippets and site labels - fetched through the Apify GOOGLE_SERP proxy.
If your priority is a handle-keyed supplier list rather than raw email volume, read the limitations section before you run this Actor. It says so plainly.
Why use the Viator Email Scraper for tours and activities
Viator sits at the top of the tours and activities marketplace funnel, which means its indexed pages cover thousands of small operators who never appear in curated travel trade directories.
That makes the Viator Email Scraper the strongest tool in this family for raw email volume when you are building a tour operator email list for travel lead generation.
The trade-off is identity. Because indexed pages are products, not supplier profiles, this Actor is a weak choice for assembling a clean tour operator contact database keyed by handle.
If you need cleaner operator attribution, the TourRadar Email Scraper and the Klook Email Scraper expose operator identity more consistently.
Many teams run the Viator Email Scraper for reach and one of those two for structure, then merge the results on the email address.
Used that way, the Viator Email Scraper is the volume engine of a travel lead generation stack rather than the system of record.
A second reason teams reach for Viator specifically is coverage breadth. A single destination page set can span walking guides, cooking classes, boat charters and airport transfers, which is far wider than any curated travel trade contacts directory covers.
That breadth is what makes it useful for OTA supplier outreach in destinations where you have no existing supply relationships and no local sales presence.
Viator Email Scraper features
Only real, implemented behaviour is listed here. Everything in this table is something the Viator Email Scraper genuinely does on every run.
| Feature | What it does |
|---|---|
| Google SERP parsing | Locates the <h3> title in each result block, then the smallest surrounding block - no dependency on Google CSS class names |
| Domain filter | Keeps only emails ending in the domains you list in customDomains |
| Query expansion | Runs base, quoted and intitle: variants, plus one variant per query modifier; base queries run first |
| Global deduplication | Every email is deduplicated across all queries and all pages in 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 will not match inside @gmail.company or @gmail.com.br |
| Soft-wrap repair | Drops a hit that is only the tail of another email in the same block |
| Concurrency | An asyncio worker pool with a shared stop signal on maxEmails |
| Retries | Up to 3 attempts per page with exponential backoff and a fresh proxy session per request |
| Block detection | CAPTCHA, "unusual traffic" and consent pages are detected and retried, not counted as empty |
| Re-queue | Blocked or failed queries are retried once at the end of the run |
| Resumable runs | State is stored in the key-value store keyed by an input hash, saving on PERSIST_STATE, MIGRATING and ABORTING |
| Fallback parser | If Google's markup changes, a whole-page parser degrades the run to "emails without account details" instead of "no emails" |
| Streaming output | Each lead is pushed to the dataset immediately as it is found |
| Run summary | Logs pages fetched, blocked pages, retries and emails per page |
How the Viator Email Scraper works
The pipeline is short and entirely search-based. There is no browser, no JavaScript rendering, no authentication and no cookies.
- The Viator Email Scraper reads your input: keywords, location, email domains and run limits.
- It builds Google queries with the
site:operator againstviator.com, for examplesite:viator.com tour operator "@gmail.com" "Rome". - It fetches Google result pages through the Apify GOOGLE_SERP proxy using async
aiohttprequests. - It parses each result block structurally by finding the
<h3>title and the smallest surrounding block. - It extracts emails from the block text with a domain-filtered regex.
- It deduplicates globally and pushes each lead straight to the Apify dataset.
Because step 2 is the whole targeting mechanism, your keywords, modifiers and location phrase do far more for Viator Email Scraper results than any other setting.
Nothing else happens. The Viator Email Scraper is a Google SERP reader with a strict domain filter, not a crawler of viator.com itself.
Viator Email Scraper input fields
The Viator Email Scraper takes nine inputs. Only keywords is required; every other field has a working default tuned for Viator.
| Field | Type | Default | Meaning |
|---|---|---|---|
keywords | array (required) | ["tour operator", "day tours"] | Search terms describing the operators you want |
location | string | "" | Optional location phrase added to every query |
customDomains | array | ["@gmail.com","@yahoo.com"] | Only emails on these domains are kept; the @ is 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 pair 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 |
JSON input example for the Viator Email Scraper
A destination-led Viator Email Scraper run aimed at day tour suppliers in Portugal:
{"keywords": ["tour operator", "day tours"],"location": "Lisbon","customDomains": ["@gmail.com", "@yahoo.com"],"maxEmails": 200,"countryCode": "PT","expandQueries": true,"queryModifiers": ["email", "contact", "bookings", "group tours", "partnerships"],"maxPagesPerQuery": 30,"maxConcurrency": 5}
Viator Email Scraper output fields
Every dataset item produced by the Viator Email Scraper carries all fourteen fields below.
| 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 product-style titles |
username | URL-safe handle when Viator 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, such as @gmail.com |
possiblyTruncated | true when Google's snippet ellipsis touched the email |
foundAt | ISO 8601 UTC timestamp |
JSON output example from the Viator Email Scraper
These rows are shaped the way real Viator Email Scraper output actually looks - two with no handle at all, one where Google exposed a supplier path.
[{"network": "Viator","keyword": "tour operator","query": "site:viator.com tour operator \"@gmail.com\" \"Lisbon\"","title": "Lisbon Full-Day Sintra and Cascais Small-Group Tour","accountName": "Lisbon Full-Day Sintra and Cascais Small-Group Tour","fullName": "","username": null,"profileUrl": "","url": "","description": "Small-group day tours from Lisbon. Group bookings: sintratours.lx@gmail.com","email": "sintratours.lx@gmail.com","emailDomain": "@gmail.com","possiblyTruncated": false,"foundAt": "2025-05-14T09:12:44Z"},{"network": "Viator","keyword": "day tours","query": "site:viator.com intitle:\"day tours\" \"@yahoo.com\"","title": "Douro Valley Wine Day Tour with Lunch","accountName": "Douro Valley Wine Day Tour with Lunch","fullName": "","username": null,"profileUrl": "","url": "","description": "Private and group tours in the Douro. Partnerships enquiries: dourotrips@yahoo.com","email": "dourotrips@yahoo.com","emailDomain": "@yahoo.com","possiblyTruncated": true,"foundAt": "2025-05-14T09:13:07Z"},{"network": "Viator","keyword": "tour operator","query": "site:viator.com tour operator contact \"@gmail.com\" \"Lisbon\"","title": "Oporto Walkers - Tours & Activities","accountName": "Oporto Walkers","fullName": "Oporto Walkers","username": "oporto-walkers","profileUrl": "https://www.viator.com/tours/oporto-walkers","url": "https://www.viator.com/tours/oporto-walkers","description": "Walking day tours and city experiences. Bookings: oportowalkers@gmail.com","email": "oportowalkers@gmail.com","emailDomain": "@gmail.com","possiblyTruncated": false,"foundAt": "2025-05-14T09:14:22Z"}]
Viator Email Scraper use cases
These are the teams that get the most out of a Viator Email Scraper run, and what they typically do with the dataset.
| Audience | What they do with the data |
|---|---|
| Travel-tech vendors | Pitch booking engines, ticketing and reservation systems into the tours and activities marketplace long tail |
| Channel managers | Recruit small suppliers who are already distributing on an OTA but not connected to a channel manager |
| OTA and aggregator supply teams | Run OTA supplier outreach in destinations where inventory is thin |
| Destination marketing organisations | Build a travel agency email list of operators active in their region for destination marketing campaigns |
| Destination management companies | Find local ground operators for group tours and bespoke itineraries |
| Travel PR and media teams | Assemble travel trade contacts for launches, press trips and campaign invitations |
| Affiliate and partnership managers | Prospect operators for commission and co-marketing deals |
| Market researchers | Sample how many operators in a destination publish a direct booking email |
For neighbouring supply pools, teams often pair this Actor with the GetYourGuide Email Scraper for Europe and the Tripadvisor Attractions Email Scraper for attraction operators.
Accommodation-side prospecting is better served by the Booking.com Email Scraper or the Airbnb Email Scraper.
Targeting tips for the Viator Email Scraper
location and countryCode are the two levers that change Viator Email Scraper results most, and they do different jobs.
location is a phrase appended to every query, so it filters what Google matches. countryCode steers the search proxy, so it changes which regional index you are reading.
Destination-led prospecting works best: run the Viator Email Scraper once per city rather than once per country. "Kyoto" and "Cusco" outperform "Japan" and "Peru".
Pair the two when the destination is ambiguous - location: "Valencia" with countryCode: "ES" keeps you out of Venezuelan results.
Keep expandQueries on. Google caps a single query at roughly 300 results, and the modifiers bookings, partnerships and group tours reach snippets that a bare keyword query never surfaces.
Narrow keywords beat broad ones. "private guide", "shore excursion", "food tour" and "airport transfer" each pull a distinct slice of the tour operator email list.
Add local-language domains to customDomains when you work outside the anglosphere. Many operators publish on regional free mail providers rather than Gmail.
Raise maxEmails before raising maxConcurrency. The stop signal is shared, so a higher cap simply lets more queries contribute.
If you are assembling a travel agency email list alongside operator contacts, add reseller-flavoured keywords such as "incoming agency" and "DMC" to the same run.
Finally, keep destination runs separate in the dataset. Merging later is easy; splitting a mixed tour operator email list by market afterwards is not.
Viator Email Scraper limitations
Read these before you plan a campaign around this Actor.
- Viator indexes tour product pages rather than operator profiles, so most rows carry an operator email without a supplier handle. Expect a strong email column and a sparse identity column.
- The Viator Email Scraper only finds accounts whose email is publicly visible in Google's index. Emails hidden behind Viator's contact forms are not reachable.
- Google caps a single query at roughly 300 results. That cap is exactly why query expansion exists and why turning it off shrinks a run sharply.
possiblyTruncated: truemeans Google's snippet ellipsis may have cut the email. Verify those rows before you send anything.- The Actor requires the Apify GOOGLE_SERP proxy and cannot run without Apify proxy credentials.
- Free Apify plans are capped at 100 emails per run. Paid plans are uncapped.
usernameandprofileUrlare only populated when Google exposes a handle in the result. That is a Google limitation, not a bug in the Viator Email Scraper.- Results vary with keywords, domains and location. No volume is promised.
Responsible use and GDPR
The emails the Viator Email Scraper surfaces are business contacts that operators published deliberately so travellers and trade partners can reach them about bookings and partnerships.
Treat them that way. Identify yourself and your company, say plainly why you are writing, and make the relevance to their business obvious in the first two lines.
Honour every opt-out immediately and permanently, and keep an unsubscribe path in every message.
Maintain a lawful basis for your processing under GDPR, and comply with CAN-SPAM, PECR or whichever regime covers your recipients. Legitimate interest is a defensible basis for relevant B2B travel trade contacts, but you must document it.
Viator Email Scraper FAQ
How many results should I expect from the Viator Email Scraper?
In a measured live run, roughly every 10 parsed Google result blocks produced about 1 identity, 1 profile URL and 6 unique emails. Email yield is solid; account identity is thin. Most rows arrive with an email and little supplier attribution.
Why do so many rows have username: null and an empty profileUrl?
Because Viator indexes tour product pages rather than operator profiles. Google's result exposes the product title, not a supplier handle, so there is nothing for the Actor to key on.
Can the Viator Email Scraper build a handle-keyed supplier list?
Not reliably. For cleaner operator identity use the TourRadar Email Scraper or the Klook Email Scraper, then join their rows to these on the email address.
Does the Viator Email Scraper log into Viator or use its API?
No. It reads publicly indexed Google search results through the Apify GOOGLE_SERP proxy. There is no login, no browser, no cookies and no platform API.
Which email domains should I give the Viator Email Scraper?
Start with the defaults @gmail.com and @yahoo.com, which catch a large share of independent operators, then add regional providers and any operator-owned domains you already know.
Why does the Viator Email Scraper need the Apify proxy?
All queries are fetched through the GOOGLE_SERP proxy. Without Apify proxy credentials the Actor cannot fetch a single result page.
What does possiblyTruncated mean?
Google's snippet was cut by an ellipsis at or near the email, so the address may be incomplete. Filter those rows into a separate verification list.
Can I resume an interrupted Viator Email Scraper run?
Yes. State is saved in the key-value store keyed by a hash of your input, and it persists on Apify's PERSIST_STATE, MIGRATING and ABORTING events.
Will a Google layout change break the Viator Email Scraper?
Parsing is structural rather than class-name based, and a whole-page fallback parser exists. A layout change degrades output to emails without account details rather than to nothing.
How do I export Viator Email Scraper results?
The Apify dataset exports to CSV, JSON, Excel and XML, or you can pull rows through the Apify API into your CRM.
Is the Viator Email Scraper affiliated with Viator or Tripadvisor?
No. It is an independent Actor that reads public Google search results and has no connection to either company.
Is Viator a marketplace or a single operator?
It is a marketplace, and one of the largest in the tours and activities category, which is why the Viator Email Scraper reaches many independent suppliers rather than one brand.
Can I use this for destination marketing rather than sales?
Yes. Destination marketing organisations use the Viator Email Scraper to map which operators are actively selling a region before inviting them into campaigns or co-op programmes.
What is the best keyword strategy for a broad tour operator contact database?
Run several narrow keyword sets across many destinations instead of one broad set globally, then deduplicate. Broad keywords hit Google's per-query cap early and waste pages.
How should I scale a large travel lead generation project?
Run the Viator Email Scraper once per destination with a focused keyword set, raise maxEmails, then merge the destination datasets and deduplicate on email before importing to your tour operator contact database.
Related Actors
Actors built on the same engine as the Viator Email Scraper, covering travel marketplaces, accommodation and hospitality platforms.
| Actor | What it collects |
|---|---|
| Viator Email and Phone Number Scraper | Emails and phone numbers from Viator |
| Viator Phone Number Scraper | Public phone numbers from Viator |
| Airbnb Email Scraper | Public contact emails from Airbnb |
| Booking.com Email Scraper | Public contact emails from Booking.com |
| Caviar Email Scraper | Public contact emails from Caviar |
| ChowNow Email Scraper | Public contact emails from ChowNow |
| Contiki Email Scraper | Public contact emails from Contiki |
| Craigslist Email Scraper | Public contact emails from Craigslist |
| Delivery.com Email Scraper | Public contact emails from Delivery.com |
| DoorDash Email Scraper | Public contact emails from DoorDash |
| EatStreet Email Scraper | Public contact emails from EatStreet |
| G Adventures Email Scraper | Public contact emails from G Adventures |
| GetYourGuide Email Scraper | Public contact emails from GetYourGuide |
| Grubhub Email Scraper | Public contact emails from Grubhub |
| Hostelbookers Email Scraper | Public contact emails from Hostelworld |
| HotelsCombined Email Scraper | Public contact emails from HotelsCombined |
| Intrepid Travel Email Scraper | Public contact emails from Intrepid Travel |
| Just Eat Email Scraper | Public contact emails from Just Eat |
| Klook Email Scraper | Public contact emails from Klook |
| OpenTable Email Scraper | Public contact emails from OpenTable |
| Resy Email Scraper | Public contact emails from Resy |
| TheFork Email Scraper | Public contact emails from TheFork |
| Toast Restaurant Email Scraper | Public contact emails from Toast |
| TourRadar Email Scraper | Public contact emails from TourRadar |
| Traveloka Email Scraper | Public contact emails from Traveloka |
| Tripadvisor Attractions Email Scraper | Public contact emails from Tripadvisor |
| Tripadvisor Hotels Email Scraper | Public contact emails from Tripadvisor |
| Tripadvisor Restaurants Email Scraper | Public contact emails from Tripadvisor |
| Uber Eats Email Scraper | Public contact emails from Uber Eats |
| Wanderlog Email Scraper | Public contact emails from Wanderlog |
| Wego Email Scraper | Public contact emails from Wego |
| Zomato Email Scraper | Public contact emails from Zomato |
| Airbnb Email and Phone Number Scraper | Emails and phone numbers from Airbnb |
| Booking.com Email and Phone Number Scraper | Emails and phone numbers from Booking.com |
| Caviar Email and Phone Number Scraper | Emails and phone numbers from Caviar |
| ChowNow Email and Phone Number Scraper | Emails and phone numbers from ChowNow |
| Contiki Email and Phone Number Scraper | Emails and phone numbers from Contiki |
| Craigslist Email and Phone Number Scraper | Emails and phone numbers from Craigslist |
| Delivery.com Email and Phone Number Scraper | Emails and phone numbers from Delivery.com |
| DoorDash Email and Phone Number Scraper | Emails and phone numbers from DoorDash |
| EatStreet Email and Phone Number Scraper | Emails and phone numbers from EatStreet |
| G Adventures Email and Phone Number Scraper | Emails and phone numbers from G Adventures |
Leave a review
If the Viator 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.