All use cases

Product & engineering teams

An email verification API you can integrate before lunch

One endpoint, one JSON response, under 500 milliseconds. No sales call, no annual contract, no SDK to learn.

You wanted a function, not a vendor relationship

Most verification providers sell to marketing teams and treat the API as an upsell. You end up on a demo call just to get a key, and then discover rate limits, a proprietary SDK, and a monthly minimum that assumes you verify a million addresses.

You wanted a function that takes a string and tells you whether mail will land.

How it works

  1. 1

    POST /v1/verify with an email address. Get back a status and the signals behind it.

  2. 2

    Branch on status. Three values matter in practice: valid, invalid, unknown.

  3. 3

    Batch when you have a list. POST /v1/verify/bulk, then poll for the result.

import requests

r = requests.post(
    "https://api.mailvalid.io/v1/verify",
    headers={"Authorization": f"Bearer {API_KEY}"},
    json={"email": email},
    timeout=3,
)
result = r.json()

if result["status"] == "invalid" or result["disposable"]:
    raise ValidationError("Please use a valid work email address.")
const res = await fetch("https://api.mailvalid.io/v1/verify", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.MAILVALID_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ email }),
});
const { status, disposable } = await res.json();

Integration notes we would want if we were you

Always set a timeout and fail open. If verification times out, let the signup through and flag it for an asynchronous re-check. Never let a third-party API block your registration flow.

Cache by address. A result holds for around 30 days. Do not pay twice for the same address in one session.

Verify server-side. An API key in client-side JavaScript is a key someone else's script will spend.

Handle `unknown` deliberately. Catch-all domains return unknown because the receiving server will not tell anyone the truth. Decide once whether unknown passes or fails in your flow, and write it down.

Why teams pick MailValid

MailValidTypical alternative
Time to first API callMinutes, self-serveDemo call to get access
Price$0.00075 per emailMonthly minimum
Unused creditsNever expireReset monthly
Response timeUnder 500ms average1 to 3 seconds
Agent and MCP supportNative MCP serverNone
Is there a free tier?

100 credits on signup, no card required.

What are the rate limits?

Documented in the docs, and generous enough for inline signup verification out of the box.

Do you have SDKs?

Copy-paste examples in Python, Node.js, Ruby, PHP, Go and Java. It is one HTTP call — you do not need a dependency.

What is the accuracy?

95%+ across syntax, MX and SMTP-level checks. No verifier can exceed this on catch-all domains, and any vendor claiming 99% on catch-alls is measuring something else.

Can I verify without sending an email?

Yes. SMTP-level confirmation, and no message is ever delivered.

Get your API key free — 100 credits, no card required.