API
Everything the website shows comes from this API. All endpoints are read-only and return JSON. Each address may make 30 domain checks and 120 requests a minute.
GET/api/v1/check?domain={domain}
Full report: MX, TXT, SPF, DMARC, problems, score, resolver comparison and every DNS query made.
GET/api/v1/mx?domain={domain}
Mail servers with A/AAAA addresses, null MX and implicit MX handling.
GET/api/v1/spf?domain={domain}
SPF record, include chain, lookup and void-lookup counts, problems.
GET/api/v1/dmarc?domain={domain}
DMARC record (with organisational-domain fallback), tags, report destinations, problems.
GET/api/v1/txt?domain={domain}
TXT records at the domain, classified.
GET/api/v1/dns?name={name}&type={type}&resolver={default|google|cloudflare|all}
One DNS query: A, AAAA, MX, TXT, NS, SOA, CAA, PTR, SRV, CNAME, DS or DNSKEY.
GET/healthz
Liveness check.
Errors
Every error has the same shape. Invalid input returns 422; too many requests returns 429 with a Retry-After header; 503 means the service is busy.
{
"error": {
"code": "invalid_domain",
"message": "Enter a full domain name, such as example.com."
}
}Example
curl "https://cyberhqs.com/api/v1/dmarc?domain=example.com"