Bulk Email Verifier: Syntax, Domain, MX & Role Checks avatar

Bulk Email Verifier: Syntax, Domain, MX & Role Checks

Pricing

from $10.00 / 1,000 email address checkeds

Go to Apify Store
Bulk Email Verifier: Syntax, Domain, MX & Role Checks

Bulk Email Verifier: Syntax, Domain, MX & Role Checks

Clean an email list before you import it. Checks syntax, whether the domain exists and accepts mail (MX), disposable providers and role addresses, and says plainly what it could not determine.

Pricing

from $10.00 / 1,000 email address checkeds

Rating

0.0

(0)

Developer

Pavel Tashev

Pavel Tashev

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

What does Bulk Email Verifier do?

Clean an email list before you import it. Paste your addresses and get back, for each one, whether it is well formed, whether the domain exists and accepts mail, whether it is a throwaway address, and whether it is a role mailbox like info@ rather than a person — with a stable reason code for every verdict.

It runs on the Apify platform, so you get an API, scheduling, and integrations with Make, Zapier and n8n.

What it checks, and what it deliberately does not claim

CheckWhat it tells you
SyntaxThe address is shaped like something a mail system will route — not merely RFC-legal
Domain existsThe domain resolves at all
MX recordsThe domain actually accepts mail, and which servers handle it
Disposable providerThrowaway mailboxes (mailinator, guerrillamail, yopmail and similar)
Role addressinfo@, sales@, noreply@ and friends — real, but they behave differently in bulk
Free providerConsumer mailboxes, useful to know on a B2B list
SPF and DMARCWhether the domain publishes a sender policy, and how strict DMARC is
Domain ageHow long ago the domain was registered (RDAP) — a week-old domain on a mailing list is a pattern

Every address also gets a 0–100 score. Every deduction maps to a reason code that is also in the row, so the number can be explained rather than trusted: a role address costs 25, a disposable domain 70, a missing SPF record 10. No opaque model, no score you cannot audit.

SPF, DMARC and domain age are checked once per domain, not once per address — a list of 5,000 addresses across 300 domains costs 300 lookups.

It does not perform an SMTP handshake, so it never claims a specific mailbox exists. Apify blocks outbound port 25, which makes that check impossible from here — and rather than quietly imply otherwise, every result carries mailboxChecked: false and deliverable is defined as "the domain accepts mail and the address is well formed." Catch-all detection needs the same handshake and is likewise not offered.

If you need mailbox-level confirmation, this Actor is the wrong tool and says so. For the far more common job — removing the typos, dead domains, throwaways and role accounts that make up most of the junk in a real list — it is exactly the right one.

Three ways to give it the list

  • Paste addresses into Email addresses for a quick check.
  • Point it at a file — Read addresses from a file takes links to CSV, JSON or plain text. Every address-shaped value is used, so a CSV export with headers and quoting works with no reformatting. One consequence worth knowing: run it over a raw email message and it will also pick up Message-ID headers, which are address-shaped by design. Supply a list or a CSV for clean results.
  • Check domains instead — Domains to check answers "can this domain receive mail at all?" with MX, SPF, DMARC and age, before you have a single address for it.

The per-domain summary

VERIFICATION_REPORT groups every result by domain, worst first, because a list with 400 addresses at one dead domain is one problem and not four hundred. Each domain shows how many addresses it holds, the spread of statuses, its average score, and only the reasons that are genuinely about the domain — a role address is a fact about one mailbox, so it never appears against the domain everybody else shares.

Status values

  • deliverable — the domain accepts mail and the address is well formed.
  • risky — it can receive mail, but you may not want it: disposable domain, role address, or a domain that accepts mail only through the RFC's implicit-MX rule.
  • invalid — it cannot receive mail: bad syntax, or the domain does not exist and has no MX.
  • unknown — DNS did not answer. Try again rather than deleting the address; this is never charged.
  • duplicate — already in your list. Reported once, charged once.

Your list stays yours

The addresses are your data and you remain the controller of them. We act only as a processor: results go to your run's dataset, nothing is retained by us beyond it, no address is looked up anywhere except its own domain's DNS, and nothing is ever enriched, appended or combined into any list of ours.

How much does it cost?

Charged per address actually checked. Duplicates, syntax rejections and DNS failures are never charged — a result we could not produce is not a result you should pay for. Domains are looked up once per run and cached, so a list of 5,000 addresses across 300 domains costs 300 lookups, not 5,000.

Tips

  • Send the whole list in one run: the domain cache is per run, so splitting it costs more.
  • Treat risky as a decision, not a rejection. info@ addresses are often exactly who you meant to write to.
  • Re-run unknown rows later. They mean our DNS query failed, not that the address is bad.

FAQ

Why no mailbox verification? Outbound port 25 is blocked on the Apify platform. Claiming a mailbox exists without the handshake would be a guess, and this Actor does not guess.

Is the disposable-domain list complete? No, and no such list is. There are thousands of these domains and they change weekly. This catches the common ones; disposable-domain being absent is not proof of the opposite.