InboxGrade API
Query email deliverability grades, blacklist status, SPF/DKIM/DMARC/ARC/MTA-STS/BIMI results, and historical trends for any sending IP you've tested. Read-only, no auth, versioned at /api/v1.
Rate limits: ~100 req/min per IP. 429s return Retry-After.
$ curl https://inboxgrade.io/api/v1/report/demo Returns a hand-curated A- grade sample report — see the full response shape without running a real test first.
GET /api/v1/report/{token}
Fetch a single deliverability report by token.
$ curl https://inboxgrade.io/api/v1/report/4059d72c51
{
"status": "ready",
"token": "4059d72c51",
"receivedAt": "2026-10-12T15:29:48.000Z",
"from": "newsletter@acme.example",
"fromDomain": "acme.example",
"senderIp": "209.85.221.47",
"grade": "A",
"score": 100.0,
"checks": {
"spf": { ... },
"dkim": { ... },
"dmarc": { ... },
"blacklists": [ ... ],
"spam": { ... },
"tls": { ... },
"ptr": { ... },
"listUnsubscribe": { ... },
"urls": { ... },
"arc": { ... },
"spfAudit": { ... },
"mtaSts": { ... },
"bimi": { ... }
},
"deliveryPath": [ ... ],
"reportUrl": "https://inboxgrade.io/r/4059d72c51"
} Returns 404 for unknown tokens, 200 with status: "pending" if the test hasn't been received yet.
GET /api/v1/history/{ip}
All reports from a given sending IP, newest first. Capped at 100 rows.
$ curl https://inboxgrade.io/api/v1/history/209.85.221.47
{
"status": "ok",
"ip": "209.85.221.47",
"count": 3,
"tests": [
{ "token": "4059d72c51", "grade": "A", "score": 100.0, "receivedAt": "...", "fromDomain": "acme.example", "reportUrl": "..." },
...
],
"trend": [ { "score": 100.0, "at": "..." } ]
} GET /api/v1/leaderboard
Top sender domains in the last 7 days. Query params:
days— rolling window (default 7, max 30)min— minimum test count per domain (default 1, max 100)limit— rows returned (default 25, max 100)
$ curl 'https://inboxgrade.io/api/v1/leaderboard?days=30&min=3&limit=10'
{
"status": "ok",
"windowDays": 30,
"minTests": 3,
"count": 10,
"leaderboard": [
{ "rank": 1, "domain": "acme.example", "testCount": 5, "avgScore": 98.4, "bestScore": 100.0, "worstScore": 94.0 },
...
]
} Programmatic test creation
The read endpoints above are for post-hoc lookup. You probably want to mint tests from code — that's how you wire this into CI, monitoring, or a dashboard.
Email api@inboxgrade.io with your use case and you'll get a sandbox key within 24h.
The endpoint is POST /api/v1/tests. Full docs ship with the first key.
Rate limits + fair use
- Shared quota per Vercel platform (currently generous).
- Expect
429 Too Many Requestsif you hammer. Back off exponentially. - Reports are cached
60s, history120s, leaderboard300sat the edge. - Please attribute: "deliverability grade by inboxgrade.io" if you re-publish scores.
Need webhooks or higher limits?
Email api@inboxgrade.io. API keys unlock webhook delivery on report-ready and higher throughput.
Last updated: 2026-10-20 · API v1 · Questions: api@inboxgrade.io