Email verification API
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
- Check an address before sending mail or saving a signup
- Flag disposable, role and free-provider addresses
- See whether the domain has MX records and SPF/DMARC
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"
]
}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": {}
}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.