# Email Address Validator / Verifier (100% success) (`overpowered/verify-email`) Actor

Fast & Accurate Email Address Validator, Checker, Verifier. Only $9 for 1000 validations.

- **URL**: https://apify.com/overpowered/verify-email.md
- **Developed by:** [blg](https://apify.com/overpowered) (community)
- **Categories:** Lead generation
- **Stats:** 2,514 total users, 8 monthly users, 72.1% runs succeeded, 31 bookmarks
- **User rating**: 4.63 out of 5 stars

## Pricing

$9.00 / 1,000 emails

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/actors/running/actors-in-store.md#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

## Emails Validator

A powerful tool for validating and assessing the quality of email addresses.

***

### Why Use Emails Validator?

- **Reduce Bounce Rates:** Identify undeliverable emails before sending campaigns.
- **Improve Data Quality:** Clean your email lists by removing invalid addresses.
- **Enhance Security:** Detect disposable email addresses that might be used for fraud.
- **Optimize Marketing:** Focus on high-quality email addresses for better engagement.
- **Save Resources:** Avoid wasting resources on emails that will never reach their destination.

***

### Features

- **Comprehensive Validation:** Checks email format, domain MX records, and SMTP validity.
- **Quality Scoring:** Assigns a 0-100 quality score to each email address.
- **Visual Status Indicators:** Clear ✅, ❌, ⚠️ symbols for quick assessment.
- **Email Classification:** Identifies free, disposable, and role-based emails.
- **Typo Detection:** Suggests corrections for potential typos in email addresses.
- **Organized Results:** Multiple views for different analysis perspectives.

***

### Input

Provide a list of email addresses to validate:

```json
{
    "emails": [
        "contact@company.com",
        "info@example.com",
        "john.doe@gmail.com",
        "support@nonexistentdomain123.com"
    ]
}
```

***

### Output

For each email address, the Actor provides detailed validation results:

```json
{
    "email": "security@company.com",
    "domain": "company.com",
    "validation_status": "Okay to Send",
    "validation_analysis": "Accepted"
}
```

***

### Understanding the Results

#### Validation Status Indicators

- ✅ **Okay to Send:** The email is valid and can receive messages.
- ⚠️ **Risky to Send:** The email might have deliverability issues
- ❌ **Do not Send:** The email cannot receive messages.

#### Validation Checks

- **Format:** Whether the email has a valid syntax.
- **MX Records:** Whether the domain has valid mail exchange records.
- **SMTP:** Whether the email address can receive messages.
- **Catchall:** Whether the domain accepts all emails regardless of username.

***

### Use Cases

- **Marketing Teams:** Clean email lists before campaigns to improve deliverability rates.
- **CRM Management:** Validate customer email addresses to ensure data quality.
- **User Registration:** Verify email addresses during sign-up to prevent fake accounts.
- **Lead Generation:** Assess the quality of collected email addresses.
- **Data Migration:** Validate emails before transferring a new system.

***

### How It Works

The Actor follows a simple process:

1. Takes a list of email addresses from your input.
2. Each email undergoes comprehensive validation checks.
3. The results are processed and formatted into a structured, easy-to-understand format.
4. The data is presented in multiple organized views for analysis.

# Actor input Schema

## `emails` (type: `array`):

List of email addresses you want to verify.

## Actor input object example

```json
{
  "emails": [
    "hello@company.com",
    "info@example.com",
    "john.risk@gmail.com",
    "support@nonexistentdomain.com"
  ]
}
```

# Actor output Schema

## `results` (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 = {
    "emails": [
        "hello@company.com",
        "info@example.com",
        "john.risk@gmail.com",
        "support@nonexistentdomain.com"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("overpowered/verify-email").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 = { "emails": [
        "hello@company.com",
        "info@example.com",
        "john.risk@gmail.com",
        "support@nonexistentdomain.com",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("overpowered/verify-email").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 '{
  "emails": [
    "hello@company.com",
    "info@example.com",
    "john.risk@gmail.com",
    "support@nonexistentdomain.com"
  ]
}' |
apify call overpowered/verify-email --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,overpowered/verify-email"
        }
    }
}

```

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/fbEb1VTt4gwyOpIkT/builds/Md2WnDOikFF0YwrPZ/openapi.json
