Viator Email Scraper avatar

Viator Email Scraper

Pricing

from $2.49 / 1,000 results

Go to Apify Store
Viator Email Scraper

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

Leads Scraper

Maintained by Community

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

FeatureWhat it does
Google SERP parsingLocates the <h3> title in each result block, then the smallest surrounding block - no dependency on Google CSS class names
Domain filterKeeps only emails ending in the domains you list in customDomains
Query expansionRuns base, quoted and intitle: variants, plus one variant per query modifier; base queries run first
Global deduplicationEvery email is deduplicated across all queries and all pages in the run
Email normalisationUnderstands name [at] domain [dot] com, name (at) domain, name @ domain.com, domain .com, zero-width characters and the full-width at sign
Junk filterRejects 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 repairDrops a hit that is only the tail of another email in the same block
ConcurrencyAn asyncio worker pool with a shared stop signal on maxEmails
RetriesUp to 3 attempts per page with exponential backoff and a fresh proxy session per request
Block detectionCAPTCHA, "unusual traffic" and consent pages are detected and retried, not counted as empty
Re-queueBlocked or failed queries are retried once at the end of the run
Resumable runsState is stored in the key-value store keyed by an input hash, saving on PERSIST_STATE, MIGRATING and ABORTING
Fallback parserIf Google's markup changes, a whole-page parser degrades the run to "emails without account details" instead of "no emails"
Streaming outputEach lead is pushed to the dataset immediately as it is found
Run summaryLogs 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.

  1. The Viator Email Scraper reads your input: keywords, location, email domains and run limits.
  2. It builds Google queries with the site: operator against viator.com, for example site:viator.com tour operator "@gmail.com" "Rome".
  3. It fetches Google result pages through the Apify GOOGLE_SERP proxy using async aiohttp requests.
  4. It parses each result block structurally by finding the <h3> title and the smallest surrounding block.
  5. It extracts emails from the block text with a domain-filtered regex.
  6. 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.

FieldTypeDefaultMeaning
keywordsarray (required)["tour operator", "day tours"]Search terms describing the operators you want
locationstring""Optional location phrase added to every query
customDomainsarray["@gmail.com","@yahoo.com"]Only emails on these domains are kept; the @ is optional
maxEmailsinteger 1-1000020Stop after this many unique emails
countryCodestring""Two-letter country for the search proxy (US, GB, DE...)
expandQueriesbooleantrueSearch each keyword x domain pair in several phrasings
queryModifiersarray["email","contact","bookings","group tours","partnerships"]Extra words combined with each keyword when expansion is on
maxPagesPerQueryinteger 1-5030Page cap per query
maxConcurrencyinteger 1-205Parallel 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.

FieldMeaning
networkPlatform name
keywordThe keyword that produced the lead
queryThe exact Google query used
titleRaw result title
accountNameAccount label Google prints
fullNameDisplay name parsed from a profile-style title; empty for product-style titles
usernameURL-safe handle when Viator exposes one; otherwise null
profileUrlCanonical account URL when a handle is known; otherwise empty
urlDirect platform link when exposed, else the profile URL
descriptionBio or snippet text, cleaned of labels and counters
emailLower-cased email address
emailDomainThe matched domain, such as @gmail.com
possiblyTruncatedtrue when Google's snippet ellipsis touched the email
foundAtISO 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.

AudienceWhat they do with the data
Travel-tech vendorsPitch booking engines, ticketing and reservation systems into the tours and activities marketplace long tail
Channel managersRecruit small suppliers who are already distributing on an OTA but not connected to a channel manager
OTA and aggregator supply teamsRun OTA supplier outreach in destinations where inventory is thin
Destination marketing organisationsBuild a travel agency email list of operators active in their region for destination marketing campaigns
Destination management companiesFind local ground operators for group tours and bespoke itineraries
Travel PR and media teamsAssemble travel trade contacts for launches, press trips and campaign invitations
Affiliate and partnership managersProspect operators for commission and co-marketing deals
Market researchersSample 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: true means 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.
  • username and profileUrl are 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.

Actors built on the same engine as the Viator Email Scraper, covering travel marketplaces, accommodation and hospitality platforms.

ActorWhat it collects
Viator Email and Phone Number ScraperEmails and phone numbers from Viator
Viator Phone Number ScraperPublic phone numbers from Viator
Airbnb Email ScraperPublic contact emails from Airbnb
Booking.com Email ScraperPublic contact emails from Booking.com
Caviar Email ScraperPublic contact emails from Caviar
ChowNow Email ScraperPublic contact emails from ChowNow
Contiki Email ScraperPublic contact emails from Contiki
Craigslist Email ScraperPublic contact emails from Craigslist
Delivery.com Email ScraperPublic contact emails from Delivery.com
DoorDash Email ScraperPublic contact emails from DoorDash
EatStreet Email ScraperPublic contact emails from EatStreet
G Adventures Email ScraperPublic contact emails from G Adventures
GetYourGuide Email ScraperPublic contact emails from GetYourGuide
Grubhub Email ScraperPublic contact emails from Grubhub
Hostelbookers Email ScraperPublic contact emails from Hostelworld
HotelsCombined Email ScraperPublic contact emails from HotelsCombined
Intrepid Travel Email ScraperPublic contact emails from Intrepid Travel
Just Eat Email ScraperPublic contact emails from Just Eat
Klook Email ScraperPublic contact emails from Klook
OpenTable Email ScraperPublic contact emails from OpenTable
Resy Email ScraperPublic contact emails from Resy
TheFork Email ScraperPublic contact emails from TheFork
Toast Restaurant Email ScraperPublic contact emails from Toast
TourRadar Email ScraperPublic contact emails from TourRadar
Traveloka Email ScraperPublic contact emails from Traveloka
Tripadvisor Attractions Email ScraperPublic contact emails from Tripadvisor
Tripadvisor Hotels Email ScraperPublic contact emails from Tripadvisor
Tripadvisor Restaurants Email ScraperPublic contact emails from Tripadvisor
Uber Eats Email ScraperPublic contact emails from Uber Eats
Wanderlog Email ScraperPublic contact emails from Wanderlog
Wego Email ScraperPublic contact emails from Wego
Zomato Email ScraperPublic contact emails from Zomato
Airbnb Email and Phone Number ScraperEmails and phone numbers from Airbnb
Booking.com Email and Phone Number ScraperEmails and phone numbers from Booking.com
Caviar Email and Phone Number ScraperEmails and phone numbers from Caviar
ChowNow Email and Phone Number ScraperEmails and phone numbers from ChowNow
Contiki Email and Phone Number ScraperEmails and phone numbers from Contiki
Craigslist Email and Phone Number ScraperEmails and phone numbers from Craigslist
Delivery.com Email and Phone Number ScraperEmails and phone numbers from Delivery.com
DoorDash Email and Phone Number ScraperEmails and phone numbers from DoorDash
EatStreet Email and Phone Number ScraperEmails and phone numbers from EatStreet
G Adventures Email and Phone Number ScraperEmails 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.