# Clutch Email Scraper (`email_scraper/clutch-email-scraper`) Actor

Clutch Email Scraper extracts publicly indexed business emails from Clutch-related search results using targeted keywords, locations, and custom email domains. Build structured Clutch leads with titles, descriptions, URLs, and emails for B2B prospecting, business research, and lead generation.

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

### 🔍 Clutch Email Scraper – Overview

**Clutch Email Scraper** is an Apify Actor designed to extract publicly indexed email addresses associated with Clutch-related search results using targeted keywords, optional locations, and selected email domains.

The **Clutch Email Scraper** is useful for lead generation, B2B prospecting, agency research, business contact discovery, and finding publicly available contact emails related to companies and services represented on Clutch.

Instead of manually searching Clutch-related results one by one, the **Clutch Email Scraper** lets you provide multiple search terms and email domains. It then processes relevant search results and stores discovered contact information in an Apify Dataset.

The **Clutch Email Scraper** supports keyword targeting, location filtering, custom email-domain selection, exclusion words, duplicate-email prevention, and configurable result limits.

The **Clutch Email Scraper** is especially useful when you need structured lead data containing a keyword, result title, description, URL, and discovered email address.

> 💡 **Important:** The actor discovers publicly indexed email addresses from search-result descriptions associated with Clutch-related pages. Results depend on what is publicly indexed and available through search results, so the configured target is not a guarantee that every search will produce that many emails.

### ✨ Clutch Email Scraper – Key Features

| Feature                | Description                                               | Benefit                               |
| ---------------------- | --------------------------------------------------------- | ------------------------------------- |
| Keyword targeting      | Search using one or multiple keywords or queries          | Build focused prospecting searches    |
| Location targeting     | Optionally specify a country, state, or city              | Narrow research to geographic markets |
| Custom email domains   | Search for domains such as `@gmail.com` or other suffixes | Target specific email types           |
| Per-combination limits | Configure a maximum for each keyword + domain combination | Control search depth                  |
| Exclude words          | Skip snippets containing selected words or phrases        | Reduce unwanted results               |
| Duplicate prevention   | Previously collected emails are not collected again       | Cleaner lead datasets                 |
| Structured dataset     | Results are pushed into an Apify Dataset                  | Easy structured lead management       |
| Progress persistence   | Run progress can be resumed after interruption            | Helps preserve completed work         |

### 🎯 Why Use Clutch Email Scraper?

The **Clutch Email Scraper** turns targeted search terms into structured Clutch-related contact leads. This can reduce repetitive manual searching when researching agencies, software companies, development providers, marketing businesses, and other organizations represented in publicly indexed Clutch results.

The actor is suitable for sales teams, lead researchers, agencies, recruiters, business development professionals, and researchers who need contact discovery based on search intent.

A focused search such as `Web Development`, `Software Development`, or another specific service term can be combined with a location and email domain to create a more targeted prospecting workflow.

> 📌 **Why it helps:** Specific keywords generally provide more focused search intent than broad terms. For example, several related service terms can provide broader coverage than relying on one generic keyword.

### 📊 Clutch Email Scraper – Main Advantages

| Advantage            | Explanation                                                               |
| -------------------- | ------------------------------------------------------------------------- |
| Targeted discovery   | Search around specific keywords rather than processing unrelated results  |
| Geographic filtering | Add a city, state, or country when location-specific research is required |
| Domain flexibility   | Use the default Gmail domain or provide additional email suffixes         |
| Structured contacts  | Store useful result context together with the discovered email            |
| Duplicate control    | The same email is registered only once during the run                     |
| Flexible limits      | Configure `maxEmails` from 1 to 10,000                                    |
| Filtering            | Exclude snippets containing unwanted words or phrases                     |
| Incremental output   | Matching results are pushed to the dataset as they are found              |

### ⚙️ How Clutch Email Scraper Works

The **Clutch Email Scraper** accepts your keywords, optional location, email domains, maximum email target, and exclusion terms.

For each keyword and selected email domain, the actor performs a targeted search for Clutch-related pages containing the requested terms and domain suffix.

Search-result information is evaluated for publicly visible email addresses. When a matching email is found and the result does not contain an excluded word or phrase, the actor adds the lead to the dataset.

The **Clutch Email Scraper** processes multiple keyword and domain combinations independently. This means the configured `maxEmails` value applies to each keyword + domain combination rather than functioning as one shared target for the entire run.

Duplicate email addresses are skipped so the same email is not repeatedly registered in the run.

> 🔎 **Example:** With 3 keywords, 2 email domains, and `maxEmails` set to 20, the actor processes 6 keyword + domain combinations, with a target of up to 20 addresses for each combination.

### 📝 Input Parameters

| Field Name      | Type             | Required | Description                                                        |
| --------------- | ---------------- | -------- | ------------------------------------------------------------------ |
| `keywords`      | Array of strings | Yes      | Keywords or queries used for the search                            |
| `location`      | String           | No       | Optional country, state, or city used to narrow results            |
| `customDomains` | Array of strings | No       | Email-domain suffixes to search for                                |
| `maxEmails`     | Integer          | No       | Maximum target per keyword + domain combination, from 1 to 10,000  |
| `excludeWords`  | Array of strings | No       | Words or phrases that cause matching result snippets to be skipped |

The default keywords are `Web Development` and `Software Development`.

The default email domain is `@gmail.com`. You can provide additional domains when broader email coverage is appropriate.

The location field can remain empty when geographic filtering is not required.

### 💻 Clutch Email Scraper – Input Example

The following example uses only fields supported by the actor:

```json
{
  "keywords": [
    "Web Development",
    "Software Development",
    "Digital Marketing"
  ],
  "location": "New York",
  "customDomains": [
    "@gmail.com",
    "@yahoo.com",
    "@outlook.com"
  ],
  "maxEmails": 10,
  "excludeWords": [
    "crypto",
    "onlyfans"
  ]
}
```

This configuration creates multiple targeted searches. Each keyword and domain combination receives its own configured target.

### 📦 Output Data

The **Clutch Email Scraper** produces structured lead records in the `Clutch Emails Dataset`.

The default dataset view displays the main lead fields used for practical contact research.

| Field Name    | Description                                                     |
| ------------- | --------------------------------------------------------------- |
| `network`     | Identifies the network as `Clutch.com` in the actor output      |
| `keyword`     | Keyword associated with the search that produced the result     |
| `title`       | Title of the discovered search result                           |
| `description` | Search-result description containing the public contact context |
| `url`         | URL associated with the search result                           |
| `email`       | Publicly indexed email address matching the selected domain     |

### 🧾 Clutch Email Scraper – Output Example

A representative output record based on the actor's actual output structure looks like this:

```json
{
  "network": "Clutch.com",
  "keyword": "Web Development",
  "title": "Example Web Development Company",
  "description": "Example description with contact information...",
  "url": "https://clutch.co/...",
  "email": "example@gmail.com"
}
```

The exact title, description, URL, and email values depend on the publicly indexed search results returned for your selected search criteria.

### 🚀 Benefits for Lead Generation

The **Clutch Email Scraper** can support structured business prospecting where publicly indexed contact information is useful.

By combining service-related keywords with locations and email domains, users can create targeted research sets instead of manually reviewing large numbers of search results.

Potential benefits include:

- More organized business contact research
- Keyword-focused prospect discovery
- Location-based lead research
- Custom email-domain targeting
- Structured contact datasets
- Reduced duplicate email collection
- Flexible search-depth control
- Easier follow-up research using result URLs and descriptions

### 🏢 Clutch Email Scraper – Use Cases

The **Clutch Email Scraper** can be used for several research and prospecting scenarios supported by its keyword-based workflow.

- **Agency prospecting:** Find publicly indexed contacts related to web development, software development, marketing, design, or other services.
- **B2B lead generation:** Build structured business contact datasets around selected service keywords.
- **Local business research:** Add a city, state, or country to focus research geographically.
- **Sales prospecting:** Discover publicly indexed contact emails for further business research.
- **Business development:** Research organizations matching specific service or industry terms.
- **Market research:** Compare search-result coverage across multiple keywords and locations.
- **Agency research:** Identify companies appearing for relevant service categories.
- **Audience research:** Explore organizations connected with particular search intents.

### 🔎 How to Scrape Clutch Emails by Keyword

To use the **Clutch Email Scraper** for keyword-based email discovery, start with specific search terms rather than one extremely broad keyword.

For example, instead of only using `Development`, consider related searches such as `Web Development`, `Software Development`, or another specific service term relevant to your research.

You can add several keywords in one run. The actor processes the keyword list and works through the selected email-domain combinations.

### 🌎 Can Clutch Email Scraper Target a City or Country?

- **Yes.**

The **Clutch Email Scraper** includes an optional `location` field. You can enter a country, state, or city to narrow the search.

For example, `New York`, `London`, or another geographic term can be provided when location-specific prospecting is required.

Leaving the location blank allows the search to proceed without a geographic filter.

### 📧 Can Clutch Email Scraper Search Multiple Email Domains?

- **Yes.**

The **Clutch Email Scraper** supports multiple custom email-domain suffixes.

Examples include:

- `@gmail.com`
- `@yahoo.com`
- `@outlook.com`
- Other custom domain suffixes

Each keyword + domain combination is processed independently according to the configured target.

### 🚫 Can I Exclude Specific Words?

- **Yes.**

The **Clutch Email Scraper** supports `excludeWords`.

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

Single-word matching is case-insensitive and uses whole-word matching. Phrases are matched as case-insensitive text.

### 🔢 How Does maxEmails Work?

The **Clutch Email Scraper** allows `maxEmails` values from 1 through 10,000.

The setting is applied independently to each keyword + email-domain combination.

For example, 2 keywords × 3 domains × 10 emails creates six combinations, each with a target of up to 10 emails.

Actual results may be lower because the actor can only collect emails that are publicly indexed and available in relevant search results.

### 🛡️ Does Clutch Email Scraper Remove Duplicate Emails?

- **Yes.**

The actor keeps track of discovered email addresses and skips an email that has already been collected during the run.

This helps keep the resulting **Clutch Email Scraper** dataset cleaner and reduces repeated contact records.

### ⏱️ What Happens If Results Are Limited?

The **Clutch Email Scraper** does not guarantee that every configured target will be reached.

If relevant search results stop producing new matching emails, the actor can stop searching that combination.

Sparse results can occur when keywords are too narrow, a location is overly restrictive, or the selected email domain has limited publicly indexed coverage.

### 💡 Best Practices for Clutch Email Scraper

For stronger search coverage, use several specific and related keywords instead of relying on one broad term.

Consider combining service names, professional categories, and relevant geographic terms through the supported input fields.

Useful practices include:

- Start with focused keywords.
- Add related keyword variations.
- Use several relevant email domains when appropriate.
- Leave `location` empty when broad coverage is preferred.
- Use location targeting for regional research.
- Add exclusion words when certain result types should be skipped.
- Start with a moderate `maxEmails` value before increasing search depth.
- Increase the run timeout when using wider searches.

> ⚠️ **Important:** A larger `maxEmails` value does not guarantee more results. The actor depends on publicly indexed search-result data.

### ⚠️ Limitations and Important Notes

The **Clutch Email Scraper** works with publicly indexed search-result information. It cannot guarantee that a Clutch-related business has a publicly visible email address.

Search coverage can vary by keyword, location, email domain, and available indexed results.

The URL stored in the dataset represents the URL associated with the discovered search result. The description represents the available search-result description used for email discovery.

On the free tier, the actor applies a maximum of 100 emails per keyword + domain combination when a higher limit is requested. Paid users are not restricted by this specific free-tier ceiling.

The actor's configured default run timeout is 3600 seconds. Wider searches may require additional run time.

### ⚖️ Clutch Email Scraper vs Manual Research

| Capability                          | This Actor | Typical Alternative        |
| ----------------------------------- | ---------- | -------------------------- |
| Keyword-based search                | Supported  | Manual keyword searching   |
| Multiple keywords                   | Supported  | Repeated manual searches   |
| Location filtering                  | Supported  | Manually add locations     |
| Multiple email domains              | Supported  | Check domains individually |
| Exclusion filtering                 | Supported  | Manual result review       |
| Duplicate prevention                | Supported  | Manual spreadsheet cleanup |
| Structured dataset                  | Supported  | Manual copy and paste      |
| Configurable per-combination target | Supported  | Manual result counting     |

The **Clutch Email Scraper** is designed to organize this workflow into a repeatable Apify Actor run rather than requiring users to manually collect each result.

### 📋 Pros & Cons

| Pros                            | Cons                                           |
| ------------------------------- | ---------------------------------------------- |
| Multiple keyword support        | Results depend on publicly indexed information |
| Optional geographic targeting   | Not every result contains an email             |
| Multiple email-domain support   | Narrow searches may return fewer results       |
| Exclusion-word filtering        | Larger searches can take longer                |
| Duplicate prevention            | Configured targets are not guaranteed          |
| Structured Apify Dataset output | Search coverage can vary by query              |
| Per keyword + domain targeting  | Free-tier limit applies                        |

### 💰 Pricing and Result Limits

The actor configuration does not specify a fixed monetary price.

The `maxEmails` input accepts values from **1 to 10,000** per keyword + domain combination.

The actor's code applies a **100-email free-tier ceiling per keyword + domain combination** when a free-tier run requests a higher amount or leaves the limit unspecified.

> 💡 **Pricing note:** Actual Apify platform charges and plan pricing are separate from this actor's configured result limit. This README does not assign a monetary price that is not specified by the actor configuration.

### 🗂️ Data Structure and Dataset

The output is stored in the **Clutch Emails Dataset**.

The default `Scraped Leads` view displays:

- `keyword`
- `title`
- `description`
- `url`
- `email`

The actor output also includes `network`, which identifies the source as `Clutch.com`.

The dataset provides structured context around each discovered email instead of storing only an isolated email address.

### ❓ Frequently Asked Questions

### ❓ What is Clutch Email Scraper?

- **Clutch Email Scraper** is an Apify Actor that discovers publicly indexed email addresses associated with Clutch-related search results using configurable keywords, locations, and email domains.

### ❓ What data does Clutch Email Scraper extract?

- It extracts the keyword, result title, description, URL, email, and network value from matching results.

### ❓ Is a keyword required?

- **Yes.** The `keywords` field is required and accepts a list of search terms or queries.

### ❓ Can I search without a location?

- **Yes.** Leave `location` empty to search without a geographic filter.

### ❓ Can I use multiple keywords?

- **Yes.** Multiple keywords can be supplied in the `keywords` array.

### ❓ Can I use custom business email domains?

- **Yes.** The `customDomains` field accepts custom email-domain suffixes.

### ❓ Does Clutch Email Scraper guarantee the requested number of emails?

- **No.** Results depend on publicly indexed information and relevant search coverage.

### ❓ Does Clutch Email Scraper prevent duplicate emails?

- **Yes.** Previously collected email addresses are skipped during the run.

### ❓ Can I exclude unwanted result types?

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

### ❓ What is the maximum value for maxEmails?

- The configured maximum is **10,000 per keyword + domain combination**.

### ❓ What happens if I get fewer results than expected?

- Broaden the keywords, add related terms, expand or remove the location filter, or include additional email domains.

### ❓ Is the output structured?

- **Yes.** Matching records are pushed into the Clutch Emails Dataset with searchable lead fields.

### 🔑 NLP Keywords Used

- Clutch Email Scraper
- Clutch leads
- Clutch contacts
- Clutch business listings
- Clutch email extraction
- Clutch email addresses
- business contact emails
- public contact data
- email scraper
- email extraction
- lead generation
- B2B leads
- business prospecting
- sales prospecting
- contact discovery
- business research
- search results
- search snippets
- keyword targeting
- location targeting

### 🔗 Related Keywords Used

- Clutch agency leads
- Clutch company contacts
- Clutch business leads
- Clutch contact discovery
- publicly indexed emails
- local business contacts
- B2B contact research
- sales lead research
- business directory leads
- agency prospecting
- service provider leads
- digital agency contacts
- software company leads
- web development leads
- software development leads
- custom email domains
- email lead dataset
- structured lead data
- result filtering
- duplicate email prevention

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

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

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

```

## MCP server setup

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