POST /api/email-deliverabilityEnd-to-end email-auth report for a domain: SPF + DMARC + DKIM (probes common selectors automatically) + MX records + score 0–100. The one call to make when 'why is our mail going to spam?' lands in your inbox.
| Field | Type | Description |
|---|---|---|
domain * | string | Domain name (also accepts email/url/host) |
dkimSelectors | array | Optional DKIM selectors to probe (overrides default list of 14 common selectors) |
{
"domain": "google.com",
"score": 90,
"summary": "good",
"spf": {
"hasRecord": true,
"all": "softfail",
"valid": true,
"lookupCount": 1
},
"dmarc": {
"hasRecord": true,
"policy": "reject",
"percent": 100,
"valid": true
},
"dkim": {
"found": [
{
"selector": "20221208",
"bits": 2048,
"valid": true
}
],
"probed": [
"google",
"selector1",
"default",
"20221208"
]
},
"mx": {
"count": 5,
"records": [
"smtp.google.com"
]
},
"checks": [
{
"check": "spf",
"status": "pass",
"detail": "SPF record present, 1 DNS lookup, ~all qualifier"
},
{
"check": "dmarc",
"status": "pass",
"detail": "p=reject at 100% — strict enforcement"
},
{
"check": "dkim",
"status": "pass",
"detail": "Found DKIM at selector 20221208 (2048-bit RSA)"
},
{
"check": "mx",
"status": "pass",
"detail": "5 MX records configured"
}
],
"queriedAt": "2026-06-19T20:00:00.000Z"
}
curl -i -X POST https://agent402.tools/api/email-deliverability \
-H "Content-Type: application/json" \
-d '{"domain":"google.com"}'
The response is HTTP 402 Payment Required with exact payment requirements. Any x402 v2 client pays automatically and retries:
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
const client = new x402Client();
registerExactEvmScheme(client, { signer: privateKeyToAccount(KEY) });
const payFetch = wrapFetchWithPayment(fetch, client);
const res = await payFetch("https://agent402.tools/api/email-deliverability", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
"domain": "google.com"
}),
});
Wallet-only. This tool reaches the network/browser/storage, so it is paid in USDC via x402 (no proof-of-work tier).
GET /api/dnsDNS lookup for a domain. Supported record types: A, AAAA, MX, TXT, NS, CNAME.
POST /api/http-checkCheck any public URL: status code, latency, final URL after redirects, and response headers. The uptime primitive for ag…
POST /api/tls-certInspect the TLS certificate of any public host: subject, issuer, validity window, days remaining, SANs, and SHA-256 fing…