Bulk Email Verifier & Validator — MX, Disposable, Role Check
Pricing
$0.30 / 1,000 email checkeds
Bulk Email Verifier & Validator — MX, Disposable, Role Check
Use this when you need to check if emails are well-formed and their domain can receive mail. $0.0003/email. Input: {"email":"jane@gmial.com"}. Output: status, score, reason, hasMx, disposable, roleAccount, didYouMean. Does NOT verify that the mailbox exists (no SMTP check).
Pricing
$0.30 / 1,000 email checkeds
Rating
0.0
(0)
Developer
Isaac
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
11 days ago
Last modified
Categories
Security
Limited permissionsShare
Bulk Email Verifier & Validator: MX, Disposable and Role Check
Clean your email list in seconds, before you send. Paste thousands of addresses and get one result per email: valid syntax, whether the domain exists and accepts mail (MX records), disposable or temporary inbox detection (9,900+ known providers), role addresses (info@, sales@, support@), free-provider flag (Gmail, Yahoo, Outlook…), typo suggestions (jane@gmial.com → jane@gmail.com) and SPF/DMARC presence. Every address gets a simple status and a 0–100 score.
- ⚡ Fast: 2,000 emails checked in about 5 seconds, with DNS results cached per domain
- 💸 Cheap: pay per email checked, no start fee, no subscription. Duplicates are removed for free
- 🧹 Practical: catches typos, dead domains and throwaway inboxes, the main causes of bounces and fake sign-ups
- 🤖 Agent-ready: simple input and output, fixed price per email, works from the API and the Apify MCP server
What does it check?
| Check | Field |
|---|---|
| RFC syntax, length and international (IDN) domains | syntaxValid |
| Domain exists, MX records, null-MX, A-record fallback | domainExists, hasMx, mxRecords |
| Disposable / temporary email providers | disposable |
| Role or shared inboxes | roleAccount |
| Free webmail providers | freeProvider |
| Common domain typos | didYouMean |
| SPF and DMARC records | hasSpf, hasDmarc |
Status values
deliverable_domain: the syntax is valid and the domain accepts email. The individual mailbox is not tested (see FAQ).risky: disposable provider, role address, probable typo, or no MX record.undeliverable: invalid syntax, the domain does not exist, or the domain refuses email.unknown: DNS timed out. Not common; re-run these addresses.
Input example
{ "emails": ["john.doe@gmail.com", "info@apify.com", "someone@mailinator.com", "jane@gmial.com"] }
Output example
{"email": "jane@gmial.com","status": "risky","score": 0,"reason": "possible typo, did you mean jane@gmail.com?","domain": "gmial.com","hasMx": false,"disposable": true,"roleAccount": false,"freeProvider": false,"didYouMean": "jane@gmail.com","mailboxVerified": false}
Use it from the API or with AI agents
curl -X POST "https://api.apify.com/v2/acts/poised_beardlichen~email-verifier-bulk/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \-H "Content-Type: application/json" -d '{"emails": ["john.doe@gmail.com"]}'
AI agents can call it through the Apify MCP server with https://mcp.apify.com/?tools=poised_beardlichen/email-verifier-bulk. It also works with Make, Zapier, n8n and Google Sheets through Apify integrations.
Use in ChatGPT or Claude
Add this tool to your AI assistant as a custom connector (MCP server) with this URL:
https://mcp.apify.com?tools=poised_beardlichen/email-verifier-bulk
- ChatGPT: Settings → Apps & Connectors → Create (needs Developer mode), paste the URL, choose OAuth and sign in to Apify.
- Claude: Settings → Connectors → Add custom connector, paste the URL, then click Connect.
Runs go on your own Apify account at the same per-event prices, so the free plan's monthly credit applies.
Try it free
Apify's free plan includes $5 of usage every month, no credit card. On this Actor that's about 16,000 email checks a month, so you can test it on your real data before paying anything.
Pricing
Pay per unique email checked, with no start fee. Set Maximum cost per run and the Actor stops cleanly at your limit.
FAQ
Does it check whether the mailbox really exists? No. Mailbox checks need an SMTP connection on port 25, which cloud platforms block, and many big providers (Gmail, Outlook, Yahoo) don't reveal it reliably anyway. This Actor confirms that the address is well formed and that the domain can receive email, and it flags disposable, role and typo addresses. That is why mailboxVerified is always false. Tools that claim full mailbox checks charge much more.
Where does the disposable list come from? From the community-maintained, public-domain disposable-email-domains project, plus a free-provider list from free-email-domains (MIT).
Is it safe for my list? Yes. No email is ever sent to your contacts, and the Actor only performs DNS lookups on the domains. Results stay in your own Apify storage.
How many emails can I check? Up to 1,000,000 per run. Larger lists can be split across runs.
Do duplicates cost extra? No. With Remove duplicates on (the default), repeated addresses are skipped.
Calling it from an AI agent or a script (async pattern)
A single email finishes in a few seconds; 10,000 emails take a few minutes. The Apify MCP server waits only about 30–45 seconds for a run before it returns. So for batches, slow pages, or whenever a call returns before the run is done, start the run and fetch the results afterwards rather than waiting on it:
- Start the run:
POST https://api.apify.com/v2/acts/poised_beardlichen~email-verifier-bulk/runswith input such as{"email": "jane@gmial.com"}. The response containsdata.id(the run ID) anddata.defaultDatasetId. - Wait for it to finish: poll
GET https://api.apify.com/v2/actor-runs/<runId>?waitForFinish=60untilstatusisSUCCEEDED. - Fetch the results:
GET https://api.apify.com/v2/datasets/<defaultDatasetId>/items?clean=true.
Send your token as Authorization: Bearer <APIFY_TOKEN>. Through MCP, if the call returns a run ID instead of results, use the server's run-status and dataset tools (e.g. get-actor-run, then get-dataset-items) with that ID. For small, quick jobs you can use the synchronous endpoint POST /v2/acts/poised_beardlichen~email-verifier-bulk/run-sync-get-dataset-items instead, which waits for up to 300 seconds.
Other tools by us
- Audio & Video Transcriber (Whisper): MP3, WAV, M4A and MP4 to text, timed segments and SRT subtitles at $0.006 per audio minute.
- Website Screenshot & PDF API: bulk screenshots and PDFs of any page with cookie banners and pop-ups removed.
- Website Screenshot & PDF for AI Agents: fast single-page screenshots and PDFs for agents, from $0.0015 per screenshot.
- PDF to Text & Markdown with OCR: turn PDFs, DOCX and scans into clean, LLM-ready Markdown.
- Image to Text OCR API: extract text from PNG, JPEG, TIFF and WebP images in 27 languages.
- Bulk PageSpeed & Lighthouse Checker: Lighthouse scores, Core Web Vitals and top fixes for many URLs.
- Website Tech Stack Detector: CMS, ecommerce, analytics, CDN and 7,600+ other technologies behind any website.
- Research Paper Search: arXiv, PubMed and Crossref papers plus legal open-access full text from $0.0015 per paper.
- SEC EDGAR Financials & Filings: US company financials, filings and 10-K sections as compact JSON.
- Website Legitimacy & Scam Check: domain age, SSL, look-alike brands, VAT and LEI signals at $0.008 per site.
- Bulk Phone Number Validator: validity, E.164 format, line type and region for any number at $0.70 per 1,000.
- Company Contact & Profile Extractor: generic emails, phones, socials and profile from any company website at $0.004 per site.
- UK & Australia Company Check: ABN, ACN, ASIC and Companies House status and red flags from $0.003 per company.
- Company Careers & Open Jobs Lookup: open jobs from Greenhouse, Lever, Ashby and more at $0.0015 per job.
- Domain Intelligence: WHOIS/RDAP, DNS, SPF/DMARC/DKIM and SSL for any domain at $0.002 per domain.
- YouTube Transcript Scraper: YouTube captions to text, timestamped segments or SRT at $0.004 per video.
Support
Spotted a wrong result or a missing disposable domain? Open an issue on the Issues tab.