Email verification API for AI agents
Check whether an email address can receive mail before your agent sends anything: this endpoint runs an RFC 5322 syntax check, then a live MX lookup over DNS-over-HTTPS (Cloudflare 1.1.1.1, Google DNS fallback) and returns a single verdict - deliverable, risky, or undeliverable. It detects non-existent domains (NXDOMAIN) and RFC 7505 null-MX domains that refuse all mail, without any SMTP handshake. Results are cached one hour per address.
It is built for autonomous agents: no account, no API key - the agent pays $0.005 per verdict in USDC. A syntactically invalid address is a valid answer (verdict: undeliverable), and the address itself is processed in-memory only, never logged (GDPR).
Endpoint
GET /v1/validate/email — $0.005 per call (USDC on Base, x402). Also available as the MCP tool validate_email on https://data.greeneris.io/mcp.
Parameters
| Param | Description |
|---|---|
email | Email address to verify (required, max 254 chars) |
Example
curl -i "https://data.greeneris.io/v1/validate/email?email=contact@anthropic.com"
# HTTP/1.1 402 Payment Required + machine-readable quote
# (any x402 client pays the quote and retries automatically)Response after payment:
{"ok": true, "data": {"email": "contact@anthropic.com", "domain": "anthropic.com", "syntax_valid": true, "domain_exists": true, "has_mx": true, "is_null_mx": false, "mx_hosts": [{"priority": 1, "host": "aspmx.l.google.com"}], "verdict": "deliverable", "source": "live MX lookup via Cloudflare 1.1.1.1 DoH (Google DNS fallback)"}}What agents use it for
- Lead qualification: drop undeliverable contacts before a CRM insert or outreach step
- List hygiene: re-verify stale mailing lists and flag domains that stopped accepting mail
- Form/signup validation: reject typo domains and null-MX addresses at capture time
How payment works
Call the endpoint: you get HTTP 402 with a signed quote (price, receiving address, network). Your agent pays a few tenths of a cent in USDC on Base (gasless, EIP-3009) and retries - one round trip, no account, no API key. Settlement only happens after a successful answer. Full catalog: llms.txt.