Bulk Email Verifier - Validate Email Addresses avatar

Bulk Email Verifier - Validate Email Addresses

Pricing

from $0.90 / 1,000 verified email addresses

Go to Apify Store
Bulk Email Verifier - Validate Email Addresses

Bulk Email Verifier - Validate Email Addresses

Verifies email addresses with a real SMTP check against the provider that runs each mailbox β€” no message is ever sent. Returns valid, invalid, catch-all, disposable or unknown for every address, with the reason behind each verdict. You are only charged for addresses we can actually decide.

Pricing

from $0.90 / 1,000 verified email addresses

Rating

5.0

(1)

Developer

Efe Berke

Efe Berke

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 days ago

Last modified

Share

πŸ“§ Bulk Email Verifier: $0.90/1k, unknowns free

Verify email addresses in bulk with a real SMTP conversation against the provider that actually runs each mailbox. Nothing is ever delivered, so nobody receives a test message.

You are never charged for an address we could not resolve.

πŸ’‘ Need leads too? Get verified B2B leads at Getle.ad β†’


πŸ’Έ You only pay for answers

Every verifier hits addresses it cannot resolve. Some mail servers refuse to answer questions about their recipients, no matter who is asking. The industry standard is to hand you those rows as "unknown" and bill you for them anyway.

We do not.

On a real 1,000 address B2B list, roughly 150 come back unknown. Everywhere else those are 150 rows on your invoice. Here they are free, and you pay only for the addresses we actually resolved.

This ActorTypical verifier
Unresolvable addresses are freeβœ… Yes❌ You pay anyway
Catch-all reported honestlyβœ… Yes❌ Often sold to you as valid
Reason given for every verdictβœ… Yes❌ Just a label
Role addresses verified, not auto killedβœ… Yes❌ Marked invalid on sight
Your list never touches diskβœ… Yes❌ Varies

⚑ What you get

βœ… Bulk email verification at roughly 23 addresses per second βœ… Catch-all detection that probes a domain several times before deciding βœ… Disposable and burner address detection against a list refreshed weekly βœ… Role address flagging (info@, sales@) without pretending they are dead βœ… The reason behind every verdict, not just a label βœ… Chain it after any scraper by pointing at that Actor's dataset


πŸ›‘οΈ What we guarantee

πŸ”’ Your list is never written to disk. Addresses live in memory for the length of the job and the job is deleted as soon as you collect the results. Our database records how many addresses were checked, never which ones.

πŸ“­ No mail is ever sent. The SMTP conversation stops at the point where the server states whether it would accept the recipient. Nothing lands in anyone's inbox and nobody knows they were checked.

πŸ’Έ No charge for unknown. If we cannot get a trustworthy answer, that row is free. This is enforced in the billing itself, not a promise in a document.

🎯 No invented confidence. We will tell you an address cannot be resolved rather than guess and let you find out at send time.


πŸ“Š What a real list actually looks like

Measured on 300 addresses from a live B2B prospecting list:

ResultShareWhat to do
❌ invalid41.7%Remove. These are the bounces you are paying to avoid
⚠️ catchall25.7%Your call. The domain accepts everything, so nobody can confirm the mailbox
βœ… valid18.0%Send
❓ unknown14.7%Free. The server would not give a straight answer

If a verifier promises you 99% certainty on a list like this, ask what it did with the catch-all quarter.


🎯 What the statuses mean

βœ… valid The mail server accepted this specific recipient. Safe to send.

❌ invalid The mailbox does not exist, the domain does not exist, or the domain accepts no mail at all.

⚠️ catchall The domain accepts mail for every address, including ones we invented on the spot. The server itself will not tell anyone whether this particular mailbox exists, so no verifier can resolve it over SMTP. Around a fifth of business domains are configured this way. Treat them as a calculated risk, not as verified.

πŸ—‘οΈ disposable A burner or temporary mail provider.

❓ unknown No answer we would stand behind. Not charged. Quality mode re-checks these at roughly half the speed.


πŸ”Œ Input

Paste addresses into Email addresses, or point input dataset ID at another Actor's output and name the field that holds the address. The second form is the useful one: run a scraper, then chain this Actor onto its dataset to strip out everything that would have bounced.

{
"emails": ["jane.doe@example.com", "info@example.org"],
"qualityMode": false,
"skipDuplicates": true
}
OptionWhat it does
emailsAddresses to verify
inputDatasetIdRead addresses from an existing dataset instead
emailFieldWhich field of that dataset holds the address
qualityModeRe-checks deferred addresses. Slower, recovers some unknowns
skipDuplicatesVerify, and charge for, each unique address once

πŸ“€ Output

{
"email": "jane.doe@example.com",
"status": "valid",
"deliverable": true,
"risky": false,
"reason": "ok",
"role": false,
"billable": true
}
FieldMeaning
emailThe address, normalised to lower case
statusvalid, invalid, catchall, disposable, unknown
deliverabletrue only for valid. Safe to send
riskytrue for catchall
roletrue for shared mailboxes like info@, still verified normally
reasonThe technical detail, e.g. smtp_550, nxdomain, no_mx_record
billablefalse for unknown, which is what you were not charged for

πŸ’° Pricing

$0.90 per 1,000 verified addresses, billed as $0.0009 each.

You are charged for valid, invalid, catchall and disposable results. You are not charged for unknown, so an address we could not resolve never reaches your invoice.

That means a submitted list always costs less than its size suggests. How much less depends on the list: the harder it is to resolve, the less of it you pay for.


❓ Frequently asked questions

Does this send an email to the addresses I check? No. The conversation stops before any message body is transmitted. Nobody receives anything and nobody is told they were verified.

Why are some addresses unknown? Some mail security products, Mimecast most of all, refuse to answer recipient questions from senders they do not already know, no matter how long you wait. Others firewall port 25 entirely. Those addresses cannot be resolved over SMTP by us or by anyone else, which is exactly why we do not charge for them.

Why can't you tell me whether a catch-all address is real? Because the server will not say. It accepts every recipient by design, including addresses that do not exist. Any tool reporting catch-all addresses as "valid" is guessing, and you find out at send time.

Are role addresses like info@ verified? Yes, exactly like any other address. A shared mailbox usually exists and accepts mail, so reporting it as invalid would be calling a working address dead. You get the real verdict plus role: true and decide for yourself.

Do you store my list? No. Addresses are held in memory for the length of the job and dropped when you collect the results. Our records store how many addresses were checked, never which ones.

Can I verify 100,000 addresses? Yes. Large inputs are split automatically and rows are written to the dataset as they are decided, so an interrupted run still leaves behind everything resolved up to that point.

How accurate is it? An SMTP check reports what the receiving server says at the moment you ask. Servers are inconsistent in both directions: some accept every recipient at the door and bounce later, others refuse a good address because they dislike the connection. This Actor answers unknown rather than guess when the response is not trustworthy. That is why the unknown bucket is not zero, and why you are not billed for it.