FabTally EmailAuth · SPF · DKIM · DMARC · stateless · CI-gateable

Validate DMARC, SPF & DKIM
from your pipeline — not a dashboard.

A machine endpoint that audits a domain's email authentication over public DNS — what MX Toolbox does, but scriptable for CI/CD and agents. One call returns a per-mechanism PASS/WARN/FAIL verdict, a recursive SPF DNS-lookup count vs the RFC 7208 limit of 10, a plain-English summary and specific fix hints. Fail your build on overall!=PASS.

raw JSON
Free tier = full checks, capped by a per-IP daily quota (this page uses it). Unlimited & CI-ready: the flagship /v1/email-auth is $0.003/call and single-mechanism checks are $0.001 — pay per call in USDC on Base via x402 (no account; an unpaid call returns a signed 402 to pay-and-retry), or prepay by card and send an X-FabTally-Key: fabt_… header (cheapest for CI volume). Bad/invalid domain → 400, never charged.
Buy prepaid credits → · OpenAPI · agent overview · x402 manifest

Gate a build in one line

# GitHub Actions / any CI — fail the build unless email auth passes curl -sf -XPOST https://emailauth.fabtally.com/v1/email-auth \ -H 'X-FabTally-Key: fabt_your_prepaid_key' \ -d '{"domain":"yourdomain.com"}' \ | jq -e '.pass == true' # exit 1 (build fails) on WARN/FAIL # Or use the ready-made GitHub Action (see the repo's action.yml): - uses: fabtally/emailauth-check@v1 with: domain: yourdomain.com fabtally_key: ${{ secrets.FABTALLY_KEY }} fail_on_warn: false

What each check returns

EndpointPriceChecks
/v1/email-auth$0.003SPF + DKIM + DMARC + MX (+BIMI/MTA-STS) · overall gate + summary + fixes
/v1/spf$0.001record · recursive DNS-lookup count vs RFC 7208 limit of 10 · +all/~all/-all · syntax
/v1/dmarc$0.001p= / sp= / pct · rua/ruf · aspf/adkim alignment
/v1/dkim$0.001selector key present · length (bits) · algorithm · revoked

Read-only analysis of public DNS records. No login, no PII, no message content — every request resolves live and is discarded. Informational; not a guarantee of deliverability.