Email verification API

From $0.01 per successful call · failed calls are never charged · no account needed · Markdown version: /guides/email-verification-api.md

Check email syntax, DNS and MX records, disposable providers, role addresses, free providers and SPF/DMARC presence. Returns likely-deliverable, risky, undeliverable or invalid with reasons. No message is sent and the mail server is not contacted. These are DNS and syntax signals, not proof that a mailbox exists or accepts delivery. Use before sending mail or saving a signup.

When an agent wants this

Email verification, validation: verify an address with syntax, MX and disposable-address checks, no mail sent $0.01

Check email syntax, DNS and MX records, disposable providers, role addresses, free providers and SPF/DMARC presence. Returns likely-deliverable, risky, undeliverable or invalid with reasons. No message is sent and the mail server is not contacted. These are DNS and syntax signals, not proof that a mailbox exists or accepts delivery. Use before sending mail or saving a signup.

Inputs: address (required): The email address to check.

Free first (25 successful calls per caller, no key):

curl "https://tools.funwords.eu/email?address=support%40cloudflare.com&trial=1"

With a card key from /credits, in a header or, when your client can only fetch a URL, in the URL:

curl -H "Authorization: Bearer adt_…" "https://tools.funwords.eu/email?address=support%40cloudflare.com"
curl "https://tools.funwords.eu/email?address=support%40cloudflare.com&api_key=adt_…"

Without a key the same URL answers 402 Payment Required with x402 and MPP terms, so a wallet client pays USDC per call and retries. Over MCP (https://tools.funwords.eu/mcp) this tool is email.

Example result
{
  "address": "support@cloudflare.com",
  "validSyntax": true,
  "domain": "cloudflare.com",
  "domainExists": true,
  "acceptsMail": true,
  "disposable": false,
  "roleAddress": true,
  "freeProvider": false,
  "hasSpf": true,
  "hasDmarc": true,
  "verdict": "likely-deliverable",
  "reasons": [
    "role address, not a person"
  ]
}

Tool page, inputs and limits

Email deliverability check: MX, SPF, DMARC, DKIM and score $0.03

Email deliverability check for a domain in one call: MX records, SPF and its all-policy, DMARC and its policy, DKIM keys at the common selectors (Google, Microsoft, Mailchimp and others), MTA-STS, TLS-RPT and BIMI, with a 0-100 score, a grade and a list of fixes; optionally also checks one address (syntax, MX, disposable domain). Uses public DNS only and sends no mail. Use before a campaign, when mail lands in spam, or to vet a sender domain.

Inputs: domain (required): The sending domain, such as example.com (or a URL; its host is used); email: Optional address to check as well.

Free first (25 successful calls per caller, no key):

curl "https://tools.funwords.eu/pack/email-deliverability?domain=github.com&trial=1"

With a card key from /credits, in a header or, when your client can only fetch a URL, in the URL:

curl -H "Authorization: Bearer adt_…" "https://tools.funwords.eu/pack/email-deliverability?domain=github.com"
curl "https://tools.funwords.eu/pack/email-deliverability?domain=github.com&api_key=adt_…"

Without a key the same URL answers 402 Payment Required with x402 and MPP terms, so a wallet client pays USDC per call and retries. Over MCP (https://tools.funwords.eu/mcp) this tool is pack_email_deliverability.

Example result
{
  "pack": "email-deliverability",
  "domain": "github.com",
  "score": 90,
  "grade": "A",
  "issues": [
    "no BIMI record"
  ],
  "mx": [
    {
      "priority": 1,
      "host": "aspmx.l.google.com"
    }
  ],
  "spf": "v=spf1 ip4:… ~all",
  "spfPolicy": "~all",
  "dmarc": "v=DMARC1; p=reject; …",
  "dmarcPolicy": "reject",
  "dkimSelectors": [
    "google"
  ],
  "mtaSts": true,
  "tlsRpt": true,
  "bimi": false,
  "address": null,
  "failed": {}
}

Tool page, inputs and limits

Questions

Does it send an email?

No. No message is sent and the mail server is not contacted; the result comes from syntax and DNS signals.

Does it prove the mailbox exists?

No. It returns likely-deliverable, risky, undeliverable or invalid with reasons, which are signals, not proof of delivery.

How do I pay?

Each successful call costs the tool's price; failed calls are not charged. The first 25 calls are free. Then pay with card credits from $1 (the key goes in an Authorization header or as api_key= in the URL) or per call in USDC over x402 or MPP. No account is needed.