# Email Verifier & Validator (`onescales/email-verifier-validator`) Actor

Bulk email verification made simple. Detect invalid, risky, and disposable-style addresses before you send. Try free, scale up to 50,000 emails per run.

- **URL**: https://apify.com/onescales/email-verifier-validator.md
- **Developed by:** [One Scales](https://apify.com/onescales) (community)
- **Categories:** Automation, Lead generation, E-commerce
- **Stats:** 3 total users, 3 monthly users, 100.0% runs succeeded, 4 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $8.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.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

***

**Verify email addresses in bulk with a single click.** Give it a list of email addresses and it returns a clean table showing whether each one is deliverable, how risky it is, and whether it's a free-provider or role-based account.

It's Simple - Paste your emails, click Start, and download your results.

| Field | Example |
|-------|---------|
| **Email** | alpha@gmail.com |
| **Username** | alpha |
| **Domain** | gmail.com |
| **Quality** | invalid |
| **Free Provider** | true |
| **Role Account** | false |

***

### Benefits

**List Cleaning**
Strip invalid, mistyped, and undeliverable addresses out of your list before you ever hit send.

**Deliverability Protection**
Catch risky and unknown addresses before they hurt your sender reputation and inbox placement.

**Lead & Signup Validation**
Verify emails at the point of signup or lead capture to keep junk out of your CRM and email list.

**Free vs. Role Accounts**
See which addresses are free-provider inboxes (Gmail, Yahoo, Outlook, etc.) versus role-based accounts like info@ or support@.

**Bulk Audit**
Check hundreds or thousands of addresses in a single run. Export as CSV, JSON, or Excel and drop it straight into your workflow.

***

### How to Use

#### Step 1 — Add Your Emails

Paste email addresses in any format:

```
alpha@gmail.com
beta@yahoo.com
delta@example.com
```

Invalid entries and duplicates are automatically removed before verification.

#### Step 2 — Run and Download

Click **Start**. The actor checks each address and returns a table you can export to CSV, JSON, or Excel directly from the Apify console.

#### Free vs. Paid Plan

| Plan | Emails per run |
|------|-----------------|
| Free | Up to 10 |
| Paid | Up to 50,000 |

Free runs complete successfully and return results for the first 10 emails, with a note that you can upgrade to verify larger lists.

***

### Output Fields

| Field | Description |
|-------|--------------|
| `email` | The email address that was checked |
| `username` | The part of the address before the @ |
| `domain` | The part of the address after the @ |
| `quality` | Overall rating: `valid`, `invalid`, or `risky` |
| `free` | Whether it's a free email provider (Gmail, Yahoo, etc.): `true` / `false` |
| `role` | Whether it's a role-based account (admin@, sales@, support@, etc.) rather than a personal inbox: `true` / `false` |

***

### Limitations

**Catch-All Domains**
Some mail servers accept all incoming mail regardless of whether the mailbox exists, which can make an invalid address appear valid. These are flagged as `risky` where possible.

**Greylisting & Temporary Failures**
Some mail servers temporarily defer verification checks. These addresses may come back as `unknown` rather than a definitive result.

**Run Time**
Each email is checked individually in real time, one at a time. A rough guide: small lists (under 100) typically finish in under a minute, while lists in the thousands can take longer depending on mail server response times.

**Verification Availability**
If verification capacity is temporarily exhausted partway through a run, the actor stops cleanly and keeps everything it already checked — it won't fail the whole run or lose completed results.

***

### FAQs

**Q: Why did I only get 10 results?**

You're on the free plan, which verifies the first 10 emails per run. Upgrade to the paid plan to verify up to 50,000 emails per run.

**Q: What does "risky" mean?**

The address couldn't be fully confirmed as either valid or invalid — often due to catch-all domains or servers that don't allow direct verification. Treat these with caution.

**Q: What does "role" mean?**

The address belongs to a shared inbox rather than an individual (e.g. `info@`, `support@`, `sales@`). These often have lower engagement rates in email campaigns.

**Q: Can I check emails from any provider?**

Yes — the actor works with addresses from any domain, including free providers (Gmail, Yahoo, Outlook) and custom company domains.

**Q: How is pricing calculated?**

Pay-per-event — you only pay for emails actually verified. The actor respects your configured spend limit and stops cleanly when it's reached.

**Q: How do I verify more than 50,000 emails?**

Split your list into batches of up to 50,000 and run them as separate actor runs via the Apify scheduler or API.

***

### Support

**Need help or want a feature added?**

**[Contact Support — Fill out this quick form](https://docs.google.com/forms/d/e/1FAIpQLSfsKyzZ3nRED7mML47I4LAfNh_mBwkuFMp1FgYYJ4AkDRgaRw/viewform?usp=dialog)**

We respond quickly and are happy to add new fields or custom integrations.

***

`email verifier` `email validator` `email verification` `email validation` `bulk email checker` `email cleaning` `deliverability` `email list cleaning` `disposable email` `role account` `catch-all` `lead validation` `email hygiene`

# Actor input Schema

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

Enter one or more email addresses to verify. You can paste a list (one per line, or comma/semicolon separated). Invalid entries and duplicates are automatically cleaned up before verification.

## Actor input object example

```json
{
  "emails": [
    "alpha@gmail.com"
  ]
}
```

# Actor output Schema

## `emailResults` (type: `string`):

All checked emails with their username, domain, quality, free-provider, and role-account values

# 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": [
        "alpha@gmail.com"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("onescales/email-verifier-validator").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": ["alpha@gmail.com"] }

# Run the Actor and wait for it to finish
run = client.actor("onescales/email-verifier-validator").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": [
    "alpha@gmail.com"
  ]
}' |
apify call onescales/email-verifier-validator --silent --output-dataset

```

## MCP server setup

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

```

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/uNWMrXZIvNzfHmbMB/builds/ncEn9hzkMU3XBe2gp/openapi.json
