# Thebestof Email Scraper (`email_scraper/thebestof-email-scraper`) Actor

Thebestof Email Scraper extracts publicly indexed email addresses from Thebestof using targeted keywords, location filters, custom email domains, and exclusion terms. Build structured contact datasets with titles, descriptions, URLs, and emails for lead research and business data collection.

- **URL**: https://apify.com/email\_scraper/thebestof-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

### Thebestof Email Scraper

The **Thebestof Email Scraper** is an Apify Actor for discovering publicly indexed email addresses associated with Thebestof pages through targeted keyword searches. It lets you search by business type, profession, service, or other relevant terms and optionally narrow results by country, state, or city.

The Actor returns structured lead data including the search keyword, result title, description, URL, and extracted email address. You can also control which email domains are searched, set a maximum email target for each keyword-and-domain combination, and exclude results containing unwanted words or phrases.

It is designed for lead research, business research, contact discovery, market research, and structured dataset creation.

### What Is the Thebestof Email Scraper?

The **Thebestof Email Scraper** automates targeted email discovery from publicly indexed Thebestof search results.

Instead of manually searching for individual Thebestof listings and checking descriptions for contact information, you provide a list of keywords and optional filters. The Actor searches for relevant indexed pages and extracts email addresses matching your selected domain suffixes.

For example, you can search using specific terms such as:

- `Business Owner`
- `Restaurant`
- `Fitness Coach`
- `Marketing Agency`
- `Plumber`

You can combine these searches with a location such as `London`, `Manchester`, or another country, state, or city.

The resulting dataset contains the information associated with each discovered email, making the results easier to review and use in research workflows.

### Key Features

| Feature                      | Description                                                             | User Benefit                                        |
| ---------------------------- | ----------------------------------------------------------------------- | --------------------------------------------------- |
| Keyword-based search         | Search using one or multiple keywords or queries                        | Target specific business or professional categories |
| Location filtering           | Optionally specify a country, state, or city                            | Narrow research to a geographic area                |
| Custom email domains         | Search for selected email suffixes such as `@gmail.com` or `@yahoo.com` | Focus collection on relevant email types            |
| Per-combination email target | Set a target from 1 to 10,000 for each keyword + domain combination     | Control collection depth                            |
| Exclude words                | Skip descriptions containing specified words or phrases                 | Reduce unwanted results                             |
| Structured dataset           | Returns keyword, title, description, URL, and email                     | Makes results easier to review and analyze          |
| Duplicate avoidance          | Previously discovered email addresses are not added again               | Helps keep the resulting email collection unique    |
| Incremental dataset results  | Results are added as they are collected                                 | Allows the dataset to be populated progressively    |

### What Data Can You Extract?

The Actor produces structured contact records containing five user-facing fields.

- **Keyword** — The keyword or query associated with the search that produced the result.
- **Title** — The title of the indexed Thebestof result.
- **Description** — The publicly indexed description or search-result text associated with the result.
- **URL** — The URL associated with the search result.
- **Email** — The email address extracted from the available result description when it matches one of your selected domains.

The Actor focuses specifically on email discovery and the contextual information surrounding each discovered address. It does not document additional profile fields that are not part of its public dataset view.

### Why Use This Actor?

Manual contact research can involve repeating the same searches across many business categories, locations, and email domains. The Thebestof Email Scraper provides a structured way to perform this type of research through configurable keyword searches.

It is particularly useful when you need to:

- Search multiple business or professional categories.
- Narrow research to a particular location.
- Focus on specific email domain suffixes.
- Exclude descriptions containing unwanted terms.
- Create a structured dataset of discovered contacts.
- Review the source context associated with each email.
- Run repeatable research tasks with consistent input settings.

The Actor is intended for public, indexed information and should be used responsibly in accordance with applicable laws, regulations, and the terms that apply to the source and your intended use.

### Benefits

Using the Thebestof Email Scraper can simplify several repetitive parts of contact research.

- **Automation** — Reduce the need to manually repeat keyword-based searches.
- **Multiple keywords** — Search several categories in the same run.
- **Geographic targeting** — Add a location when regional research is important.
- **Domain targeting** — Select the email domains that matter to your workflow.
- **Filtering** — Exclude descriptions containing specified words or phrases.
- **Structured results** — Receive consistent fields for each discovered contact.
- **Research-ready data** — Keep the email together with its title, description, URL, and keyword.
- **Controlled collection** — Set an email target for each keyword-and-domain combination.

### How to Use the Thebestof Email Scraper

The basic workflow is straightforward:

1. Enter one or more keywords in the `keywords` field.
2. Optionally enter a country, state, or city in `location`.
3. Add the email domain suffixes you want to search in `customDomains`.
4. Set `maxEmails` according to the desired collection depth.
5. Optionally add unwanted words or phrases to `excludeWords`.
6. Start the Actor.
7. Review the resulting dataset containing keyword, title, description, URL, and email.

For better targeting, use several specific keywords instead of relying on one broad term. For example, a campaign researching fitness-related businesses could use `Fitness Coach`, `Fitness Trainer`, and `Online Fitness Coach` rather than only `Fitness`.

### Input

The Actor requires the `keywords` field. The other fields are optional and provide additional control over the search.

| Field           | Type             | Required | Default                            | Description                                                                   |
| --------------- | ---------------- | -------- | ---------------------------------- | ----------------------------------------------------------------------------- |
| `keywords`      | Array of strings | Yes      | `["Business Owner", "Restaurant"]` | Keywords or queries to search for                                             |
| `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                                              |
| `maxEmails`     | Integer          | No       | `5`                                | Maximum target for each keyword + domain combination; valid range is 1–10,000 |
| `excludeWords`  | Array of strings | No       | `[]`                               | Words or phrases that cause matching descriptions to be skipped               |

The `keywords` field accepts multiple search terms. The Actor processes keyword and email-domain combinations individually.

For example, three keywords and two email domains create six keyword-and-domain combinations. The configured `maxEmails` target applies to each combination.

### Input Example

```json
{
  "keywords": [
    "Restaurant",
    "Business Owner",
    "Fitness Coach"
  ],
  "location": "London",
  "customDomains": [
    "@gmail.com",
    "@yahoo.com",
    "@outlook.com"
  ],
  "maxEmails": 10,
  "excludeWords": [
    "crypto",
    "onlyfans"
  ]
}
```

#### Input Tips

- Use specific keywords when you want more focused research.
- Add related keyword variations to cover different ways businesses or professionals may be described.
- Leave `location` empty when you do not need geographic filtering.
- Add multiple domain suffixes when you want to investigate different email types.
- Keep `excludeWords` empty when you do not need content filtering.
- Start with a smaller `maxEmails` value when testing a new search configuration.

### Output

The Thebestof Email Scraper returns structured dataset records with the following fields:

| Field         | Description                                                  |
| ------------- | ------------------------------------------------------------ |
| `keyword`     | The keyword used for the search                              |
| `title`       | Title of the indexed result                                  |
| `description` | Description or search-result text associated with the result |
| `url`         | URL of the indexed result                                    |
| `email`       | Email address matching the configured domain suffix          |

The Actor also avoids adding the same discovered email address more than once during the run.

The `description` field is useful because it preserves contextual text associated with the discovered email. This can help users understand why a contact appeared in the dataset.

### Output Example

```json
{
  "keyword": "Restaurant",
  "title": "Example Restaurant - Thebestof",
  "description": "Example Restaurant provides dining services in London. Contact example.restaurant@gmail.com for enquiries.",
  "url": "https://www.thebestof.co.uk/local/london/example-restaurant",
  "email": "example.restaurant@gmail.com"
}
```

The example values above are illustrative. Actual titles, descriptions, URLs, and email addresses depend on the indexed results available for your selected searches.

### Use Cases

The Actor can support several research and data-collection workflows.

- **Business lead research** — Discover publicly indexed business contacts associated with specific categories.
- **Local business research** — Use location filtering to focus on a city, state, country, or other geographic area.
- **Market research** — Build datasets around selected business categories and professional terms.
- **Sales research** — Identify publicly listed email addresses for further manual qualification.
- **Agency research** — Search for businesses or professionals matching services and industry-specific keywords.
- **Competitive research** — Collect publicly indexed business information for market analysis.
- **Dataset creation** — Build structured collections containing email addresses and their source context.
- **Academic research** — Collect publicly indexed contact-related information for legitimate research purposes.
- **Business intelligence** — Combine keyword, location, source URL, and email information for analysis.

### Advantages

The Actor provides several practical configuration options without requiring users to manually repeat individual searches.

- Multiple keywords can be submitted in one run.
- Searches can be narrowed geographically.
- Email domain suffixes can be customized.
- Unwanted descriptions can be filtered with exclusion terms.
- Email collection can be controlled with `maxEmails`.
- Results are organized into a consistent dataset structure.
- Email addresses are de-duplicated during collection.

These capabilities make the Actor adaptable to different contact research requirements while keeping the user-facing workflow simple.

### Limitations

The Actor depends on publicly indexed search-result information, so the amount of available data can vary.

- An email address must be present in the indexed result information to be discovered.
- A search may return fewer emails than the configured target.
- A narrow keyword or location combination may produce sparse results.
- Selected email domains directly affect which addresses can be matched.
- Exclusion terms can intentionally remove otherwise relevant results.
- The Actor does not guarantee that a configured email target will be reached.
- Search availability and indexed content can change over time.
- The `maxEmails` field accepts values from 1 through 10,000.
- Free-tier runs are subject to a maximum of 100 collected emails by the Actor.

For broader coverage, consider using several closely related keywords or additional relevant email domains rather than relying on one broad search term.

### Pros and Cons

| Pros                           | Cons                                                    |
| ------------------------------ | ------------------------------------------------------- |
| Supports multiple keywords     | Results depend on publicly indexed information          |
| Optional geographic filtering  | Narrow searches may return few contacts                 |
| Custom email-domain targeting  | Only matching configured domains are collected          |
| Exclusion filtering            | Excluded descriptions are skipped entirely              |
| Structured dataset output      | A requested target does not guarantee that many results |
| Duplicate email avoidance      | Search availability can change                          |
| Configurable collection target | Free-tier collection is limited to 100 emails           |

### Comparison With Alternative Approaches

| Capability               | Thebestof Email Scraper                       | Manual / Typical Alternative         |
| ------------------------ | --------------------------------------------- | ------------------------------------ |
| Keyword-based research   | Supported                                     | Requires repeated manual searches    |
| Multiple keywords        | Supported                                     | Usually handled one search at a time |
| Location filtering       | Supported                                     | Manually applied to searches         |
| Email-domain targeting   | Supported                                     | Requires manual filtering            |
| Exclusion terms          | Supported                                     | Usually requires manual review       |
| Structured output        | Dataset fields for each result                | May require manual organization      |
| Duplicate email handling | Supported during collection                   | Often requires manual cleanup        |
| Collection target        | Configurable per keyword + domain combination | Usually manually controlled          |

This comparison describes workflow differences rather than a universal performance ranking. The appropriate approach depends on the volume, scope, and review requirements of your research.

### Best Practices

For more useful Thebestof email research, consider the following practices:

- Use specific and closely related keywords instead of only broad terms.
- Combine several professional, business, or service-related search phrases.
- Use `location` when geographic targeting is important.
- Leave `location` empty when broad coverage is preferred.
- Add relevant email domains to `customDomains`.
- Start with a small `maxEmails` value to validate the search strategy.
- Use `excludeWords` only for genuinely unwanted categories or phrases.
- Review the returned `description` and `url` fields when qualifying contacts.
- Validate important contact information before using it for business communication.
- If results are sparse, broaden the search terms, add relevant domains, or adjust the location filter.

### Troubleshooting

**Invalid input:** Make sure `keywords` is an array of strings and that numeric values such as `maxEmails` are within the documented range.

**Empty results:** Try more specific but related keywords, remove an overly restrictive location, or add additional relevant email domains.

**Few results:** A low result count does not necessarily indicate an error. The selected keyword, location, and domain combination may simply have limited publicly indexed email information.

**Excluded results:** Check `excludeWords` if expected records are missing. A matching exclusion word or phrase causes the entire description to be skipped.

**Missing email addresses:** The Actor only extracts addresses that are available in the indexed result information and match the configured domain suffixes.

**Results below the requested target:** `maxEmails` is a target/cap rather than a guarantee. If fewer qualifying public email addresses are available, the run may finish with fewer results.

**Long-running searches:** Wider searches can require more processing. For broad runs, allow sufficient run time and consider testing with fewer keywords or a smaller target first.

### Frequently Asked Questions

**What does the Thebestof Email Scraper do?**

It searches publicly indexed Thebestof results using your keywords and extracts matching email addresses together with the result title, description, URL, and keyword.

**What input is required?**

The only required input is `keywords`, which should contain one or more search terms.

**Can I use multiple keywords?**

Yes. The `keywords` field accepts an array of search terms, allowing you to research multiple business or professional categories in one run.

**Can I search by location?**

Yes. The optional `location` field accepts a country, state, or city and is used to narrow the search.

**Which email domains can I search?**

You can specify email suffixes in `customDomains`, such as `@gmail.com`, `@yahoo.com`, `@outlook.com`, or other relevant domains.

**How does `maxEmails` work?**

The configured value sets the collection target for each keyword-and-domain combination. It must be between 1 and 10,000.

**What happens when I use `excludeWords`?**

If a result description contains one of your excluded words or phrases, that description is skipped and no email is extracted from it.

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

No. `maxEmails` controls the collection target, but the available number of qualifying publicly indexed email addresses can be lower.

**What fields are returned?**

The public dataset contains `keyword`, `title`, `description`, `url`, and `email`.

**Does the Actor remove duplicate emails?**

Yes. The Actor tracks discovered email addresses and avoids adding the same address again during collection.

**Is the Thebestof Email Scraper suitable for automation?**

Yes. Its structured inputs and dataset output make it suitable for repeatable data-collection and research workflows within Apify.

**What should I do if the result count is low?**

Try related keywords, broaden or remove the location filter, or add relevant email domains. Also review your exclusion terms to make sure they are not filtering useful results.

### NLP Keywords

- Thebestof Email Scraper
- Thebestof email extraction
- Thebestof contact scraper
- Thebestof email finder
- Thebestof.co.uk email scraper
- Thebestof lead scraper
- Thebestof contact extraction
- Thebestof business leads
- Thebestof professional contacts
- Thebestof email addresses
- Thebestof lead generation
- Thebestof contact discovery
- Thebestof search scraper
- Thebestof data extraction
- Thebestof public contact data
- Thebestof keyword search
- Thebestof location search
- Thebestof business contact data
- Thebestof structured dataset
- Thebestof research data

### Related Keywords

- scrape emails from Thebestof
- extract emails from Thebestof.co.uk
- find Thebestof email addresses
- Thebestof contact data scraper
- Thebestof.co.uk contact finder
- Thebestof lead generation scraper
- Thebestof business email finder
- Thebestof professional email finder
- Thebestof keyword email extractor
- Thebestof email lead scraper
- Thebestof contact research tool
- Thebestof email data extraction
- Thebestof public email discovery
- Thebestof business contact extraction
- Thebestof location-based email search
- Thebestof email search by keyword
- Thebestof email search by domain
- Thebestof contact dataset
- Thebestof lead research tool
- Thebestof email collection

### Final Overview

The **Thebestof Email Scraper** provides a configurable way to research publicly indexed Thebestof contact information using keywords, optional locations, selected email domains, collection targets, and exclusion terms.

Its output is organized into a practical dataset containing the search keyword, result title, description, source URL, and discovered email address. This structure can support business research, lead research, market analysis, contact discovery, and other legitimate data-collection workflows.

For the most relevant results, start with focused keywords, test a small collection target, and refine your location, domain, and exclusion settings based on the returned dataset.

*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": [
    "Business Owner",
    "Restaurant"
  ],
  "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": [
        "Business Owner",
        "Restaurant"
    ],
    "location": "",
    "customDomains": [
        "@gmail.com"
    ],
    "excludeWords": []
};

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

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

```

## MCP server setup

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