// catch-all verifier
Verify addresses on domains that accept everything
A catch-all server accepts every address, so a plain mailbox check can't tell a real inbox from a typo. Tomba marks these addresses accept_all and scores them.
// api console
ab@tomba.io
- Syntax
- MX records
- Mail server
- Mailbox (SMTP)
- Not catch-all
- Not disposable
- Not webmail
- Not gibberish
// teams at these companies use tomba
// 01 · in the app
Catch-all Verifier in the Tomba app
Verify an address in the web app: on a catch-all domain it shows as accept_all with its score, never as valid.
// also in
- REST APIJSON over HTTPS, 13 SDKs, signed webhooks.
- Bulk CSVUpload a list in the app or POST it to /bulk; download when it's done.
- Google Sheets and ExcelFormulas and a sidebar that call the same endpoints.
- Browser extensionCheck an address from any page or profile without leaving it.
- MCP for AI agentsRemote MCP server, 28 tools, OAuth sign-in.
- Zapier, Make, n8nNo-code actions for the finder, verifier and enrichment.
// 02 · the api
Catch-all Verifier is one HTTPS request
Send the parameters with your key and secret. Every SDK, the CLI and the MCP server make this same call.
/email-verifieremailrequired- The address to verify
enrich_mobilefalse- Also return phone numbers
// cost
Rate limits by plan1verification credit
Charged when: The status is not disposable or unknown. Phone numbers returned with enrich_mobile cost 5 search credits each, from the search allowance.
Errors, 429 and 451 responses, and the same request again within your usage window cost nothing.
13 official SDKs: C#, Dart, Deno, Elixir, Go, Lua, Node.js, Perl, PHP, Python, R, Ruby, Rust. Libraries in the docs
{
"data": {
"email": {
"email": "richard@piedpiper.com",
"result": "deliverable",
"status": "valid",
"score": 99,
"smtp_provider": "Google",
"mx": {
"records": [
"aspmx.l.google.com",
"alt1.aspmx.l.google.com"
]
},
"mx_check": true,
"smtp_server": true,
"smtp_check": true,
"accept_all": false,
"greylisted": false,
"block": false,
"gibberish": false,
"disposable": false,
"webmail": false,
"regex": true,
"whois": {
"registrar_name": null,
"referral_url": null,
"created_date": null
}
},
"sources": [
{
"uri": "https://piedpiper.com/blog/engineering",
"website_url": "piedpiper.com",
"extracted_on": "2024-06-01T09:14:07+01:00",
"last_seen_on": "2025-01-10T17:02:44+01:00",
"still_on_page": true
}
],
"phone_data": null
}
}/email-verifierdata.email.resultstring- deliverable, risky or undeliverable; empty for a disposable domain
data.email.statusstring- valid, accept_all, invalid, unknown or disposable (compare case-insensitively: a live check can return Valid)
data.email.scoreinteger- Confidence: 99 for valid, 77 or more for accept_all, 2 for disposable
data.email.smtp_providerstring | null- Mail provider from the MX records, such as Google
data.email.mx.recordsarray | null- The domain's MX hosts
data.email.mx_check, data.email.smtp_checkboolean- The domain has MX records (smtp_check is the same check; status says whether the mailbox exists)
data.email.accept_all, data.email.greylisted, data.email.blockboolean- Catch-all domain, check deferred, check refused by the server
data.email.disposable, data.email.webmail, data.email.gibberish, data.email.regexboolean- Disposable or webmail domain, random-looking address, valid syntax
data.sources[]array- Where the address was found
data.phone_data[]array | null- Phone numbers, when you send enrich_mobile
// 03 · verdicts
What each status means
Every check returns a status and a result. Disposable and unknown answers are free.
valid1 verification creditThe mailbox exists and accepts mail.
Send.
accept_all1 verification creditThe server accepts mail for any address, so this mailbox can’t be confirmed.
Send with care, or verify again later.
unknownFreeThe check was inconclusive: the server blocked it or didn’t answer.
Verify again later.
invalid1 verification creditThe mailbox doesn’t exist.
Remove it from your list.
disposableFreeThe domain is a disposable email provider.
Treat it as undeliverable.
| status | result | Meaning | What to do | Cost |
|---|---|---|---|---|
valid | deliverable | The mailbox exists and accepts mail. | Send. | 1 verification credit |
accept_all | risky | The server accepts mail for any address, so this mailbox can’t be confirmed. | Send with care, or verify again later. | 1 verification credit |
unknown | risky | The check was inconclusive: the server blocked it or didn’t answer. | Verify again later. | Free |
invalid | undeliverable | The mailbox doesn’t exist. | Remove it from your list. | 1 verification credit |
disposable | (empty) | The domain is a disposable email provider. | Treat it as undeliverable. | Free |
// 04 · customers
What customers say
Tomba is my go-to to validate emails. Even though I might have others to do a waterfall process with, Tomba is usually the top choice in it.
Nuno PocoSales Automation Architect, clickworks.ioGreat Value for Money! The Data Accuracy rating and insights as to where and when they found the data. The responsiveness of their help team.
Leon W.Sales Directorvia G2
// 05 · capabilities
What you learn about a catch-all address
Accept-all isn't valid. Tomba shows what it knows so you can choose.
Never passed off as valid
The status reads accept_all, so a catch-all yes is never mistaken for a confirmed mailbox.
A score from 0 to 100
Set your own threshold for what gets sent.
Mail server and provider
See the MX records and the provider behind them, such as Google Workspace.
Disposable and webmail flags
Throwaway and free webmail addresses are marked whatever the server says.
Bulk verification
Upload a CSV and get each row's status and score back.
The same API call
The Email Verifier endpoint returns accept_all: one verification credit, no separate tool.
// 06 · use cases
What teams build with Catch-all Verifier
- Decide what to sendSend to high-scoring accept_all addresses and hold the rest back.
- Protect a client's domainKeep risky catch-all rows out of the campaigns you run for clients.
- Treat sign-ups by statusHandle accept_all sign-ups differently from valid ones in your own app.
- Test a mail serverSee how a server answers with the free SMTP tester.
// verify before you send
Check every address before it bounces
Verify one address in the app or the extension, or a whole list in a bulk job. Verification credits come with every paid plan, separate from search credits.
Paid plans from $49 a month. Cancel anytime.