# Email Finder & Verifier (`novashieldai/email-finder`) Actor

Find corporate email addresses by name and domain. Verify emails via SMTP, detect email patterns, and search domains for public emails.

- **URL**: https://apify.com/novashieldai/email-finder.md
- **Developed by:** [Ali haydar Karadaş](https://apify.com/novashieldai) (community)
- **Categories:** Lead generation, Developer tools
- **Stats:** 11 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $40.00 / 1,000 results

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 Finder & Verifier

Find professional email addresses by name and company domain, verify if an email is deliverable, discover all emails on a domain, or detect a company's email pattern. We built this to be the most accurate email finder on the platform, combining pattern generation with real SMTP verification so you know the address actually works.

### What does Email Finder & Verifier do?

This actor gives you four modes for different email intelligence needs.

**Find mode** takes a person's full name and company domain, then generates email candidates based on common patterns (first.last@, flast@, first\_last@, etc.). It tests each candidate against the mail server using SMTP verification and returns the best match with a confidence score. You also get MX records, catch-all detection, and the full list of candidates ranked by confidence.

**Verify mode** takes an email address you already have and checks whether it is valid and deliverable. It validates the format, checks DNS/MX records, and performs SMTP handshake verification. You get a clear yes/no on deliverability plus the raw SMTP response.

**Domain mode** searches a domain for all discoverable email addresses. It detects the email pattern the company uses, returns any emails it can find, and tells you whether the domain is catch-all (accepts all addresses).

**Pattern mode** focuses on detecting the email naming convention for a domain. It returns the most likely pattern (e.g., {first}.{last}@domain.com), a confidence score, and example emails that match.

### What data do you get?

- Best-match email address with confidence score (0-100)
- SMTP verification status (verified or not)
- Detected email pattern for the domain
- Sources where the email was found
- All email candidates with individual confidence scores
- Domain MX records
- Catch-all domain detection
- Email validity and deliverability check
- SMTP server response
- Pattern confidence score with example emails

### Who is this for?

- **Sales development reps** building prospect lists with verified email addresses
- **Recruiters** finding candidate contact information for outreach
- **PR professionals** locating journalist and editor emails at media outlets
- **Link builders** finding webmaster and editor contacts for outreach campaigns
- **B2B marketers** enriching lead lists with accurate, deliverable email addresses

### How to use it

1. Pick your mode: find, verify, domain, or pattern.
2. For find mode, enter the person's full name and company domain.
3. For verify mode, paste the email address you want to check.
4. For domain or pattern mode, enter the company domain.
5. Run it and get your results with verification status.

### Input parameters

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| mode | string | find | Operation mode: find, verify, domain, or pattern |
| name | string | - | Full name (e.g., "John Smith"). Required for find mode |
| domain | string | - | Company domain (e.g., "tesla.com"). Required for find, domain, and pattern modes |
| email | string | - | Email address to verify. Required for verify mode |

### Sample output

```json
{
  "name": "John Smith",
  "domain": "tesla.com",
  "email": "john.smith@tesla.com",
  "confidence": 92,
  "verified": true,
  "pattern": "{first}.{last}",
  "sources": ["pattern_match", "smtp_verified"],
  "candidates": [
    {
      "email": "john.smith@tesla.com",
      "pattern": "{first}.{last}",
      "confidence": 92,
      "verified": true,
      "source": "smtp_verified"
    },
    {
      "email": "jsmith@tesla.com",
      "pattern": "{f}{last}",
      "confidence": 65,
      "verified": false,
      "source": "pattern_match"
    }
  ],
  "mx_records": ["mx1.tesla.com", "mx2.tesla.com"],
  "is_catch_all": false
}
```

### How much does it cost?

This actor costs **$0.010 per result** (per email lookup or verification). 1,000 lookups cost $10.

Every Apify account includes $5 in free monthly credits, so you can run 500 email lookups for free to test it out.

### Common questions

**What does "catch-all" mean?**
A catch-all domain accepts emails sent to any address at that domain, whether or not the mailbox exists. When a domain is catch-all, SMTP verification cannot confirm if a specific address is real, so confidence scores will be lower.

**How accurate is the email finding?**
Accuracy depends on the company. For domains with standard naming patterns (first.last, flast, etc.) and no catch-all, accuracy is typically above 90%. Catch-all domains and unusual patterns reduce confidence.

**Can I do bulk lookups?**
Yes. Pass multiple name-domain pairs through the Apify API and process them programmatically. Each lookup counts as one result.

### Contact & Custom Solutions

Need a custom scraper, higher volume, or a specific integration? We're here to help.

If anything isn't working right or you need support, don't hesitate to reach out.

- Telegram: [t.me/novashield\_dev](https://t.me/novashield_dev)
- Email: novashield.dev@gmail.com

# Actor input Schema

## `mode` (type: `string`):

Mode

## `name` (type: `string`):

Full Name

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

Company Domain

## `email` (type: `string`):

Email to Verify

## Actor input object example

```json
{
  "mode": "find",
  "name": "John Smith",
  "domain": "tesla.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 = {
    "name": "John Smith",
    "domain": "tesla.com"
};

// Run the Actor and wait for it to finish
const run = await client.actor("novashieldai/email-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 = {
    "name": "John Smith",
    "domain": "tesla.com",
}

# Run the Actor and wait for it to finish
run = client.actor("novashieldai/email-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 '{
  "name": "John Smith",
  "domain": "tesla.com"
}' |
apify call novashieldai/email-finder --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/P0EiryCbDmLUREaJt/builds/4HWDx9wOLPO9iOlgP/openapi.json
