1. Home
  2. API docs

Email verification and phone validation API

Send one HTTP request with an email address or a phone number and get back a verdict: valid, risky or invalid for emails, and the E.164 form, country and line type for phones. API access is included in every plan at a flat monthly price, with no per-call credits.

Authentication

Create a key on the API keys page and send it in the Authorization header. Keys start with sv_live_ and are shown once. Keep them on your server.

Authorization: Bearer sv_live_...

Verify an email address

GET or POST https://simpleverifier.com/api/v1/verify with email. Syntax, domain, disposable and live mailbox (SMTP) checks run in one call.

curl "https://simpleverifier.com/api/v1/verify?email=jane@company.com" \
  -H "Authorization: Bearer $SIMPLEVERIFIER_KEY"
{
  "email": "jane@company.com",
  "status": "valid",
  "reason": "Mailbox exists",
  "mailbox_checked": true
}
statusWhat it meansPossible reasons
validThe mail server confirmed the mailbox exists.Mailbox exists
riskyThe address may work, but delivery isn't confirmed. Send with care or keep it out of cold campaigns.Accepts all addresses · Role-based address · Provider hides mailbox status · Server would not confirm · Mailbox check unavailable
invalidDon't send. It will bounce or it's a throwaway address.Invalid format · No mail server · Disposable address · Mailbox not found

Validate a phone number

GET or POST https://simpleverifier.com/api/v1/phone with phone and an optional country (two letters, default US) used for numbers written without +. On the Email + Phone plan, valid numbers also get a live carrier lookup (5,000 a month; failed lookups don't count). Pass live=false to skip it.

curl "https://simpleverifier.com/api/v1/phone?phone=07911%20123456&country=GB" \
  -H "Authorization: Bearer $SIMPLEVERIFIER_KEY"
{
  "input": "07911 123456",
  "phone_status": "valid",
  "phone_e164": "+447911123456",
  "phone_country": "GG",
  "phone_type": "mobile",
  "phone_carrier": "JT Group Limited",
  "phone_line_type": "mobile",
  "live_lookup": true
}

phone_type comes from the numbering plan and is free on every plan. phone_carrier and phone_line_type appear only when live_lookup is true.

Examples

Node.js

const res = await fetch(
  "https://simpleverifier.com/api/v1/verify?email=" + encodeURIComponent(email),
  { headers: { Authorization: `Bearer ${process.env.SIMPLEVERIFIER_KEY}` } }
);
const { status, reason } = await res.json();
if (status === "invalid") throw new Error(`Please check your email: ${reason}`);

Python

import os, requests

r = requests.get(
    "https://simpleverifier.com/api/v1/verify",
    params={"email": email},
    headers={"Authorization": f"Bearer {os.environ['SIMPLEVERIFIER_KEY']}"},
    timeout=30,
)
result = r.json()  # {"status": "valid" | "risky" | "invalid", "reason": ...}

Errors and limits

Errors return JSON with an error message. A mailbox check can take a few seconds when a mail server is slow, so set a client timeout of about 30 seconds.

400The email or phone parameter is missing.
401The API key is missing, wrong or revoked.
402The key's subscription isn't active.
429More than 120 calls a minute on one key. Wait and retry.
503The verification service is briefly unavailable. Retry with backoff.

Common questions

How much does the SimpleVerifier API cost?
API access is included in every plan. Pro is $29.99/month and covers email verification and free phone format checks. Email + Phone is $49.99/month and adds 5,000 live carrier lookups a month. There are no per-call credits.
Is there a rate limit?
Each key can make 120 calls a minute. For lists of thousands of addresses, upload a CSV in the dashboard instead: it runs the same checks in bulk and returns valid, risky and invalid files.
Can I call the API from the browser?
No. Keep keys on your server. Anyone who can read a key from your page can use your plan. Call the API from your backend and pass the result to your form.
Does the phone endpoint tell me if a number is in service?
No. It confirms the number fits its country's numbering plan, normalises it to E.164 and, on the Email + Phone plan, returns the carrier and real line type (mobile, landline or VoIP). No lookup can confirm someone is using a number today.

Ready to clean your email and phone lists?

Start verifying emails and phone numbers today and boost your deliverability.

Get Started

Cancel anytime • No setup required