# Agoda Email Scraper (`email_scraper/agoda-email-scraper`) Actor

Agoda Email Scraper extracts publicly listed email addresses from Agoda-related search results using targeted keywords, locations, and custom email domains. Build structured hotel, hospitality, and travel contact datasets with emails, titles, descriptions, URLs, and keywords.

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

## Pricing

from $1.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

### Agoda Email Scraper

**Agoda Email Scraper** is an Apify Actor designed to find publicly listed email addresses associated with Agoda.com search results using targeted keywords and optional location filters. It searches Agoda-related pages for email addresses matching the domain suffixes you specify, then returns the discovered contacts in a structured Apify Dataset.

The Actor is intended for contact research, lead discovery, market research, business intelligence, and structured data collection. You provide keywords such as `Hotel`, `Manager`, or more specific combinations such as `Hotel Manager`, optionally define a country or city, select email domains to search for, and configure how many addresses to target for each keyword and email-domain combination.

Results include the search keyword, result title, description, URL, email address, and the `Agoda.com` network identifier. Because results are based on publicly available search-result information, the Actor only returns addresses that can actually be found and extracted from the available data.

### What Is the Agoda Email Scraper?

The Agoda Email Scraper is a keyword-driven email extraction tool focused specifically on Agoda.com-related search results. Instead of manually reviewing search results and copying contact details, users can define a group of search terms and let the Actor collect matching public email addresses into a structured dataset.

The workflow is straightforward:

**Keywords + optional location + email domains + result target → Agoda-related search results → extracted email contacts → structured Dataset**

The Actor supports multiple keywords and multiple email-domain suffixes. This makes it possible to create targeted searches for different roles, businesses, locations, or audiences without changing the configuration between each search.

For example, a user researching accommodation-related contacts could combine keywords such as `Hotel`, `Hotel Manager`, `Resort Manager`, and `Hotel Owner` with email domains such as `@gmail.com` and `@yahoo.com`.

### Key Features

| **Feature**            | **Description**                                                                                  | **User Benefit**                                     |
| ---------------------- | ------------------------------------------------------------------------------------------------ | ---------------------------------------------------- |
| Keyword-based search   | Searches Agoda-related results using the keywords you provide.                                   | Build targeted contact research queries.             |
| Multiple keywords      | Accepts a list of search terms rather than a single query.                                       | Cover several related search intents in one run.     |
| Location filtering     | Optionally adds a country, state, or city to the search.                                         | Focus research on a geographic area.                 |
| Custom email domains   | Lets you provide email suffixes such as `@gmail.com` or `@yahoo.com`.                            | Target specific types of email addresses.            |
| Per-combination target | The configured email target applies independently to each keyword + domain combination.          | Expand coverage across multiple search combinations. |
| Exclude words          | Skips descriptions containing specified words or phrases.                                        | Reduce unwanted or irrelevant matches.               |
| Duplicate protection   | Previously collected email addresses are tracked during the run.                                 | Avoid repeatedly returning the same email address.   |
| Structured Dataset     | Pushes discovered records into an Apify Dataset incrementally.                                   | Makes collected data easier to inspect and use.      |
| Resume support         | Run progress is persisted so processing can continue from the saved position after interruption. | Reduce unnecessary repetition in interrupted runs.   |

### What Data Can You Extract?

The Agoda Email Scraper returns structured contact records based on email addresses found in matching search-result descriptions.

Each collected record contains:

- **Network** — identifies the source network as `Agoda.com`.
- **Keyword** — the keyword used for the search combination.
- **Title** — the title associated with the search result.
- **Description** — the available search-result description containing the extracted information.
- **URL** — the URL associated with the result.
- **Email** — the extracted email address matching one of the configured domain suffixes.

The Actor focuses specifically on email discovery rather than attempting to create a broad Agoda profile database. The returned record therefore preserves the surrounding search-result context that helps users understand where an email address was found.

### Why Use This Actor?

Manual contact research can require repeatedly searching different terms, reviewing individual results, identifying relevant descriptions, checking email addresses, and copying information into a spreadsheet. The Agoda Email Scraper automates that repetitive collection process.

It is particularly useful when your research requires multiple combinations of search terms and email suffixes. Instead of running every query separately, you can provide several keywords and domains in one Actor run.

Structured output also makes the collected information easier to review and organize in an Apify Dataset. This can support research workflows where users need a consistent set of fields rather than unformatted search notes.

The Actor is designed around publicly discoverable information, so its output should be treated as research data that may require validation before important business decisions or outreach.

### Benefits

The main practical benefits of the Agoda Email Scraper include:

- **Automated data collection** — reduce repetitive manual searching and copying.
- **Targeted research** — combine specific keywords with optional geographic terms.
- **Flexible domain targeting** — search for different email suffixes in the same workflow.
- **Structured lead data** — receive consistent fields for keyword, context, URL, and email.
- **Scalable query coverage** — process multiple keyword and domain combinations in a single run.
- **Dataset-ready results** — records are pushed incrementally to the Apify Dataset.
- **Research-friendly filtering** — exclude unwanted terms from result descriptions.

### How to Use the Agoda Email Scraper

Using the Actor requires only a few configuration steps.

1. Enter one or more **keywords or queries** relevant to the contacts you want to discover.
2. Add a **location** when you need to narrow the research to a country, state, city, or other geographic term.
3. Choose the **email-domain suffixes** to search for.
4. Set the desired **maximum email target** for each keyword + domain combination.
5. Add **exclude words** when certain descriptions should be ignored.
6. Start the Actor and review the resulting Dataset.

For better targeted research, use specific combinations instead of relying on one broad keyword. For example, a search focused on `Hotel Manager` may be more targeted than using only `Hotel`.

### Input

The Actor accepts a JSON object containing the required keyword list and several optional configuration fields.

#### Input Fields

| **Field**       | **Type**         | **Required** | **Default**            | **Description**                                                                                        |
| --------------- | ---------------- | ------------ | ---------------------- | ------------------------------------------------------------------------------------------------------ |
| `keywords`      | Array of strings | Yes          | `["Hotel", "Manager"]` | Search keywords or queries used to find relevant Agoda-related results.                                |
| `location`      | String           | No           | `""`                   | Optional country, state, or city used to narrow the search.                                            |
| `customDomains` | Array of strings | No           | `["@gmail.com"]`       | Email-domain suffixes to include when extracting addresses.                                            |
| `maxEmails`     | Integer          | No           | `5`                    | Maximum number of new emails targeted for each keyword + domain combination. Accepted range: 1–10,000. |
| `excludeWords`  | Array of strings | No           | `[]`                   | Words or phrases that cause a result description to be skipped.                                        |

The `keywords` field is the only required input.

The `location` field can be left empty when no geographic filter is needed. When populated, the location is incorporated into the search query.

The `customDomains` field controls which email suffixes are considered. For example, `["@gmail.com", "@yahoo.com"]` allows matching addresses from both domains.

The `maxEmails` value is applied independently to each keyword and email-domain combination. For example, with 3 keywords, 2 domains, and a target of 20, the Actor works through 6 separate combinations, each with its own target.

For free users, the Actor applies a maximum of **100 emails** regardless of a higher requested target.

### Input Example

```json
{
  "keywords": [
    "Hotel",
    "Hotel Manager",
    "Resort Manager",
    "Hotel Owner"
  ],
  "location": "Bangkok, Thailand",
  "customDomains": [
    "@gmail.com",
    "@yahoo.com",
    "@outlook.com"
  ],
  "maxEmails": 20,
  "excludeWords": [
    "crypto",
    "onlyfans"
  ]
}
```

Specific keywords, multiple email domains, and a sensible location filter can help create a more focused research dataset.

### Output

Each discovered email is written as a structured Dataset record. The Actor pushes records incrementally, allowing users to inspect collected data as processing progresses.

#### Output Fields

| **Field**     | **Description**                                                                              |
| ------------- | -------------------------------------------------------------------------------------------- |
| `network`     | Source network identifier. For this Actor, the value is `Agoda.com`.                         |
| `keyword`     | The keyword associated with the search that produced the result.                             |
| `title`       | Title of the corresponding search result.                                                    |
| `description` | Search-result description from which the email was extracted.                                |
| `url`         | URL associated with the search result.                                                       |
| `email`       | Email address extracted from the result description and matching the selected domain suffix. |

The `description` field can provide useful context for understanding the result associated with an email address, while `keyword` records which search term led to the discovery.

#### Output Example

```json
{
  "network": "Agoda.com",
  "keyword": "Hotel Manager",
  "title": "Example Hotel - Agoda",
  "description": "Example Hotel contact information and public listing details. Contact: example@gmail.com",
  "url": "https://www.agoda.com/",
  "email": "example@gmail.com"
}
```

The example illustrates the output structure; actual titles, URLs, descriptions, and email addresses depend on the available public search results.

### Use Cases

The Agoda Email Scraper can support several research and data-collection workflows.

**Hospitality research:** Find publicly discoverable email contacts associated with hotel-related Agoda results using terms such as `Hotel Manager`, `Hotel Owner`, or `Resort Manager`.

**Market research:** Build datasets around specific hospitality-related search categories and geographic areas.

**Lead research:** Collect public email addresses associated with targeted search terms for further qualification and validation.

**Business intelligence:** Combine keyword, location, URL, and email information into structured research datasets.

**Dataset creation:** Generate a repeatable collection of Agoda-related contact records for downstream analysis.

**Academic or commercial research:** Gather structured public search-result information based on defined keyword groups.

### Competitive Advantages

The Actor provides several practical characteristics that may fit a structured Agoda-focused research workflow:

- It is specifically configured around Agoda-related search queries.
- It supports multiple keyword inputs.
- It supports multiple custom email-domain suffixes.
- Location can be added without changing the keyword list.
- Exclusion terms can reduce unwanted descriptions.
- Results are returned in a consistent Dataset structure.
- Processing progress is saved, supporting continuation after interruptions.

These characteristics describe the Actor's documented functionality rather than a claim that it is universally superior to other research methods.

### Pros and Cons

| **Pros**                                   | **Cons**                                                                              |
| ------------------------------------------ | ------------------------------------------------------------------------------------- |
| Supports multiple keywords in one run.     | Results depend on publicly discoverable search information.                           |
| Supports multiple email-domain suffixes.   | A requested target does not guarantee that the target number of emails will be found. |
| Optional geographic filtering.             | Narrow searches can produce sparse results.                                           |
| Exclusion words and phrases are available. | Some search-result pages may not provide extractable emails.                          |
| Structured Apify Dataset output.           | Important contact data should be validated before use.                                |
| Progress is persisted during processing.   | Larger or broader runs may require more processing time.                              |

### Comparison With Alternative Approaches

| **Capability**         | **Agoda Email Scraper**                                        | **Manual / Typical Alternative**              |
| ---------------------- | -------------------------------------------------------------- | --------------------------------------------- |
| Keyword automation     | Supports multiple configured keywords.                         | Often requires repeated manual searches.      |
| Email-domain targeting | Supports custom email suffixes.                                | Usually requires manual filtering.            |
| Location filtering     | Optional location input.                                       | User manually adds geographic terms.          |
| Structured output      | Records are stored in an Apify Dataset.                        | Often requires manual spreadsheet formatting. |
| Exclusion filtering    | Supports configurable excluded words and phrases.              | Usually performed manually.                   |
| Repeated collection    | Can process multiple keyword + domain combinations in one run. | Queries are commonly handled one at a time.   |

This comparison describes workflow differences rather than claiming that one approach is appropriate for every research requirement.

### Limitations

The Actor's output depends on the information available through the search results it processes. A configured target is a collection target, not a guarantee that the requested number of email addresses exists.

Relevant limitations include:

- Very narrow keywords may return few usable addresses.
- A location filter can reduce the number of matching results.
- Selecting a limited set of email domains can reduce coverage.
- An excluded word or phrase can cause an otherwise matching description to be skipped.
- Duplicate email addresses are not counted as new records.
- The Actor stops individual searches under several no-result or low-yield conditions rather than continuing indefinitely.
- Free users are limited to a maximum of 100 emails by the Actor's plan logic.

Actual availability varies according to what can be found in the relevant public search results.

### Best Practices

For more useful datasets, begin with a small test run and inspect the resulting records before expanding the configuration.

Use several closely related keywords instead of relying on one extremely broad term. For hospitality research, combinations such as `Hotel Manager`, `Hotel Owner`, and `Resort Manager` can represent different search intents.

Choose email domains that match your research objective. A broader set of commonly used domains can provide wider coverage than searching a single suffix.

Use the location field when geographic relevance matters, but remove or broaden the location when results become too sparse.

Keep exclusion terms focused. A word or phrase found in a result description causes that result to be skipped, so overly broad exclusions may remove useful records.

Finally, treat extracted contact information as research data and validate important addresses before relying on them for business communication.

### Troubleshooting

**Invalid Input:** Check that `keywords` is an array of strings and that other fields use the documented types. `maxEmails` must be between 1 and 10,000.

**Empty Results:** Try broader or more specific related keywords, review the location filter, and consider adding relevant email-domain suffixes.

**Partial Results:** A requested target may not be reached when available search results contain too few matching emails, when duplicates are encountered, or when the Actor reaches its stopping conditions.

**Missing Fields:** Search-result information can vary. A result may contain limited title, description, or URL information, and no email is added unless a matching address can be extracted.

**Unwanted Results:** Add specific words or phrases to `excludeWords` when descriptions containing those terms should be skipped.

**Interrupted Processing:** The Actor persists progress information during the run. A subsequent run can use the saved progress state rather than unnecessarily starting from the beginning of the processed keyword/domain matrix.

### Frequently Asked Questions

**What does the Agoda Email Scraper do?**
The Agoda Email Scraper searches Agoda-related public search results using configured keywords and extracts email addresses that match the selected domain suffixes.

**What inputs does the Agoda Email Scraper support?**
It supports `keywords`, optional `location`, `customDomains`, `maxEmails`, and `excludeWords`.

**Can I use multiple keywords?**
Yes. The `keywords` input accepts a list of search terms or queries, allowing several related searches within one run.

**Can I search a specific city or country?**
Yes. Enter a country, state, or city in the `location` field to narrow the search geographically.

**Can I search multiple email domains?**
Yes. `customDomains` accepts multiple suffixes, such as `@gmail.com`, `@yahoo.com`, and `@outlook.com`.

**How does the maximum email setting work?**
The configured `maxEmails` target applies independently to each keyword + email-domain combination. The actual number collected may be lower when suitable public results are unavailable.

**Is the Agoda Email Scraper suitable for lead research?**
It can support lead-research workflows by organizing publicly discoverable email addresses together with their associated keyword, description, URL, and title.

**What happens when an excluded word is found?**
When an excluded word or phrase appears in a result description, that entire description is skipped and no email is extracted from it.

**Can the Actor return duplicate emails?**
The Actor tracks previously seen email addresses and only registers an address as new once within the persisted collection state.

**Why did my run collect fewer emails than requested?**
A target is not a guarantee. Searches may contain few relevant results, duplicate emails, excluded descriptions, limited matching domains, or low-yield pages that cause processing to stop.

**What is the free-user limit?**
The Actor applies a maximum of 100 emails for free users. Paid users are not subject to that Actor-level 100-email restriction.

**Is the output structured for further processing?**
Yes. Results are pushed into an Apify Dataset with consistent fields for network, keyword, title, description, URL, and email.

### NLP Keywords

- Agoda email extraction
- Agoda contact discovery
- Agoda email addresses
- Agoda lead research
- Agoda data collection
- Agoda search results
- Agoda business contacts
- Agoda hospitality contacts
- hotel contact research
- hotel email leads
- hotel manager contacts
- resort contact discovery
- public email extraction
- keyword-based email search
- location-based contact search
- email domain filtering
- structured lead data
- hospitality data research
- Agoda dataset
- contact data automation

### Related Keywords

- Agoda email scraper
- Agoda email extractor
- Agoda contact scraper
- Agoda lead scraper
- Agoda business email finder
- Agoda hotel email finder
- Agoda public email finder
- hotel email scraper
- hotel contact scraper
- hotel lead generation data
- resort email scraper
- hospitality email extraction
- Agoda contact information scraper
- Agoda keyword scraper
- Agoda location-based scraper
- Agoda email address finder
- Agoda business contact extractor
- hospitality lead research
- Agoda profile email search
- Agoda contact data extraction

### Final Overview

The **Agoda Email Scraper** provides a focused way to automate email discovery from Agoda-related public search results. By combining targeted keywords, optional geographic filtering, custom email-domain suffixes, exclusion rules, and configurable result targets, users can build structured contact datasets around hospitality and other relevant research topics.

The Actor keeps the user workflow simple: define what you want to search for, configure optional filters, run the Actor, and review the resulting structured Dataset. Because the collected information depends on publicly discoverable search results, results should be reviewed and validated according to the needs of the intended workflow.

**Contact me:** <Alphascraper69@gmail.com>

# Actor input Schema

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

A list of keywords or queries to search for.

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

Optional country, state or city used to narrow the search. Leave it empty to search without a geographic filter.

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

List of custom email domains

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

How many addresses each search keyword + domain suffix combination may collect before the finder moves on to the next one. This is a per-combination target, not a run-wide total: with 3 keyword and 2 Domains and a limit of 20, the run works through all 6 combinations and aims for up to 20 addresses in each, so up to 120 overall. Lower values finish sooner and cost less; higher values dig deeper but never guarantee a fuller result, since the run can only find what is publicly listed.

## `excludeWords` (type: `array`):

Words or phrases you do not want to see.

## Actor input object example

```json
{
  "keywords": [
    "Hotel",
    "Manager"
  ],
  "location": "",
  "customDomains": [
    "@gmail.com"
  ],
  "maxEmails": 5,
  "excludeWords": []
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

# 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": [
        "Hotel",
        "Manager"
    ],
    "location": "",
    "customDomains": [
        "@gmail.com"
    ],
    "excludeWords": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("email_scraper/agoda-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": [
        "Hotel",
        "Manager",
    ],
    "location": "",
    "customDomains": ["@gmail.com"],
    "excludeWords": [],
}

# Run the Actor and wait for it to finish
run = client.actor("email_scraper/agoda-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": [
    "Hotel",
    "Manager"
  ],
  "location": "",
  "customDomains": [
    "@gmail.com"
  ],
  "excludeWords": []
}' |
apify call email_scraper/agoda-email-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,email_scraper/agoda-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/vgtK9HMaH5IF6SqXN/builds/7mVbhNwxreQfRrAhj/openapi.json
