All systems operationalReal-time DNS, email and infrastructure monitoring
SupportAPIContactSign in

API documentation

Every tool on StatusDNS is available as a JSON endpoint. Same engine, same results.

Authentication

Create a key under Account → API keys (Starter plan and above). Send it as a bearer token:

curl -X POST https://statusdns.com/api/v1/lookup/mx \
  -H "Authorization: Bearer sdns_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"q": "example.com"}'

Endpoints

MethodPathDescription
GET/api/v1/toolsList all tools with slug, input type and description.
POST/api/v1/lookup/{tool}Run a tool. Body: {"q": "...", ...options}. Options: selector (dkim), port (ssl, smtp, tcp), type (dns-propagation), nocache.

Response schema

{
  "ok": true,
  "result": {
    "tool": "mx", "query": "example.com",
    "status": "pass | warn | fail | info | error",
    "summary": "1 MX record(s) for example.com",
    "counts": {"pass": 3, "warn": 1, "fail": 0, "info": 0},
    "checks": [{"status": "pass", "name": "MX records", "message": "..."}],
    "columns": [{"key": "host", "label": "Host name"}],
    "records": [{"priority": 10, "host": "mail.example.com", "ip": "..."}],
    "sections": [{"title": "...", "type": "table|kv|list|code|tree|checks", "data": ...}],
    "meta": {"zone": "example.com", "checked_at": "2026-09-16T10:00:00+00:00"},
    "related": [{"tool": "spf", "query": "example.com"}],
    "raw": "example.com. 300 IN MX 10 mail.example.com.",
    "duration_ms": 120, "cached": false
  }
}

Errors

401 invalid key · 403 plan does not include the API · 422 invalid input (message in error) · 429 quota or rate limit exceeded.

Rate limits and caching

Identical queries are cached for 30–3600 seconds depending on the tool (whois: 1 hour). Pass "nocache": 1 to force a live query; this counts as a call. Monthly quotas per plan are listed on the pricing page.