# Email Intelligence MCP — AI Agent Email Lookup (`red.cars/email-intelligence-mcp`) Actor

Find, verify, and enrich business emails. One tool call for AI agent lead qualification and contact data.

- **URL**: https://apify.com/red.cars/email-intelligence-mcp.md
- **Developed by:** [AutomateLab](https://apify.com/red.cars) (community)
- **Categories:** AI
- **Stats:** 0 total users, 0 monthly users, 0.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-usage

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

## Email Intelligence MCP Server

> Find, verify, and pattern-detect business email addresses for AI agents.

**[View on Apify](https://apify.com/red-cars-io/email-intelligence-mcp)** | **[MCP Endpoint](https://email-intelligence-mcp.apify.actor/mcp)**

---

### What It Does

Give AI agents the ability to find business email addresses, verify deliverability, and detect company email patterns — with one tool call.

- **Find emails** from name + domain via Hunter.io → Clearbit → pattern waterfall
- **Verify deliverability** via MX lookup + SMTP connectivity check
- **Detect company patterns** — infer email format from domain + WHOIS

---

### Quick Start

Add to your AI agent:

```json
{
  "mcpServers": {
    "email-intelligence-mcp": {
      "url": "https://email-intelligence-mcp.apify.actor/mcp"
    }
  }
}
````

Or with authentication:

```json
{
  "mcpServers": {
    "email-intelligence-mcp": {
      "url": "https://email-intelligence-mcp.apify.actor/mcp?token=YOUR_APIFY_TOKEN"
    }
  }
}
```

***

### Tools

| Tool | Price | Description |
|------|-------|-------------|
| `find_email` | $0.05 | Find email from name + domain |
| `verify_email` | $0.02 | Verify deliverability via MX + SMTP |
| `detect_pattern` | $0.02 | Detect company email format from domain |

#### find\_email

**When to call:** Persona: Sales recruiter, B2B lead generator, or AI agent doing outreach. Scenario: Finding a decision-maker's email at a company before cold outreach.
**Example AI prompt:** "Find the email address for Sarah Chen at Stripe, if it exists."

#### verify\_email

**When to call:** Persona: Email marketer or AI agent doing outreach. Scenario: Verifying a list of emails before sending a campaign — checking MX records and SMTP connectivity.
**Example AI prompt:** "Verify these emails before we send the campaign: john@company.com, jane@company.com, invalid-email@not-a-domain.xyz"

#### detect\_pattern

**When to call:** Persona: Sales intelligence analyst or AI agent building lead lists. Scenario: Detecting the company email format (first.last@domain vs firstinitial.last@domain) before guessing multiple emails to verify.
**Example AI prompt:** "What is the email format at Shopify? Are they using first.last or first.last@shopify.com?"

***

### Example Calls

#### Find Email

```
find_email(full_name="Sarah Chen", domain="stripe.com")
```

Returns:

```json
{
  "email": "sarah.chen@stripe.com",
  "score": 96,
  "confidence": "verified",
  "method": "hunter.io",
  "first_name": "sarah",
  "last_name": "chen"
}
```

#### Verify Email

```
verify_email(email="sarah.chen@stripe.com")
```

Returns:

```json
{
  "valid": true,
  "reason": "MX + SMTP connectivity confirmed",
  "mx_host": "aspmx.l.google.com",
  "smtp_port": 587,
  "domain": "stripe.com",
  "deliverable": "likely"
}
```

#### Detect Pattern

```
detect_pattern(domain="shopify.com")
```

Returns:

```json
{
  "domain": "shopify.com",
  "company_name": "Shopify Inc.",
  "mx_confirmed": true,
  "patterns": [
    { "pattern": "{first}.{last}@shopify.com", "confidence": "high" },
    { "pattern": "{first}{last}@shopify.com", "confidence": "medium" }
  ],
  "most_likely": { "pattern": "{first}.{last}@shopify.com", "confidence": "high" }
}
```

***

### How It Works

#### find\_email — Waterfall Search

```
Step 1: Hunter.io API
  → Returns email + confidence score if found
  → Stop if found, otherwise continue

Step 2: Clearbit API
  → Returns email if person found in database
  → Stop if found, otherwise continue

Step 3: Pattern Inference
  → Check MX records for domain
  → Return first.last@domain as most likely
  → List all tried patterns in response
```

#### verify\_email — MX + SMTP

```
Step 1: Parse email, extract domain
Step 2: DNS MX lookup — does domain accept email?
Step 3: TCP socket connect to MX server (ports 25, 587, 465)
Step 4: Return deliverability verdict
```

#### detect\_pattern — Domain Analysis

```
Step 1: WHOIS lookup for company name + registrar
Step 2: Hunter.io domain search for real email samples
Step 3: Infer common B2B patterns from domain
Step 4: MX verification to confirm domain accepts email
Step 5: Return ranked patterns with confidence scores
```

***

### Data Sources

| Source | What's Used For | API |
|--------|----------------|-----|
| Hunter.io | Email finder + domain search | Free tier (25/month) |
| Clearbit | Person/company data | Free tier (50/month) |
| DNS/MX | MX record lookup | Built-in Node.js |
| WHOIS | Company name + registrar | Free (whoissxmlapi.com) |

***

### Use Cases

#### Outbound Sales

*"Find the VP of Sales at Notion and verify their email before we call"*
→ AI calls `find_email` → Returns `first.last@notion.com`
→ AI calls `verify_email` → Confirms deliverable
→ AI calls `detect_pattern` → Confirms pattern for similar contacts

#### Email List Cleaning

*"We have 500 emails to validate before our cold campaign"*
→ AI calls `verify_email` in batch → Returns valid/invalid/unknown per email
→ Filters out bounces before send

#### Lead List Building

*"Build a list of emails for the engineering team at Figma"*
→ AI calls `detect_pattern` → Gets `first.last@figma.com` format
→ AI calls `find_email` for each known name with that pattern

#### Recruitment / Talent

*"Find the engineering manager at Vercel and their email"*
→ AI calls `find_email` → Returns work email

***

### How It Compares to Apollo.io

| Aspect | Our MCP | Apollo.io |
|--------|---------|-----------|
| Price | $0.02-$0.05/call | $49/month (starter) |
| API access | MCP (AI-native) | REST |
| Setup time | 5 minutes | Hours (API key, plan selection) |
| Email finding | Hunter + Clearbit + patterns | Apollo DB |
| Verification | MX + SMTP | MX only |
| Pattern detection | Yes | No |
| Free tier | Yes — pay per call | No — subscription required |
| No API key needed | Yes (partial) | No |

**Why choose our MCP:**

- MCP protocol is designed for AI agent integration — natural language tool calls instead of REST
- Pay per use — no subscription required
- Built-in pattern detection for guess-and-verify workflows
- MX + SMTP verification (not just MX lookup)

**Apollo.io alternative:** https://www.apollo.io/

***

### Pricing

| Tool | Price |
|------|-------|
| `find_email` | $0.05/call |
| `verify_email` | $0.02/call |
| `detect_pattern` | $0.02/call |

No subscription required. Pay per use via Apify PPE.

***

### Tips

1. **Verify before outreach** — always call `verify_email` before sending cold emails
2. **Use pattern detection** — if you know someone's name but can't find their exact email, detect the pattern and construct it
3. **MX-first check** — `verify_email` is fast and cheap, use it to filter invalid domains before expensive `find_email` calls
4. **Combine tools** — `detect_pattern` → guess multiple → `verify_email` in batch

***

### Connect to AI Agents

#### Claude Desktop

```json
{
  "mcpServers": {
    "email-intelligence-mcp": {
      "url": "https://email-intelligence-mcp.apify.actor/mcp"
    }
  }
}
```

#### Cursor / Windsurf

Add the same JSON to your AI client config.

#### cURL Example

```bash
curl -X POST "https://email-intelligence-mcp.apify.actor/mcp" \
  -H "Content-Type: application/json" \
  -d '{"tool": "find_email", "params": {"full_name": "John Smith", "domain": "example.com"}}'
```

***

### Output Schema

All tools return JSON. See individual tool documentation for specific field schemas.

***

### API Status

- **Health**: Running
- **Uptime**: 99.9%
- **Rate Limits**: None enforced client-side (respect free tier limits for Hunter.io/Clearbit)
- **Support**: Open issue on GitHub

***

### SEO Keywords

email finder API, find email from name, email verification API, MX lookup, SMTP verification, company email pattern, detect email format, Hunter.io alternative, Clearbit alternative, AI agent email tools, MCP email server, B2B email discovery, outreach automation, sales email lookup, lead generation, no API key needed, AI agent, MCP server, email intelligence automation

# Actor input Schema

## `tool` (type: `string`):

MCP tool to call

## `params` (type: `object`):

Tool parameters as JSON object

## Actor input object example

```json
{
  "tool": "find_email",
  "params": {
    "full_name": "John Smith",
    "domain": "example.com"
  }
}
```

# 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 = {
    "tool": "find_email",
    "params": {
        "full_name": "John Smith",
        "domain": "example.com"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("red.cars/email-intelligence-mcp").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 = {
    "tool": "find_email",
    "params": {
        "full_name": "John Smith",
        "domain": "example.com",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("red.cars/email-intelligence-mcp").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "tool": "find_email",
  "params": {
    "full_name": "John Smith",
    "domain": "example.com"
  }
}' |
apify call red.cars/email-intelligence-mcp --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=red.cars/email-intelligence-mcp",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Email Intelligence MCP — AI Agent Email Lookup",
        "description": "Find, verify, and enrich business emails. One tool call for AI agent lead qualification and contact data.",
        "version": "1.0",
        "x-build-id": "qJ5t4IXzo6TvmVEQR"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/red.cars~email-intelligence-mcp/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-red.cars-email-intelligence-mcp",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/red.cars~email-intelligence-mcp/runs": {
            "post": {
                "operationId": "runs-sync-red.cars-email-intelligence-mcp",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/red.cars~email-intelligence-mcp/run-sync": {
            "post": {
                "operationId": "run-sync-red.cars-email-intelligence-mcp",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "tool": {
                        "title": "Tool Name",
                        "enum": [
                            "find_email",
                            "verify_email",
                            "detect_pattern"
                        ],
                        "type": "string",
                        "description": "MCP tool to call"
                    },
                    "params": {
                        "title": "Parameters (JSON)",
                        "type": "object",
                        "description": "Tool parameters as JSON object"
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
