# 📧 Email Pattern Finder API - Discover Company Email Formats (`dev00/email-pattern-finder`) Actor

Find company email formats like first.last@company.com from public data. Generate email addresses for any name.

- **URL**: https://apify.com/dev00/email-pattern-finder.md
- **Developed by:** [dev00](https://apify.com/dev00) (community)
- **Categories:** Lead generation
- **Stats:** 1 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$10.00 / 1,000 successful runs

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

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

## How to integrate an Actor?

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

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

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

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

# README

## 📧 Email Pattern Finder Actor

Discover the exact email naming format (e.g., first.last, f.last, firstlast) used by any company domain with confidence scores and example generated emails.

***

### 🚀 What it does

1. **Detects Corporate Email Formats**: Identifies the primary naming pattern (`first.last`, `f.last`, `firstlast`, `first_last`, etc.) used by employees at any domain.
2. **Filters Out Generic Role Addresses**: Excludes generic role and department emails (`info@`, `sales@`, `support@`, `jobs@`) to ensure accurate personal name pattern mining.
3. **Generates Ready-to-Use Examples**: Automatically produces a sample structured email address (e.g. `john.doe@company.com`).
4. **Provides Statistical Confidence Scores**: Calculates a normalized confidence ratio (e.g., `0.92`) based on verified employee email samples.

***

### 💼 What people use it for

- **Cold Email Prospecting**: Instantly construct valid direct-dial email addresses for prospect names across target accounts.
- **Lead Enrichment & Verification**: Append missing email addresses to lead lists using confirmed corporate naming rules.
- **Sales Pipeline Automation**: Automate personalized outbound email sequence generation inside CRMs (Salesforce, HubSpot).
- **Recruitment Outreach**: Contact candidates at specific companies using verified email formatting logic.

***

### 🧠 Decision Rule

Check if the domain's email pattern has a confidence score of `>= 0.70`. If matched, dynamically generate prospect email addresses from full names (`First Name` + `Last Name`) and route to active cold email cadences.

***

### ⚖️ What problem does this solve?

Most outbound teams waste time by:

- *"Manually guessing whether a prospect is j.doe@company.com or john.doe@company.com."*
- *"Experiencing high email bounce rates that damage sender domain reputation."*
- *"Paying hundreds of dollars per month for manual email lookup seats."*

Email Pattern Finder Actor solves this by delivering instant, algorithmic pattern detection and example generation via a single execution.

***

### ❓ Queries this actor answers

- *How do I find what email format a company uses?*
- *How can I construct an employee's email address from their name and company domain?*
- *What is an affordable alternative to Hunter.io and RocketReach email pattern tools?*
- *How do I check if a domain uses first.last@domain.com or flast@domain.com?*

***

### 📦 Canonical Usage

Given a target domain (e.g. `stripe.com` or `apple.com`), run the Actor to discover the corporate email naming pattern, confidence score, and sample formatted email.

***

### 🧭 Input Schema (fields you can use)

- **domain** *(string, required)* — The target domain name to scan (e.g., `stripe.com`).

***

### 📤 Output Schema (what you get)

Results are written to the run's **Dataset** in this clean structure containing strictly the email pattern discovery data:

```json
{
  "domain": "stripe.com",
  "pattern": "firstlast",
  "example": "johndoe@stripe.com",
  "confidence_score": 0.44
}
```

***

### 💳 Monetization & Cost

This Actor utilizes the **Pay-Per-Event (PPE)** pricing model on the Apify Store:

- **Base Pricing**: Only **$1.00 per 1,000 successful pattern lookups** (`$0.001` per event).
- **Pay as You Go**: If a pattern lookup fails, no billing charges occur.

***

### ⚠️ Failure Context & Error Handling

If an invalid domain is supplied or the target website is unindexed, the Actor handles it gracefully:

```json
{
  "success": false,
  "domain": "invalid-domain.test",
  "error": "Failed to discover email pattern for target domain."
}
```

***

### 🏷️ Keywords

`email pattern finder`, `corporate email format`, `email permutator`, `hunter.io alternative`, `snov.io alternative`, `b2b lead generation`, `email format lookup`, `cold outreach`, `sales intelligence`, `lead enrichment`.

# Actor input Schema

## `domain` (type: `string`):

Enter the company domain name to analyze (e.g. stripe.com).

## Actor input object example

```json
{
  "domain": "stripe.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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("dev00/email-pattern-finder").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("dev00/email-pattern-finder").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 '{}' |
apify call dev00/email-pattern-finder --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/M189GhfIAL6nKnu37/builds/fHKduK5heLRohCWGA/openapi.json
