All posts

Email Verification API in 5 Minutes: Key, curl, Code, Done

··2 min read

To use an email verification API in five minutes: create a SimpleVerifier API key, test it with GET /api/v1/me, then call https://simpleverifier.com/api/v1/verify with the address and an Authorization: Bearer header. You get back status (valid, risky or invalid), reason, send_advice and reason_detail. Branch on status, and treat only valid as confirmed. Full reference: API docs.

Minute 1: get a key

Create a key on the API keys page in your dashboard. It starts with sv_live_. Store it as an environment variable on your server:

export SIMPLEVERIFIER_KEY="sv_live_..."

API access is on Pro, Business and Agency (see pricing). Starter and Growth cover CSV verification in the dashboard only.

Minute 2: test the key

curl https://simpleverifier.com/api/v1/me \
  -H "Authorization: Bearer $SIMPLEVERIFIER_KEY"

This confirms the key works without using a check. A 401 means the key is wrong or revoked; a 402 means the plan has no API access.

Minute 3: verify one address

curl -X POST https://simpleverifier.com/api/v1/verify \
  -H "Authorization: Bearer $SIMPLEVERIFIER_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email":"jane@company.com"}'
{
  "email": "jane@company.com",
  "status": "valid",
  "reason": "Mailbox exists",
  "send_advice": "safe",
  "reason_detail": "The mail server confirmed this mailbox exists.",
  "smtp_available": true,
  "mailbox_probed": true,
  "mailbox_checked": true
}

POST keeps addresses out of URLs and access logs. One call runs syntax, domain and MX, disposable, role-address and catch-all checks plus a live SMTP check that disconnects before any message is sent.

Minute 4: call it from code

Node.js 18+

export async function verifyEmail(email) {
  const res = await fetch("https://simpleverifier.com/api/v1/verify", {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.SIMPLEVERIFIER_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({ email }),
    signal: AbortSignal.timeout(30_000),
  });
  if (!res.ok) throw new Error(`SimpleVerifier HTTP ${res.status}`);
  return res.json();
}

Python

import os, requests

def verify_email(email: str) -> dict:
    res = requests.post(
        "https://simpleverifier.com/api/v1/verify",
        headers={"Authorization": f"Bearer {os.environ['SIMPLEVERIFIER_KEY']}"},
        json={"email": email},
        timeout=30,
    )
    res.raise_for_status()
    return res.json()

Allow up to 30 seconds: a slow mail server can hold one check that long.

Minute 5: or use an SDK

Open-source clients, MIT licensed, with typed errors, retries and a bulk helper:

The npm and PyPI packages are being published. Until then, use the repos or the copy-paste clients on the SDK docs page; they call the same API.

Branch on the result

status send_advice Do
valid safe Accept or send
risky care or retry Accept, but flag it; do not treat it as confirmed
invalid do_not_send Reject or suppress

Risky covers catch-all domains, role addresses and providers that hide mailbox status, such as Microsoft consumer mailboxes, which are not probed. Read email verification statuses explained for every reason.

Run 100 free checks in the dashboard to see real results on your own data before you write code.

Next steps

Common questions

How do I start with the SimpleVerifier email verification API?

Create an API key in the dashboard, test it with GET https://simpleverifier.com/api/v1/me, then call GET or POST https://simpleverifier.com/api/v1/verify with the email and an Authorization: Bearer header. The reply has status, reason and send_advice.

Is there an official SDK?

Yes. Open-source clients for Node.js, Python, Go, PHP and Ruby are on GitHub under github.com/Ahmedmkarrar, MIT licensed. The npm and PyPI packages are being published; until then you can use the repos or the copy-paste clients on the SDK docs page, which call the same API.

What is the API rate limit?

120 calls a minute. Above that the API returns 429; the SDKs retry with backoff.

Which plans include API access?

Pro, Business and Agency. Starter and Growth cover CSV verification in the dashboard only, and the API returns 402 for a plan without API access.

Can I call the API from the browser?

No. Anyone who can read the key from your page can use your plan. Call SimpleVerifier from your backend and pass the verdict to your form.

Check your list before you send

Real mailbox checks over SMTP, and nothing is sent to the address. Sign in with Google and your first 100 email checks are free, no card. Plans for bigger lists are on the pricing page.