Email Verifier Free to Use
Pricing
from $0.47 / 1,000 email verifieds
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
18 hours ago
Last modified
Categories
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
validorinvalidstatus 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
| Field | Type | Default | Description |
|---|---|---|---|
emails | string[] | required | 1–10,000 email addresses |
checkDeliverability | boolean | true | Resolve public MX records |
allowInternationalized | boolean | false | Allow non-ASCII local parts |
Output fields
| Field | Description |
|---|---|
inputEmail | Original trimmed input |
status | valid or invalid under the selected checks |
reason | Human-readable failure reason, otherwise null |
normalizedEmail | Normalized address when syntax is valid |
localPart | Text before @ |
domain | Lowercase Unicode domain |
asciiDomain | DNS-ready ASCII domain |
syntaxValid | Whether address syntax passed |
hasMx | Whether MX records exist; null if DNS checks are disabled |
mxRecords | Ordered MX exchanges and priorities |
requiresSmtpUtf8 | Whether the local part requires SMTPUTF8 |
checkedAt | UTC 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
checkedAtwhen 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 ApifyClientimport osclient = 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.
Related Actors
- Google Maps Scraper for public business leads
- LinkedIn Jobs Scraper for recruiting research
- LinkedIn Company Scraper for company enrichment
- Google Search Results Scraper for prospect research
- Website Contact Details Scraper for public contact discovery
Support
Open an issue on the Actor page with a minimal input and run ID. Do not post sensitive address lists publicly.