Bulk Email Verifier - Validate Email Addresses
Pricing
from $0.90 / 1,000 verified 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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
11 days ago
Last modified
Categories
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 Actor | Typical 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:
| Result | Share | What to do |
|---|---|---|
β invalid | 41.7% | Remove. These are the bounces you are paying to avoid |
β οΈ catchall | 25.7% | Your call. The domain accepts everything, so nobody can confirm the mailbox |
β
valid | 18.0% | Send |
β unknown | 14.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}
| Option | What it does |
|---|---|
emails | Addresses to verify |
inputDatasetId | Read addresses from an existing dataset instead |
emailField | Which field of that dataset holds the address |
qualityMode | Re-checks deferred addresses. Slower, recovers some unknowns |
skipDuplicates | Verify, 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}
| Field | Meaning |
|---|---|
email | The address, normalised to lower case |
status | valid, invalid, catchall, disposable, unknown |
deliverable | true only for valid. Safe to send |
risky | true for catchall |
role | true for shared mailboxes like info@, still verified normally |
reason | The technical detail, e.g. smtp_550, nxdomain, no_mx_record |
billable | false 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.