// email verifier
Know if an address will deliver before you hit send
Tomba checks the syntax, the domain, the mail server and the mailbox, flags catch-all, disposable and webmail addresses, and returns a status with a score.
// api console
- email.email
- richard@piedpiper.com
- email.result
- deliverable
- email.status
- valid
- email.score
- 99
- email.smtp_provider
- email.accept_all
- false
- email.disposable
- false
- email.webmail
- false
- email.greylisted
- false
// teams at these companies use tomba
// 01 · in the app
Email Verifier in the Tomba app
Paste an address in the web app: the verdict, the score and every check behind it, on the same credits as the API.
// 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
Email 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
Every check behind the verdict
One call runs the checks a bounce would otherwise teach you.
Mailbox check
Tomba asks the mail server whether the mailbox exists, without sending an email.
Domain and MX records
Confirms the domain is live and has mail servers that accept messages.
Catch-all detection
Flags servers that accept every address, so their yes isn't read as valid.
Disposable and webmail
Marks throwaway inboxes and free webmail addresses before they reach your list.
Greylisting handled
When a server asks to retry later, the verifier retries instead of returning unknown.
A status and a score
Every address gets a status such as valid, invalid or accept_all, and a score from 0 to 100.
// 06 · use cases
What teams build with Email Verifier
- Clean a list before a campaignRemove invalid and risky addresses so bounces don't hurt your sender reputation.
- Check sign-ups at the formVerify the address on your sign-up form through the API and turn away typos and throwaway inboxes.
- Client list hygieneVerify each client's export in bulk before you send on their behalf.
- Small lists, quicklyCheck a handful of addresses in the app or the browser extension before you pitch.
// 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.