Email Verifier Free to Use avatar

Email Verifier Free to Use

Pricing

from $0.47 / 1,000 email verifieds

Go to Apify Store
Email Verifier Free to Use

Email Verifier Free to Use

Validate email syntax and domain mail readiness in bulk. Export normalized addresses, MX records, validation reasons, and timestamps for lead-list cleaning.

Pricing

from $0.47 / 1,000 email verifieds

Rating

0.0

(0)

Developer

Hanna Nosova

Hanna Nosova

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

18 hours ago

Last modified

Share

Clean lead lists before CRM imports and outreach. Submit email addresses in bulk and receive a structured syntax and public domain mail-readiness result for every unique address.

What you get

  • Clear valid or invalid status with a reason
  • Normalized email, local part, Unicode domain, and ASCII domain
  • Public MX availability plus ordered mail-exchanger records
  • SMTPUTF8 requirement and verification timestamp
  • Deduplicated, export-ready JSON, CSV, Excel, or HTML results

Example input

{
"emails": ["contact@gmail.com", "not-an-email"],
"checkDeliverability": true,
"allowInternationalized": false
}

Example output

{
"inputEmail": "contact@gmail.com",
"status": "valid",
"reason": null,
"normalizedEmail": "contact@gmail.com",
"localPart": "contact",
"domain": "gmail.com",
"asciiDomain": "gmail.com",
"syntaxValid": true,
"hasMx": true,
"mxRecords": [{"exchange": "gmail-smtp-in.l.google.com", "priority": 5}],
"requiresSmtpUtf8": false,
"checkedAt": "2026-09-06T14:22:51.267Z"
}

Use cases

  • Clean lead lists before sales outreach
  • Reject malformed signup addresses
  • Audit CRM email quality
  • Separate syntax failures from domains without public mail servers
  • Normalize internationalized domains for downstream systems

Input settings

FieldTypeDefaultDescription
emailsstring[]required1–10,000 email addresses
checkDeliverabilitybooleantrueResolve public MX records
allowInternationalizedbooleanfalseAllow non-ASCII local parts

Output fields

FieldDescription
inputEmailOriginal trimmed input
statusvalid or invalid under the selected checks
reasonHuman-readable failure reason, otherwise null
normalizedEmailNormalized address when syntax is valid
localPartText before @
domainLowercase Unicode domain
asciiDomainDNS-ready ASCII domain
syntaxValidWhether address syntax passed
hasMxWhether MX records exist; null if DNS checks are disabled
mxRecordsOrdered MX exchanges and priorities
requiresSmtpUtf8Whether the local part requires SMTPUTF8
checkedAtUTC verification timestamp

Input recipes

Fast syntax-only cleanup

{"emails":["lead@example.com","bad address"],"checkDeliverability":false}

Internationalized addresses

{"emails":["tèst@example.com"],"allowInternationalized":true}

Who is it for?

  • Sales operations teams cleaning lead lists before CRM import
  • Growth teams validating form submissions and prospect exports
  • Data teams that need deterministic, row-by-row validation reasons
  • Developers adding email hygiene to scheduled automations

Pricing

This Actor charges a small run-start event and one result event per saved verification row. See the live Pricing tab for current rates and volume discounts. Duplicate inputs are processed once.

Tips and limits

  • MX records prove that a domain advertises mail infrastructure; they do not prove that a specific mailbox exists.
  • This Actor does not perform SMTP handshakes, send messages, or claim catch-all detection.
  • DNS changes can alter results over time; use checkedAt when auditing snapshots.
  • A maximum of 10,000 input addresses is accepted per run.

API usage

cURL

curl -X POST "https://api.apify.com/v2/acts/fetch_cat~email-verifier-free-to-use-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"emails":["contact@example.com"],"checkDeliverability":true}'

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/email-verifier-free-to-use-scraper').call({
emails: ['contact@example.com'], checkDeliverability: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

Python

from apify_client import ApifyClient
import os
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('fetch_cat/email-verifier-free-to-use-scraper').call(
run_input={'emails': ['contact@example.com'], 'checkDeliverability': True}
)
items = client.dataset(run['defaultDatasetId']).list_items().items

MCP and agents

Connect through Apify MCP at https://mcp.apify.com?tools=fetch_cat/email-verifier-free-to-use-scraper.

claude mcp add apify --transport http \
"https://mcp.apify.com?tools=fetch_cat/email-verifier-free-to-use-scraper"

Equivalent JSON configuration:

{"mcpServers":{"apify":{"type":"http","url":"https://mcp.apify.com?tools=fetch_cat/email-verifier-free-to-use-scraper"}}}

Example prompts: “Validate these addresses and explain each rejection” or “Clean this exported lead list and return only rows whose domains publish MX records.”

FAQ

Does valid guarantee mailbox delivery? No. It means syntax passed and, when enabled, the domain published MX records.

Are emails retained by this Actor? Results are written to your Apify run dataset and follow your Apify storage settings.

Why is hasMx null? DNS checks were disabled with checkDeliverability: false.

Support

Open an issue on the Actor page with a minimal input and run ID. Do not post sensitive address lists publicly.