Email Validator — Bulk MX, Disposable & Score avatar

Email Validator — Bulk MX, Disposable & Score

Pricing

from $0.90 / 1,000 email validateds

Go to Apify Store
Email Validator — Bulk MX, Disposable & Score

Email Validator — Bulk MX, Disposable & Score

Fast, cheap email list validator. RFC 5322 syntax, DNS MX lookup, disposable detection (3000+ domains), role & free-provider tagging, did-you-mean typo suggestions, 0–100 deliverability score. No external API key. ~$0.90 per 1,000 emails. MCP-ready.

Pricing

from $0.90 / 1,000 email validateds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

0

Monthly active users

a day ago

Last modified

Share

Email Address Validator — Bulk MX, Disposable, Role, Score

This Apify Actor validates one or many full email addresses and returns one dataset record per address. It accepts an array of email addresses, normalizes each entry to lowercase, and returns syntax, MX, optional SMTP probe results, disposable, role-based, and free-provider flags, typo suggestions, catch-all detection, and a 0-100 deliverability score. The output is useful for list hygiene, lead enrichment, CRM cleanup, and downstream automation, and the Actor is usable through Apify MCP.

Best fit and connected workflows

This Actor fits workflows that start with full email addresses and need a per-address validation result before sending, importing, or routing records.

Common routing patterns include:

  • cold outreach list cleanup, where each address is scored and labeled before it reaches an email platform
  • signup or CRM hygiene, where role addresses, disposable addresses, and typo suggestions guide the next action
  • lead-enrichment pipelines, where another Actor gathers contacts and this Actor validates the resulting addresses
  • AI-agent workflows through Apify MCP, where a tool call returns one record per email for programmatic decisions
  • instant lookup workflows through the Apify Standby HTTP API, where a request can validate addresses with low-friction API access

Focused standalone workflow

This Actor is designed as a focused standalone workflow.

Practical scenario

Maya, a sales ops specialist, has a list with jane@gmial.com, info@acme.io, and alex@company.com. She submits the addresses as an array. The dataset rows return status, score, primaryReason, suggestedEmail, isRoleBased, isFreeProvider, isDisposable, hasMxRecord, and smtpCheck. Maya sees one typo suggestion, one role-based address, and one standard mailbox candidate. She can then correct the typo, route the role address into a shared inbox process, and send the remaining address onward to outreach.

Input

Submit full email addresses as an array. Each item is normalized to lowercase before validation.

Input fields

FieldTypeRequiredDefaultDescription
emailsarray of stringYes-List of email addresses to validate. Pass a single address as a one-item array. Example: ["jane@example.com", "info@acme.io"].
checkSmtpbooleanNofalseRun a live SMTP RCPT TO probe. When enabled, the Actor attempts mailbox verification in addition to syntax, MX, and classification checks.
checkCatchAllbooleanNofalseDetect catch-all domains when checkSmtp is enabled.
concurrencyintegerNo10Concurrent validations. Range: 1-50. Recommended input guidance: 5-15 for most lists.
timeoutMsintegerNo8000SMTP timeout in milliseconds. Range: 1000-30000.

Valid focused JSON example

{
"emails": [
"jane@example.com",
"info@acme.io",
"fake@thisdomaindoesnotexist123.io"
],
"checkSmtp": false,
"checkCatchAll": false,
"concurrency": 10,
"timeoutMs": 8000
}

Output

Each dataset row represents one validated email address.

Output fields

FieldTypeDescription
emailstringOriginal email address supplied in input.
normalizedEmailstring or nullTrimmed, lowercased address. Null when syntax is invalid.
statusstringVerdict bucket: valid, invalid, risky, or unknown.
scoreintegerDeliverability score from 0 to 100.
primaryReasonstringMost important reason for the verdict.
reasonsarray of stringReason codes in pipeline order.
isValidSyntaxbooleanRFC 5322 structure and length check result.
hasMxRecordbooleanIndicates whether the domain resolves to MX records.
smtpCheckstringaccepted, rejected, unknown, or skipped.
smtpCodeinteger or nullFinal SMTP response code, when present.
smtpResponsestring or nullRaw SMTP response line, when present.
isFreeProviderbooleanMarks public free email providers.
isRoleBasedbooleanMarks role addresses such as info@ or sales@.
isDisposablebooleanMarks disposable email domains.
isCatchAllboolean or nullIndicates catch-all domains when checked.
suggestedEmailstring or nullTypo suggestion, when available.
domainstring or nullLowercased domain part after @.
localPartstring or nullLowercased local part before @.
mxRecordsarrayResolved MX records sorted by priority.
validatedAtstringISO 8601 timestamp.

Illustrative JSON record

{
"email": "jane@gmial.com",
"normalizedEmail": "jane@gmial.com",
"status": "invalid",
"score": 5,
"primaryReason": "mx_not_found",
"reasons": [
"syntax_valid",
"typo_suggestion",
"mx_not_found"
],
"isValidSyntax": true,
"hasMxRecord": false,
"smtpCheck": "skipped",
"smtpCode": null,
"smtpResponse": null,
"isFreeProvider": false,
"isRoleBased": false,
"isDisposable": false,
"isCatchAll": null,
"suggestedEmail": "jane@gmail.com",
"domain": "gmial.com",
"localPart": "jane",
"mxRecords": [],
"validatedAt": "2026-05-03T20:00:00.000Z"
}

How it works

The Actor follows the validation pipeline defined in the supplied contract:

  1. It checks RFC 5322 syntax and length.
  2. It parses the local part and domain.
  3. It resolves DNS MX records.
  4. It classifies the address using disposable, role-based, free-provider, and typo-suggestion signals.
  5. It can optionally run SMTP RCPT TO verification and catch-all detection.
  6. It writes one dataset record per email with verdict, score, and supporting signals.

The overview dataset view presents each row as one validated address with the key signals surfaced for review.

Pricing

This Actor uses Pay per event plus Apify platform usage. The primary charged event is Email validated, and the Actor also has an Actor Start event. The live Pricing tab is the source of truth for current event pricing and platform usage details.

For example, validating one hundred emails means one Actor Start event plus one hundred Email validated events, in addition to Apify platform usage.

Interactive API endpoints

This Standby-enabled Actor also exposes an interactive API surface. Use the live Endpoints/Standby tab in the Apify Console for the current request format, response shape, and endpoint details.

Use with AI agents (MCP)

This Actor is an Apify Actor usable through Apify MCP. The exact Actor identity is khadinakbar/email-address-validator.

Tool description: validate one or many email addresses and return one dataset record per input address, including syntax, MX, optional SMTP probe results, disposable and role tags, typo suggestions, catch-all status, and a 0-100 score.

Validate these email addresses with the Apify Actor khadinakbar/email-address-validator. Return the dataset rows and summarize which addresses are valid, risky, invalid, or unknown. Use the returned score, MX data, disposable flag, role flag, and typo suggestion to help me decide what to send next.

Output interpretation:

  • status groups the address into valid, invalid, risky, or unknown
  • score provides the 0-100 deliverability signal used in the dataset contract
  • primaryReason explains the main verdict driver
  • suggestedEmail can point to a likely typo correction
  • smtpCheck may be skipped when SMTP probing is off, and may be unknown when live probing is inconclusive

Provenance and scope:

  • each dataset item corresponds to one input email
  • the input email is preserved in email
  • the normalized form is returned in normalizedEmail
  • MX and SMTP fields reflect the validation pipeline exposed by the schema
  • if SMTP probing is enabled, the returned record includes the SMTP response fields supported by the dataset contract

Pagination and cost guidance:

  • read the default dataset items endpoint returned by the run output
  • if you validate a large list, fetch dataset items in batches as needed
  • each fully processed email maps to one charged Email validated event

Apify API example

JavaScript example with token and dataset readback:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({
token: process.env.APIFY_TOKEN,
});
const run = await client.actor('khadinakbar/email-address-validator').call({
emails: ['jane@example.com', 'info@acme.io'],
checkSmtp: false,
checkCatchAll: false,
concurrency: 10,
timeoutMs: 8000,
});
const datasetItems = await client.dataset(run.defaultDatasetId).listItems();
console.log(datasetItems.items);

Best results and outcome guidance

Use full email addresses as input, not domains or CSV paths. Keep checkSmtp off for routine validation, and turn it on when you need the SMTP probe fields supported by the schema. Review score, status, primaryReason, and suggestedEmail together, since those fields form the clearest decision set in the dataset view. For larger lists, the schema supports concurrency up to 50, with 5-15 as the recommended range in the input contract. When you want a quick quality pass, the non-SMTP signals cover syntax, MX, disposable, role, free-provider, and typo checks.

Design note

I found that the dataset overview is built around one row per validated address, with email, status, score, primaryReason, smtpCheck, and the classification flags shown directly in the table view.

FAQ

What kind of input fits the workflow here?

A list of complete email addresses in the emails array fits the workflow, including single-address runs wrapped as a one-item array.

How does this Actor fit with lead-generation workflows?

It fits after any workflow that extracts or enriches email addresses, because it returns validation fields that help you route addresses before outreach or CRM import.

What does risky mean in the output?

risky is the verdict bucket for catch-all, role-based, or disposable addresses in the dataset contract.

Can I use this through Apify MCP?

Yes. This Actor is MCP-ready and designed to be called as khadinakbar/email-address-validator.

Where do I check pricing details?

Use the live Pricing tab for current Pay per event pricing and Apify platform usage information.

Where do I find the instant lookup interface?

Use the live Endpoints/Standby tab for the Standby HTTP API surface and request details.

Responsible use

This Actor performs protocol-level email validation and returns deliverability signals for legitimate list hygiene, signup checks, CRM cleanup, and similar workflows. Use it in ways that respect applicable privacy, anti-spam, and data-protection rules for your use case and jurisdiction.