# Scoot Email Scraper (`email_scraper/scoot-email-scraper`) Actor

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

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

### 🔍 Scoot Email Scraper

**Scoot Email Scraper** extracts publicly indexed email addresses associated with Scoot.co.uk search results using targeted keywords and configurable email-domain filters. You can search with multiple keywords, optionally narrow results by country, state, or city, exclude unwanted terms, and collect structured contact records in an Apify dataset.

The Actor is designed for lead research, business research, contact discovery, market analysis, and dataset creation where publicly indexed Scoot information is relevant. Each result can include the search keyword, result title, description snippet, URL, and extracted email address.

The workflow is simple: provide search keywords, optionally configure a location and email domains, set a collection target, and start the Actor. The resulting records are stored as structured dataset items for further analysis or downstream workflows.

### What Is a Scoot Email Scraper?

A Scoot Email Scraper is a data extraction tool focused on finding email addresses associated with publicly indexed Scoot.co.uk listings.

Instead of manually searching through individual listings, you can provide multiple search terms and let the Actor process those terms systematically. The search can also be refined using email-domain suffixes such as `@gmail.com`, `@yahoo.com`, `@outlook.com`, or a business-specific domain.

The Actor works with search-result information that is publicly indexed for Scoot.co.uk. Email addresses are extracted from available result descriptions, while the corresponding title and URL provide context for each discovered contact.

This makes the Actor useful when you need a repeatable way to collect structured Scoot contact data for research or lead-generation workflows.

### ⚙️ Key Features

| Feature                      | Description                                                   | User Benefit                                              |
| ---------------------------- | ------------------------------------------------------------- | --------------------------------------------------------- |
| Keyword-based search         | Search Scoot.co.uk using one or multiple keywords             | Target specific business categories or professional terms |
| Email-domain filtering       | Specify email suffixes such as `@gmail.com` or `@outlook.com` | Focus collection on relevant email domains                |
| Location filtering           | Optionally provide a country, state, or city                  | Narrow searches geographically                            |
| Per-combination email target | Set `maxEmails` for each keyword + domain combination         | Control collection depth for individual searches          |
| Exclude words                | Skip descriptions containing selected words or phrases        | Reduce unwanted or irrelevant records                     |
| Duplicate email handling     | Previously collected email addresses are not added again      | Keep results cleaner                                      |
| Structured dataset output    | Results are pushed into an Apify dataset                      | Simplify review and downstream processing                 |
| Multiple keyword support     | Process a list of search terms in one run                     | Build broader searches without separate runs              |

### 📊 What Data Can You Extract?

The Actor returns structured contact records containing five user-facing fields:

- **Keyword** — The keyword associated with the search that produced the result.
- **Title** — The title of the indexed Scoot result.
- **Description** — The available result description or snippet containing contextual information.
- **URL** — The URL associated with the search result.
- **Email** — The email address extracted from the result description that matches the configured domain filter.

The Actor's dataset view is organized around these fields, making it straightforward to inspect discovered Scoot email addresses together with their search context.

Because the Actor relies on publicly indexed search-result information, the amount and quality of available information can vary between searches.

### 🚀 Why Use This Actor?

Manual contact research can involve repeating similar searches across many keywords and locations. The Scoot Email Scraper provides a structured way to perform this type of research with configurable search terms and email domains.

It is particularly useful when your research requires several combinations of:

- Business or professional keywords
- Geographic terms
- Email-domain suffixes
- Exclusion terms

The Actor also separates the collection target by keyword and email-domain combination. For example, if you use three keywords and two domains with `maxEmails` set to `20`, each keyword-domain combination is given its own target of up to 20 newly collected emails, subject to available indexed results and duplicate handling.

### 💡 Benefits

- **Automated contact research** — Reduce repetitive manual searching for publicly indexed Scoot information.
- **Targeted discovery** — Use specific search terms rather than relying on a single broad query.
- **Flexible geographic targeting** — Add a country, state, or city when location is important.
- **Domain-specific research** — Search for selected email-domain suffixes.
- **Structured results** — Receive keyword, title, description, URL, and email in dataset records.
- **Configurable collection depth** — Adjust `maxEmails` according to the desired search depth.
- **Cleaner datasets** — Duplicate email addresses are tracked so the same address is not repeatedly added.
- **Research-friendly workflow** — Use the resulting dataset for review, analysis, or other permitted business research activities.

### 🔧 How to Use the Scoot Email Scraper

A typical workflow is:

1. Enter one or more relevant keywords in the **Keywords or Queries** field.
2. Add an optional country, state, or city in **Region / Location**.
3. Specify the email-domain suffixes you want to search for.
4. Set `maxEmails` to control the target for each keyword and domain combination.
5. Optionally add words or phrases under **Exclude words**.
6. Start the Actor.
7. Review the structured records in the Apify dataset.

For better targeting, use several specific related keywords instead of relying on one broad term. For example, instead of only searching for `Hotel`, you could test terms such as `Hotel Manager`, `Boutique Hotel`, `Hotel Supplier`, or another relevant business category.

### 📥 Input Fields

| Field           | Type             | Required | Default                 | Description                                                                             |
| --------------- | ---------------- | -------- | ----------------------- | --------------------------------------------------------------------------------------- |
| `keywords`      | Array of strings | Yes      | `["Hotel", "Business"]` | Keywords or queries used to search for relevant Scoot 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 looking for addresses.                            |
| `maxEmails`     | Integer          | No       | `5`                     | Target number of emails for each keyword + domain combination. Allowed range: 1–10,000. |
| `excludeWords`  | Array of strings | No       | `[]`                    | Words or phrases that cause matching result descriptions to be skipped.                 |

The `keywords` field is the only required input.

For `customDomains`, provide suffixes such as `@gmail.com`, `@yahoo.com`, `@outlook.com`, or other domains relevant to your research.

For `excludeWords`, matching is case-insensitive. A single word is matched as a whole word, while a phrase is matched as a phrase within the description.

### 📝 Input Example

```json
{
  "keywords": [
    "Hotel",
    "Hotel Manager",
    "Business",
    "Travel Agency"
  ],
  "location": "London",
  "customDomains": [
    "@gmail.com",
    "@outlook.com",
    "@yahoo.com"
  ],
  "maxEmails": 10,
  "excludeWords": [
    "crypto",
    "onlyfans"
  ]
}
```

### 📤 Output

Each discovered email is returned as a structured dataset item.

The Actor's public dataset view contains the following fields:

| Field         | Description                                                                      |
| ------------- | -------------------------------------------------------------------------------- |
| `keyword`     | Search keyword that produced the result.                                         |
| `title`       | Title of the associated Scoot search result.                                     |
| `description` | Available description or search-result snippet.                                  |
| `url`         | URL associated with the result.                                                  |
| `email`       | Email address extracted from the description and matching the configured domain. |

The dataset is intended to make Scoot contact data easier to inspect and organize. The `url` field is presented as a link in the Apify dataset view.

### 📄 Output Example

```json
{
  "keyword": "Hotel Manager",
  "title": "Example Hotel Management Services",
  "description": "Example Hotel Management Services - London. Contact us at example@gmail.com for enquiries and business information.",
  "url": "https://www.scoot.co.uk/example-hotel-management-services",
  "email": "example@gmail.com"
}
```

The values above are illustrative examples showing the output structure. Actual titles, descriptions, URLs, and email addresses depend on publicly indexed Scoot results available for the selected searches.

### 🎯 Use Cases

The Scoot Email Scraper can support several legitimate research and data-collection workflows:

- **Lead research** — Discover publicly indexed business contact information relevant to specific categories.
- **Market research** — Collect contact records across different business segments and locations.
- **Business intelligence** — Organize publicly available contact information for analysis.
- **Local business research** — Use location filters to focus on specific cities, states, or countries.
- **Industry research** — Compare contact discovery across multiple business-related keywords.
- **Dataset creation** — Build structured collections of keyword, title, description, URL, and email data.
- **Contact discovery** — Identify publicly indexed email addresses associated with relevant Scoot results.
- **Research automation** — Repeat a structured search process without manually reviewing every search query.

Use collected information responsibly and in accordance with applicable laws, regulations, website terms, and communication requirements.

### ✅ Advantages

The Actor provides several practical configuration options without requiring users to manually manage individual search combinations.

- Multiple keywords can be supplied in one run.
- Multiple email-domain suffixes can be configured.
- Searches can optionally be narrowed geographically.
- Exclusion terms can filter descriptions before email collection.
- Results are organized into a structured Apify dataset.
- The collection target can be adjusted from 1 to 10,000 per keyword-domain combination.
- Duplicate email addresses are tracked during collection.

### ⚠️ Limitations

There are several important considerations when using the Actor:

- Results depend on publicly indexed information available for Scoot.co.uk.
- An email address is only returned when it is available in the searchable result information and matches a configured domain suffix.
- A requested `maxEmails` value is a target, not a guarantee that the requested number will be found.
- Narrow keywords or restrictive locations may produce fewer results.
- Exclusion terms intentionally remove matching descriptions from consideration.
- Different keyword and domain combinations can produce overlapping information, although duplicate email addresses are tracked.
- Search availability and indexed content can change over time.

A large `maxEmails` value does not guarantee more results if the relevant public information is limited.

### ⚖️ Pros and Cons

| Pros                               | Cons                                            |
| ---------------------------------- | ----------------------------------------------- |
| Supports multiple search keywords  | Results depend on publicly indexed information  |
| Optional geographic targeting      | Narrow searches may return few results          |
| Supports custom email domains      | Requested collection targets are not guaranteed |
| Includes exclusion-word filtering  | Some results may not contain an email address   |
| Provides structured dataset fields | Source information can vary between listings    |
| Tracks duplicate email addresses   | Broader searches may require more processing    |

### 🔄 Comparison With Alternative Approaches

| Capability                      | Scoot Email Scraper | Manual Research                  |
| ------------------------------- | ------------------- | -------------------------------- |
| Keyword-based collection        | Supported           | Requires repeated searches       |
| Multiple keywords in one run    | Supported           | Usually handled separately       |
| Email-domain filtering          | Supported           | Manual filtering required        |
| Location filtering              | Supported           | Requires manual query refinement |
| Exclusion terms                 | Supported           | Usually handled manually         |
| Structured dataset output       | Supported           | Requires manual organization     |
| Duplicate email handling        | Supported           | Requires manual checking         |
| Collection target configuration | Supported           | Manually controlled              |

This comparison describes workflow differences rather than claiming that one approach is universally preferable.

### 🏆 Competitive Advantages

The practical strengths of this Actor come from its combination of targeted search controls and structured output.

Users can combine multiple keywords with multiple email-domain suffixes and optionally add geographic targeting. The exclusion filter adds another layer of control when certain words or phrases should not be included in the research.

The resulting dataset keeps the search context alongside each email, which can be useful when reviewing or validating collected contact information.

### 💡 Best Practices

For more focused research, consider the following practices:

- Start with a small `maxEmails` value to verify that your keywords produce useful results.
- Use several specific keywords rather than one extremely broad keyword.
- Add location only when geographic targeting is important.
- Use multiple relevant email domains when broader email coverage is needed.
- Add exclusion terms when recurring unwanted descriptions appear in your results.
- Review a sample of results before running a larger collection.
- Treat the requested email count as a target rather than a guaranteed result count.
- Validate important contact information before using it in business workflows.
- Keep search terms closely related to the businesses, professionals, or categories you are researching.

### 🛠️ Troubleshooting

**Invalid Input:**
Check that `keywords` is an array of strings. Verify that `maxEmails` is an integer between 1 and 10,000 and that other list-based fields are provided as arrays.

**Empty Results:**
Try broader or more specific related keywords. If a location is configured, temporarily remove it to determine whether the geographic filter is too restrictive. You can also test additional email domains.

**Fewer Emails Than Requested:**
`maxEmails` defines a collection target. If the indexed Scoot information contains fewer matching email addresses, the Actor may return fewer records.

**Missing Email Addresses:**
A search result may contain useful business information without exposing an email address in its available description. Such a result cannot produce an email field from that description.

**Too Many Irrelevant Results:**
Use more specific keywords, add a location, or configure `excludeWords` for recurring unwanted terms.

**Partial Results:**
Search availability and indexed content can vary. Review the input configuration and consider a broader set of relevant keywords or domains before retrying.

### ❓ Frequently Asked Questions

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

The Scoot Email Scraper searches publicly indexed Scoot.co.uk information using your keywords and configured email domains, then returns matching email addresses with their associated title, description, URL, and keyword.

**What keywords can I use?**

You can use business categories, professional terms, job-related terms, services, or other relevant search phrases. More specific keywords can help narrow the research.

**Can I use multiple keywords?**

Yes. The `keywords` input accepts an array of search terms, allowing several searches to be configured in one Actor run.

**Can I search a specific city or country?**

Yes. The optional `location` field accepts a country, state, or city. Leave it empty when you do not want a geographic filter.

**Can I search for specific email domains?**

Yes. `customDomains` accepts an array of email-domain suffixes such as `@gmail.com`, `@yahoo.com`, or `@outlook.com`.

**What does `maxEmails` control?**

It sets the target number of emails for each keyword + domain combination. The permitted value is from 1 to 10,000.

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

No. The configured value is a target. The actual number depends on the publicly indexed information available for the selected searches and matching domains.

**What does `excludeWords` do?**

If an exclusion word or phrase appears in a result description, that description is skipped and no email is extracted from it.

**What output does the Actor provide?**

Each dataset item can contain `keyword`, `title`, `description`, `url`, and `email`.

**Can duplicate email addresses appear repeatedly?**

The Actor tracks collected email addresses and avoids adding the same email address again during the collection process.

### 🔎 NLP Keywords

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

### 🔗 Related Keywords

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

### 📌 Final Overview

The **Scoot Email Scraper** provides a structured way to research publicly indexed Scoot.co.uk contact information using targeted keywords, optional geographic filters, configurable email domains, and exclusion terms.

Its output focuses on practical research fields: keyword, title, description, URL, and email. Multiple search combinations can be configured in a single run, while `maxEmails` provides control over the collection target for each keyword and domain combination.

For better results, start with specific and relevant keywords, test a small collection target, use appropriate email domains, and expand your search configuration when the available indexed information is limited.

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

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

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

```

## MCP server setup

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