Skip to content

// 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

GETapi.tomba.io/v1/email-verifier
Example
email.email
richard@piedpiper.com
email.result
deliverable
email.status
valid
email.score
99
email.smtp_provider
Google
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

// 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.

GET/email-verifier
emailrequired
The address to verify
enrich_mobilefalse
Also return phone numbers

1verification 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

GET /email-verifier
200 OK
{
  "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
  }
}

// 03 · verdicts

What each status means

Every check returns a status and a result. Disposable and unknown answers are free.

  • valid1 verification credit

    The mailbox exists and accepts mail.

    Send.

  • accept_all1 verification credit

    The server accepts mail for any address, so this mailbox can’t be confirmed.

    Send with care, or verify again later.

  • unknownFree

    The check was inconclusive: the server blocked it or didn’t answer.

    Verify again later.

  • invalid1 verification credit

    The mailbox doesn’t exist.

    Remove it from your list.

  • disposableFree

    The domain is a disposable email provider.

    Treat it as undeliverable.

Status values in the docs

// 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.io
  • Great 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.

// 07 · questions

Email Verifier: quick answers

Still have questions? Visit the help center

// 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.