Pre-warmed inboxes are here:$3/mo each, 15 cold emails a day, warming included forever
List Verification

Everyone can spot a typo. Catch-alls are the hard part

A lot of business domains accept mail addressed to anyone, which is how a verifier hands back a page of valids that still bounces. We ask the server about a mailbox that cannot exist first — and what it says to that decides what we tell you.

  • Nothing is ever delivered
  • One probe per domain, cached a day
  • Six answers, not two
  • Daily checks on every plan
List verification

Everyone can spot a typo. Catch-alls are the hard part

A lot of business domains accept mail addressed to anyone, which is how a verifier hands back a page of valids that still bounces. Before we believe what a server says about your contact, we ask it about a mailbox that cannot exist — and what it says to that decides what we tell you.

Two domains, one file

live SMTP · RCPT TO only · nothing delivered
foldguide.comsafe

MX aspmx.l.google.com

  1. RCPT TO:<no-such-mailbox-8f3ka20b@foldguide.com>

    550 5.1.1 The email account you tried to reach does not exist

  2. RCPT TO:<dana.whitfield@foldguide.com>

    250 2.1.5 OK

This server turns away a mailbox that cannot exist, so its yes to a real one means something. The address is deliverable.

northbay-partners.comcatch_all

MX mail.northbay-partners.com

  1. RCPT TO:<no-such-mailbox-p2k9dl3xqv@northbay-partners.com>

    250 2.1.5 Recipient ok

It said yes to a mailbox nobody has, so it will say yes to anything — including a name that was guessed. We never ask about the real address, because the answer carries no information. You get catch-all, not a valid you cannot rely on.

One probe per domain, not per address

Whether a domain accepts everything is a fact about the domain, so it is tested once and cached for a day. Forty thousand addresses across twelve hundred domains costs twelve hundred conversations.

The providers that accept everyone are known

Yahoo, AOL, ymail and rocketmail answer 250 to every recipient, invented or not. Calling every address at them catch-all would be true and useless, so they are answered from classification instead.

Unknown stays unknown

A greylist deferral, a timeout, a server that will not hold a conversation — those come back unknown, never rounded up to valid. Full mailbox, disabled account and role address each get their own answer too.

Nothing is ever delivered

The probe opens the conversation and quits before the message body, from our own pool of verification IPs on a per-IP daily budget. Your sending addresses are never involved.

The same verifier runs wherever you reach it — a file pasted into the dashboard, POST /verify for a single address inside your own request, or verify_list from an agent. Every plan comes with a daily allowance of instant checks.

The answers

Six verdicts, not a coin flip

Most verifiers collapse the world into valid and invalid. The interesting answers live between those two, so each gets its own verdict.

valid

The server turned away a mailbox that cannot exist, then said yes to your contact. That yes means something — the address is deliverable.

catch-all

The domain says yes to anyone, invented or not, so its yes carries no information. You get catch-all — never a valid you cannot rely on.

unknown

A greylist deferral, a timeout, a server that will not hold a conversation. Unknown stays unknown and is never rounded up to valid.

role

sales@, info@, support@ — addresses that belong to a function rather than a person get their own answer, so you can treat them differently.

full mailbox

The mailbox exists but cannot take mail right now. Its own answer, instead of a bounce your sender reputation has to absorb.

disabled

The account is gone or switched off. There is no version of a campaign where this address should be sent to.

Reach it anywhere

The same verifier, wherever you need it

One engine behind the dashboard, the REST API and the MCP server — so the answer never depends on which door you came through.

Paste a file in the dashboard

Drop a CSV or paste the list. Verification runs on upload, and the bad rows never make it into a campaign.

POST /verify inside your own flow

A single address, answered synchronously inside your own request — a signup form, a CRM import, anywhere a decision is made.

verify_list from an agent

The same verifier is an MCP tool, so an agent can clean a list as one step in a longer job without you writing the glue.

single address, answered synchronously200 OK
POST /api/public/v1/verify
# one address, inside your own request
{ "address": "dana.whitfield@foldguide.com" }

{ "status": "valid", "catch_all": false, "source": "smtp_probe" }
Allowances

Instant checks, every day, on every plan

Every plan comes with a daily allowance of instant checks. Bulk list runs are separate — upload the whole file and it is worked through without touching the day's instant budget.

Starter

500

instant checks a day

one company getting outbound off the ground

Growth

1,500

instant checks a day

agencies and teams running several books

Scale

4,500

instant checks a day

high-volume senders with their own footprint

Need more headroom? Blocks of 500 instant checks a day stack onto any plan at $9.95/mo each.

Send to the list you actually have

Paste the file, watch the catch-alls surface, and keep the bounces off your sender reputation.