# Airbnb Email Scraper (`email_scraper/airbnb-email-scraper`) Actor

Airbnb Email Scraper extracts publicly available Airbnb email addresses using keywords, locations, and custom email domains. Find relevant contacts, filter unwanted results, remove duplicates, and collect structured Airbnb lead data in an Apify Dataset.

- **URL**: https://apify.com/email\_scraper/airbnb-email-scraper.md
- **Developed by:** [Email Scraper](https://apify.com/email_scraper) (community)
- **Categories:**
- **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?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

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

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

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

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

# README

### Airbnb Email Scraper – Overview

**Airbnb Email Scraper** is an Apify Actor designed to find publicly listed email addresses associated with Airbnb search results. It uses your chosen keywords, optional location, and selected email-domain suffixes to discover relevant Airbnb pages and extract matching email addresses from publicly available search-result descriptions.

This Airbnb Email Scraper is useful for lead research, market research, outreach preparation, partnership discovery, hospitality research, and other workflows where publicly available Airbnb-related contact information is relevant.

You do not need to manually open hundreds of search results and inspect descriptions one by one. Enter your keywords, optionally specify a country or city, select the email domains you want to find, and let the Actor collect matching results into an Apify Dataset.

> 💡 **Key Features**
>
> - Search Airbnb-related results using multiple keywords or queries
> - Optionally narrow searches by country, state, or city
> - Target specific email domains such as `@gmail.com`, `@yahoo.com`, or custom domains
> - Set a maximum email target for each keyword + domain combination
> - Exclude results containing specific words or phrases
> - Automatically remove duplicate email addresses
> - Save results incrementally to the Apify Dataset
> - Resume progress after interruptions
> - Export structured lead data from the resulting Dataset

The Actor is particularly useful when a single broad search term does not provide enough relevant contacts. You can combine several related keywords to expand discovery while still keeping the search focused.

For example, instead of searching only for `Fitness`, you can use terms such as `Fitness Coach`, `Fitness Trainer`, `Fitness Influencer`, and `Online Fitness Coach`.

***

### Airbnb Email Scraper – Key Features

#### 🔎 Keyword-Based Airbnb Email Search

The main purpose of the Airbnb Email Scraper is keyword-driven contact discovery.

You can provide one keyword or a list of keywords. Each keyword is processed as part of the Actor's search workflow, allowing you to target different types of Airbnb-related pages and audiences.

Useful keyword examples include:

- Cabin
- Cottage
- Guest House
- Vacation Rental
- Property Manager
- Airbnb Host
- Villa
- Apartment
- Holiday Rental
- Boutique Accommodation

The quality of results depends heavily on the keywords you choose. More specific and relevant search terms can help narrow the discovery process toward the type of Airbnb-related information you need.

#### 📍 Location-Based Search

The optional `location` input allows you to narrow an Airbnb email search geographically.

You can enter a country, state, city, or another location phrase manually. If the field is empty, the Actor searches without adding a geographic filter.

Examples include:

- United States
- New York
- London
- Dubai
- Toronto
- Sydney
- Bangladesh

A location filter can be useful when your research focuses on a specific market, destination, or geographic segment.

#### 📧 Custom Email Domain Filtering

The Airbnb Email Scraper can search for email addresses matching the domains you specify.

For example:

- `@gmail.com`
- `@yahoo.com`
- `@outlook.com`
- `@hotmail.com`
- `@icloud.com`
- `@yourcompany.com`

You can provide multiple domain suffixes. The Actor processes the keyword and domain combinations separately, helping you target different types of publicly listed email addresses.

> 🎯 **Why Use This Actor**
>
> Airbnb-related contact research can become repetitive when performed manually. This Actor converts keyword-based discovery into structured email data, making it easier to review, filter, and reuse publicly available contact information.
>
> It is especially useful when you need repeatable searches across multiple keywords, locations, and email domains.

#### 🚫 Exclude Words and Phrases

The `excludeWords` input lets you skip search-result descriptions containing unwanted words or phrases.

For example, you may enter:

- crypto
- onlyfans
- unrelated
- spam
- unwanted phrase

If an exclusion term appears in a result description, that result is skipped and an email address is not collected from that description.

Single words are matched without regard to letter case and are treated as whole words. Phrases are matched as case-insensitive text.

This filtering option can help reduce irrelevant contacts and improve the usefulness of your Airbnb email search results.

#### ♻️ Duplicate Email Protection

The Actor keeps track of email addresses already collected during the run.

If the same email address appears in multiple search results, it is not added repeatedly. This helps keep the final Dataset cleaner and reduces duplicate contact records.

***

### Airbnb Email Scraper – What Data Can You Extract?

The Airbnb Email Scraper produces structured records containing the search context, result information, and discovered email address.

Each Dataset record contains:

| Field         | Description                                                    |
| ------------- | -------------------------------------------------------------- |
| `network`     | Identifies the source as `Airbnb.com`                          |
| `keyword`     | Keyword used to discover the result                            |
| `title`       | Title associated with the search result                        |
| `description` | Search-result description containing the extracted information |
| `url`         | URL associated with the search result                          |
| `email`       | Email address matching the selected domain criteria            |

The `email` field is the primary contact-data output. The `keyword`, `title`, `description`, and `url` fields provide useful context for understanding where the email was discovered.

> 📦 **Output / Data Fields**
>
> - **network** — `Airbnb.com`
> - **keyword** — the keyword used for the search
> - **title** — search-result title
> - **description** — search-result description
> - **url** — result URL
> - **email** — extracted email address
>
> The Actor only outputs fields supported by its actual data-collection workflow.

The results are pushed incrementally into the Apify Dataset rather than waiting until the entire run has finished. This makes the collected Dataset progressively available during execution.

***

### Airbnb Email Scraper – How to Use It

Using the Airbnb Email Scraper is straightforward.

#### 1. Enter Your Keywords

Add one or more search keywords to the `keywords` input.

For broader research, use multiple closely related terms instead of relying on one generic keyword.

For example:

```text
Cabin
Cottage
Guest House
Vacation Rental
Property Manager
```

#### 2. Add a Location If Needed

Enter a country, state, or city in `location`.

For a worldwide or unrestricted search, leave the location empty.

#### 3. Select Email Domains

Add the email suffixes you want the Actor to search for.

For example:

```text
@gmail.com
@yahoo.com
@outlook.com
```

You can also include a custom domain when that is relevant to your research.

#### 4. Set the Email Limit

Use `maxEmails` to define how many addresses each keyword + domain combination should attempt to collect.

The accepted range is **1 to 10,000**.

For example, with:

- 3 keywords
- 2 email domains
- `maxEmails = 20`

the Actor works through six keyword/domain combinations, with a target of up to 20 addresses per combination.

The actual number of results can be lower because the Actor can only collect matching email addresses that are publicly discoverable.

#### 5. Add Exclusion Terms

If certain words or phrases should be avoided, enter them in `excludeWords`.

If you do not need filtering, leave this input empty.

#### 6. Start the Actor

Start the Airbnb Email Scraper and monitor the resulting Dataset. Records are added incrementally as qualifying email addresses are discovered.

> ⚡ **Input Quick Guide**
>
> **Required:** `keywords`
>
> **Optional:** `location`, `customDomains`, `maxEmails`, `excludeWords`
>
> Use specific keywords for focused discovery and multiple related keywords when you need broader coverage.

***

### How to Scrape Airbnb Email Addresses Using Keywords

The most effective workflow is to combine specific search intent with multiple related keywords.

A generic term such as `property` may produce broad and less focused results. More descriptive terms can make the search more targeted.

For example, a vacation-rental research project might use:

```text
Airbnb Host
Vacation Rental
Holiday Rental
Villa Owner
Property Manager
Short Term Rental
Guest House
```

You can then combine those terms with relevant email domains.

A location can further narrow the search:

```text
New York
```

or:

```text
United States
```

This approach gives you control over the balance between search breadth and targeting.

> 💡 **Tips for Better Search Coverage**
>
> - Use several closely related keywords
> - Combine general and specific search terms
> - Add a location when geographic targeting matters
> - Test multiple email domains
> - Use `excludeWords` to remove irrelevant categories
> - Start with a moderate `maxEmails` value before increasing it
> - Review the resulting Dataset to identify which keywords produce useful contacts

Results are not guaranteed for every keyword or domain. Public availability, search indexing, and the relevance of the selected query all influence what can be discovered.

***

### Can You Search Multiple Airbnb Keywords?

**Yes.** The `keywords` input accepts a list of search terms.

This makes it possible to create a broader Airbnb email search without starting separate Actor runs for every individual keyword.

For example:

```json
{
  "keywords": [
    "Cabin",
    "Cottage",
    "Guest House",
    "Vacation Rental"
  ]
}
```

Each keyword participates in the Actor's search process.

Using multiple targeted terms is generally preferable when you want to explore several related categories.

***

### Can You Target a Specific Country or City?

**Yes.** The optional `location` field accepts a manually entered country, state, or city.

For example:

```json
{
  "keywords": ["Vacation Rental"],
  "location": "New York"
}
```

When a location is provided, it is incorporated into the search query. When it is blank, no geographic phrase is added.

This is useful for regional market research, destination research, local hospitality analysis, and geographically focused lead discovery.

***

### Can You Search Gmail, Yahoo, Outlook, and Other Domains?

**Yes.** The `customDomains` input lets you specify the email suffixes you want to target.

Example:

```json
{
  "customDomains": [
    "@gmail.com",
    "@yahoo.com",
    "@outlook.com"
  ]
}
```

The Actor searches for email addresses matching the selected domain patterns.

Custom domains are also supported, so you can include domains beyond common consumer email providers.

***

### Airbnb Email Scraper – Use Cases

#### 🏠 Hospitality Lead Research

Hospitality professionals can use the Airbnb Email Scraper to discover publicly available contact information associated with relevant Airbnb search results.

Keywords can be focused around accommodation types, hosts, rentals, or property-management categories.

#### 📊 Market Research

Researchers can use keyword and location combinations to investigate different Airbnb-related markets.

For example, searches can be segmented by city, country, accommodation type, or business category.

#### 🤝 Partnership Discovery

Businesses looking for potential hospitality partnerships can use relevant search terms to identify publicly listed contact information and review the associated result context.

#### 📣 Outreach List Preparation

Marketing and sales teams can use the Actor to create structured research datasets containing email addresses, titles, descriptions, URLs, and keyword context.

The resulting Dataset can then be reviewed before being used in any separate outreach workflow.

#### 🧭 Destination Research

Travel and hospitality researchers can combine locations with accommodation-related keywords to investigate particular destinations.

#### 🧩 Multi-Category Contact Discovery

Because multiple keywords and domains are supported, the Actor can be used for category-based research where several related search terms need to be evaluated together.

***

### Input

The Airbnb Email Scraper accepts the following inputs:

| Input           | Type    | Required | Description                                                            |
| --------------- | ------- | -------: | ---------------------------------------------------------------------- |
| `keywords`      | Array   |      Yes | Keywords or search queries                                             |
| `location`      | String  |       No | Country, state, or city used to narrow searches                        |
| `customDomains` | Array   |       No | Email domain suffixes to target                                        |
| `maxEmails`     | Integer |       No | Maximum target per keyword + domain combination                        |
| `excludeWords`  | Array   |       No | Words or phrases that cause matching result descriptions to be skipped |

#### `keywords`

A list of search terms used to discover relevant Airbnb results.

The default configuration includes:

```text
Cabin
Cottage
Guest House
```

#### `location`

Optional geographic targeting field.

The default is empty, meaning no location filter is applied.

#### `customDomains`

Email-domain suffix list.

The default configuration targets:

```text
@gmail.com
```

#### `maxEmails`

Controls the target number of emails for each keyword + domain combination.

The configured range is **1–10,000**, with a default of **10**.

#### `excludeWords`

Optional list of words or phrases used to filter out unwanted result descriptions.

The default is an empty list.

***

### Output

The Actor stores results in an Apify Dataset named for Airbnb email results.

The primary Dataset view presents:

- Keyword
- Title
- Description
- URL
- Email

The `network` field is also included in the underlying output and identifies the source as Airbnb.com.

> 📋 **Structured Output**
>
> The output is structured as individual Dataset records, making the collected information easier to inspect and process.
>
> Each record connects the discovered email address with its keyword and search-result context rather than returning an email address alone.

Apify Dataset results can be reviewed through the platform and used with the export capabilities available for Dataset data.

***

### Pricing

The provided Actor configuration does **not specify a monetary price**, so this README does not claim a specific dollar amount or per-result rate.

The Actor's code does define different result-limit behavior for free and paid users.

> 💰 **Pricing / Limits**
>
> - Free users are limited to a maximum of **100 emails** by the Actor.
> - Paid users do not have this code-level 100-email restriction.
> - `maxEmails` can be configured from **1 to 10,000**.
> - A higher requested target does not guarantee more results.
> - Actual results depend on publicly discoverable matching information.

Actor execution and any platform-level usage charges should be checked in the current Apify pricing and Actor configuration rather than assumed from the README.

***

### Tips and Best Practices

#### Use Specific Keywords

Specific phrases generally provide more focused search intent than very broad terms.

Instead of only:

```text
Fitness
```

consider related terms such as:

```text
Fitness Coach
Fitness Trainer
Fitness Influencer
Online Fitness Coach
```

The same principle applies to Airbnb research.

#### Combine Multiple Domains

If you only target one email provider, you may miss publicly listed addresses using other domains.

Consider testing several relevant suffixes when broader coverage is important.

#### Use Location Strategically

A location can make a search more focused, but an overly narrow location may reduce the number of available results.

If results are sparse, try a broader location or remove the location filter.

#### Start With a Moderate Limit

Start with a reasonable `maxEmails` value to evaluate result quality.

If the results are useful, increase the target or expand your keywords and domains.

#### Use Exclusion Filters Carefully

Exclusion terms can improve relevance, but overly broad terms may remove useful results.

Only add words or phrases that genuinely represent categories you do not want.

> ⚠️ **Important Notes**
>
> - The Actor collects email addresses that are publicly discoverable through its search workflow.
> - It does not guarantee that every Airbnb page contains an email address.
> - Search engines may return different results depending on query coverage and indexing.
> - Requested email limits are targets, not guarantees.
> - Results can be lower than the requested limit when matching public information is unavailable.
> - Very broad searches may take longer to complete.
> - Review collected contact information and comply with applicable privacy, marketing, and data-protection requirements before using it.

***

### Frequently Asked Questions

#### What is Airbnb Email Scraper?

**Airbnb Email Scraper** is an Apify Actor that searches for Airbnb-related results using keywords and extracts publicly discoverable email addresses matching selected email domains.

#### How does Airbnb Email Scraper find email addresses?

It performs keyword-based searches for Airbnb-related results and checks the available result descriptions for email addresses matching the configured domain suffixes.

#### Can I use multiple keywords with Airbnb Email Scraper?

- **Yes.** The `keywords` input accepts multiple search terms, allowing broader and more targeted Airbnb email discovery.

#### Can I search Airbnb emails by city?

- **Yes.** Enter a city, state, or country in the optional `location` field to narrow the search.

#### Can I search Airbnb emails by country?

- **Yes.** A country can be entered manually in `location`.

#### Can I search for Gmail addresses only?

- **Yes.** Set `customDomains` to `@gmail.com` or leave the default configuration unchanged.

#### Can I search Yahoo and Outlook emails?

- **Yes.** Add `@yahoo.com`, `@outlook.com`, or other supported domain suffixes to `customDomains`.

#### Can I use a custom email domain?

- **Yes.** The `customDomains` input accepts custom email-domain suffixes in addition to common providers.

#### Can I exclude unwanted Airbnb results?

- **Yes.** Use `excludeWords` to skip result descriptions containing specified words or phrases.

#### Is the exclude-word filter case-sensitive?

- **No.** Matching ignores letter case.

#### Can I exclude phrases instead of single words?

- **Yes.** Both individual words and multi-word phrases can be supplied.

#### Does Airbnb Email Scraper remove duplicate emails?

- **Yes.** The Actor tracks collected email addresses and avoids adding the same email address repeatedly.

#### What data does Airbnb Email Scraper return?

- The output includes `network`, `keyword`, `title`, `description`, `url`, and `email`.

#### Does the Actor guarantee the requested number of emails?

- **No.** `maxEmails` defines a target or cap for collection. The Actor cannot guarantee addresses that are not publicly discoverable in matching results.

#### What is the maximum `maxEmails` value?

- **10,000** is the configured maximum value for the `maxEmails` input.

#### How many emails can a free user collect?

- The Actor applies a maximum of **100 emails** for free users.

#### Will adding more keywords improve results?

- **It can.** Additional relevant keywords increase search coverage, although they do not guarantee additional unique email addresses.

#### What should I do if the Airbnb email results are too low?

Try adding more relevant keywords, testing additional email domains, broadening the location, or removing an overly restrictive exclusion term.

#### Why did my Actor return fewer emails than `maxEmails`?

The requested target is not a guarantee. There may be too few matching search results, too few publicly listed email addresses, duplicate addresses, or filtered descriptions.

#### Is Airbnb Email Scraper suitable for lead research?

- **Yes.** Its structured email, keyword, title, description, and URL output can be useful for lead research and contact-list preparation based on publicly discoverable information.

#### Can I use Airbnb Email Scraper for market research?

- **Yes.** Keywords and optional geographic targeting make it suitable for researching Airbnb-related categories and markets.

#### Does the Actor return only email addresses?

- **No.** It also returns contextual fields including the keyword, title, description, URL, and source network.

#### Can I export the collected Airbnb email data?

- **Yes.** Results are stored in an Apify Dataset, which provides structured Dataset data that can be reviewed and exported using the available Apify platform options.

***

### Support

If you need help configuring keywords, email domains, locations, exclusion terms, or other Actor behavior, review your input settings first and test with a small `maxEmails` value.

For bespoke modifications or custom scraper development, the Actor configuration provides the developer contact:

**<alphascraper69@gmail.com>**

When requesting a customization, include the desired search behavior, target fields, filtering requirements, and an example of the expected output. This makes it easier to understand the required workflow and determine whether the existing Airbnb Email Scraper can be adapted to your needs.

# 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": [
    "Cabin",
    "Cottage",
    "Guest House"
  ],
  "location": "",
  "customDomains": [
    "@gmail.com"
  ],
  "maxEmails": 10,
  "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": [
        "Cabin",
        "Cottage",
        "Guest House"
    ],
    "location": "",
    "customDomains": [
        "@gmail.com"
    ],
    "excludeWords": []
};

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

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

```

## MCP server setup

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