List verification
List verification by EmailPal
EmailPal verifies addresses before you send so catch-alls and disabled mailboxes do not become bounces on a warmed IP. Six verdicts, SMTP probes that never deliver a message, daily allowances on every plan, and the same engine on the dashboard, REST and MCP.
What is list verification?
List verification is the check you run before a campaign so you are not paying for bounces with reputation. A bounce is not only a wasted send. Inbox providers treat a rising bounce rate as a sign the sender does not know who they are mailing. A 4% bounce rate will undo warmup.
Most verifiers ask the receiving server "does this mailbox exist?" and call a yes valid. That works on well-behaved domains. It fails on catch-alls: domains that accept mail to any local-part, invented or not. Those later bounce, sit in a bit bucket, or generate complaints — after your mailbox has already spent the send.
EmailPal's distinctive check: we ask the receiving server about a mailbox that cannot exist, then interpret what it says about your real contact. If the fake address is accepted, the domain is a catch-all and a "valid" on the real address does not mean what you think.
Nothing is delivered. The probe is RCPT TO only. No DATA, no message, no inbox notification from us.
This is included on every paid plan. You do not need a second vendor for the first pass.
What EmailPal verification is
The engine returns six verdicts, not two:
| Verdict | Meaning | Send? |
|---|---|---|
| Valid | The server rejected an impossible mailbox, then accepted yours. Deliverable. | Yes |
| Catch-all | The domain accepts anything. Your contact is not confirmed. | Risky — your call |
| Unknown | Greylist, timeout, or a server that will not hold a conversation. Never rounded up to valid. | Treat as unverified |
| Role | info@, support@, sales@ — a function, not a person. | Often skip |
| Full mailbox | Exists, cannot take mail right now. Sending creates a bounce later. | No |
| Disabled | The mailbox is gone or switched off. | No |
A longer walkthrough of each row: Six verification verdicts. The catch-all probe itself: Catch-all detection and What is a catch-all email?.
Other properties of the product:
- One probe per domain, cached a day. We do not hammer the same MX with a unique impossible mailbox for every row in your CSV.
- Dashboard, REST and MCP use the same engine. Paste a file,
POST /api/public/v1/verifya single address, orverify_listfrom an agent. - Unknown stays unknown. A greylist deferral is not a valid. Rounding it up is how other tools invent a clean rate.
Pricing and allowances
Verification is included on every plan, with a daily instant-check allowance:
| Plan | Instant checks / day | Typical use |
|---|---|---|
| Starter ($69) | 500 | One company getting outbound off the ground |
| Growth ($189) | 1,500 | Agencies and teams running several books |
| Scale ($499) | 4,500 | High-volume senders |
Extra capacity is sold in blocks of 500 checks/day per month. Upload verification and API/MCP use the same pool.
There is no separate "list cleaning" SKU. The product page is List verification.
Why use it
- Catch-alls look valid until they are not. The impossible-mailbox probe is the only cheap way to tell them apart before you send.
- Disabled and full mailboxes become hard bounces on your warmed IP if you skip this step.
- Role addresses collect spam complaints because they are shared and often filtered.
- Pre-warmed leases and freshly warmed mailboxes both die the same way: a dirty list. The 15/day or 40/day cap does not protect you from a 4% bounce rate.
If you only remember one line: do not put an unverified CSV on a mailbox that just became campaign-ready.
How to run a list
From the dashboard
- Sign in. Open Lists.
- Upload a CSV or paste addresses.
- Wait for verdicts. Catch-alls are the ones to drop or handle differently.
- Send only what you are willing to put on a warmed mailbox. Most teams send
validonly. Some also acceptunknownat lower volume.
The same check can run on upload at send time where the dashboard offers it, so a list that skipped Lists still gets probed.
Over the API
Authenticate with an API key as documented in the API reference.
POST /api/public/v1/verify— a single address, answered synchronously. Use this in a signup form or CRM import.- List endpoints for bulk jobs — same six verdicts, same catch-all probe.
Over MCP
The verify_list tool on @emailpal/mcp is the same verifier. An agent can clean a list as one step in a longer job without you writing the glue. See Connect the MCP server.
A step-by-step of the operator flow: How to verify an email list before sending.
What to do with each verdict
- Valid — send. This is the only row where SMTP evidence says the mailbox exists and the domain is not a catch-all.
- Catch-all — drop, or mail at much lower volume if you have another reason to believe the person is real (LinkedIn match, recent reply). Do not treat the verifier's
yesas confirmation. - Unknown — the server would not say. Do not round up. Re-try later, or skip.
- Role — skip for cold email unless that function is literally the buyer. Shared inboxes complain more.
- Full mailbox / Disabled — never send. You already know the bounce.
FAQs
Does verification send an email to the prospect?
No. No DATA, no message, no inbox notification from us. The probe is RCPT TO only.
Why not trust a "valid" from another vendor?
If they skipped the impossible-mailbox probe, catch-alls look valid. Those bounce later, on your reputation, not theirs.
Is this available in the free trial / before a plan?
Daily allowances ride on the paid plans (Starter, Growth, Scale). There is no separate verification SKU to trial.
Should I re-verify every week?
Re-verify after a few months, or any time you bought a new list. Fresh-looking CSVs still go stale — people leave, mailboxes fill, domains become catch-alls.
A whole domain came back unknown.
That is often a server that greylists probes, not a bug in your CSV. Open a ticket with the domain. Do not send the list "because unknown might be fine."
Does this replace warmup?
No. Verification protects the list. Warmup (or a pre-warmed lease) protects the mailbox. You need both. See the cold email deliverability guide.
Can I verify addresses I will send from Instantly or Smartlead?
Yes. EmailPal is the infrastructure. Verify here, send there. The sequencer does not have to be ours.
Need More Help?
How to verify an email list before sending for the click-path, or open a ticket if a whole domain comes back unknown.