Developers

DNSRadar API

The current API exposes the same DNS check used by the web interface. It is suitable for testing and low-volume integrations. Responses are JSON unless an export format is requested.

Run a check

POST /api/dns/check
Content-Type: application/json

{
  "domain": "example.com",
  "recordType": "A"
}

Supported record types are A, AAAA, CNAME, MX, TXT, NS, SOA, PTR, SRV and CAA. PTR checks require a valid reverse lookup name such as an in-addr.arpa or ip6.arpa FQDN.

Response structure

{
  "queryId": "uuid",
  "domain": "example.com",
  "recordType": "A",
  "status": "COMPLETED",
  "summary": "Plain-language diagnosis",
  "results": [
    {
      "resolverName": "Google Mountain View",
      "resolverIp": "8.8.8.8",
      "country": "US",
      "status": "OK",
      "response": ["93.184.216.34"],
      "ttl": 300,
      "latencyMs": 42
    }
  ]
}

Endpoints

POST
/api/dns/check
Run a DNS check against the active global resolver set.
GET
/api/dns/check/:id
Retrieve a stored check by query UUID or share token.
GET
/api/resolvers
List the resolvers currently enabled for checks.
GET
/api/export/:queryId?format=csv
Download a stored result in CSV format.
GET
/api/export/:queryId?format=json
Download a stored result as JSON.

Limits and errors

Requests are rate limited by source IP. Invalid input returns HTTP 400, rate limits return 429 and unknown stored checks return 404. Individual resolver failures are represented inside the results array as TIMEOUT, NXDOMAIN, SERVFAIL, NO_ANSWER or ERROR rather than failing the whole request.