Developer platform · REST + MCP

Domain signals for software and agents.

Authentication

Create a key in your developer account, then send it in the HTTP Authorization header. Keys are shown once and cannot be recovered.

Authorization: Bearer nt_live_…

Endpoints

GET /api/v1/dns/records?domain=example.com&type=A

GET /api/v1/dns/caa?domain=example.com

GET /api/v1/email/spf?domain=example.com

GET /api/v1/email/dmarc?domain=example.com

GET /api/v1/email/mx?domain=example.com

GET /api/v1/email/dkim?domain=example.com&selector=google

DNS record types: A, AAAA, CNAME, MX, NS, TXT, SRV, SOA and CAA.

Response envelope

{
  "ok": true,
  "data": { "domain": "example.com", "records": [] },
  "error": null,
  "meta": { "request_id": "…", "api_version": "v1", "plan": "free" }
}

Errors use the same envelope with ok: false, a stable error.code, and an HTTP status such as 401, 422, 429 or 502. Limit state is returned in the standard-style RateLimit-* headers.

MCP server

Connect a Streamable HTTP MCP client to http://nerdtools.co.uk/mcp and provide the same API key as a Bearer token. Available tools cover DNS records, SPF, DMARC, MX, CAA and DKIM.

{
  "url": "http://nerdtools.co.uk/mcp",
  "headers": {
    "Authorization": "Bearer nt_live_…"
  }
}

MCP calls consume the same plan quota as REST requests.

Plans and limits

Free developer access is designed for evaluation. Pro raises both the plan quota and per-minute rate for production integrations; upgrades are managed from the developer account.

Download the OpenAPI description