Email Deliverability API

Free JSON endpoints for SPF, DKIM, DMARC, MX and blacklist checks on any domain. No API key, no signup. Built for developers, scripts, and AI agents.

Quick start

curl -s https://aureliussdr.com/api/tools/grade \
  -H "Content-Type: application/json" \
  -d '{"domain": "example.com"}'

All endpoints accept POST with a JSON body containing domain. Responses are JSON. Rate limit: ~10–15 requests/min per IP per endpoint (HTTP 429 beyond that). For continuous monitoring of your own domains, use a free account instead of polling.

POST /api/tools/grade

The full picture in one call: SPF (with DNS-lookup counting), DMARC, DKIM discovery, MX and 10 blacklists, plus a composite grade (A–F) and score (0–100).

{"domain":"example.com"} →
{
  "domain": "example.com", "grade": "B", "score": 80, "issues": 1,
  "spf":   { "found": true, "record": "v=spf1 …", "lookups": 4, "all": "~all", "issues": [], "warnings": [] },
  "dmarc": { "found": true, "record": "v=DMARC1; p=quarantine; …", "tags": { "p": "quarantine", "rua": "…" } },
  "dkim":  [ { "selector": "google", "found": true, "keyBits": 2048 } ],
  "mx":    { "found": true, "records": ["1 aspmx.l.google.com"] },
  "blacklists": { "ips": ["93.184.216.34"], "listed": [], "checked": 17 }
}

POST /api/tools/spf

SPF record with recursive DNS-lookup counting against the RFC 7208 limit of 10 — catches the silent permerror that most checkers miss. Flags multiple records, +all, dead includes, deprecated ptr.

POST /api/tools/dmarc

DMARC record from _dmarc.<domain>, parsed tags (p, sp, rua, pct…), policy-strength issues and warnings.

POST /api/tools/dkim

Probes ~20 common DKIM selectors (google, selector1/2, k1, s1…) or a specific one via optional "selector" field. Returns key presence, revocation, and approximate key length.

POST /api/tools/blacklist

Checks the domain and its resolved IPs against 10 DNSBLs (Spamhaus ZEN & DBL, SpamCop, Barracuda, SORBS, PSBL, UCEPROTECT, SURBL…). Distinguishes true listings from rate-limited/unavailable lists.

Higher limits: API keys (included in Pro)

The keyless free tier is rate-limited per IP (~10–15 req/min per endpoint). Pro accounts ($15/mo) include an API key with 10× limits, keyed to your account instead of your IP — built for agents, scripts and integrations. Find your key in the dashboard and pass it either way:

curl -s https://aureliussdr.com/api/tools/grade \
  -H "X-Api-Key: ak_..." \
  -H "Content-Type: application/json" \
  -d '{"domain": "example.com"}'

Rate-limit responses (HTTP 429) are machine-readable and include the current limit and upgrade path — agents can handle them programmatically.

Fair use & attribution

Polling an API is monitoring done by hand

Aurelius watches your sending domains continuously — 6-hourly checks, drift detection, email & Slack alerts. Free for 2 domains.

Start monitoring free