Build on the same surface
the dashboard runs on.
Scan, compare, evaluate compliance and route webhooks over a plain REST API. Start with the quickstart, browse by surface, then jump into the reference.
Your first scan in three steps.
- 01Create an API key in Dashboard under Settings, API Access.
- 02Send it as an
X-API-Keyheader on every request. - 03Scan any domain and read the same graded result the dashboard renders.
curl -H "X-API-Key: cqs_your_key" \ https://api.cqwerty.com/api/v1/scan/example.com
{
"ok": true,
"domain": "example.com",
"grades": {
"ssl_grade": "A+",
"email_grade": "B",
"headers_grade": "C",
"overall_score": 72,
"risk_level": "MEDIUM"
}
}Which part of your domain are you fixing?
Each surface points to its guide, the live tool to test it, and the endpoint that returns it as JSON.
DNS
A, MX, NS and DNSSEC, plus propagation and lookups across resolvers.
Email auth
SPF, DKIM and DMARC alignment, graded the way inbox providers read them.
TLS
Certificate validity, chain, expiry and the live handshake on port 443.
Headers
HSTS, CSP and the response headers that decide how a browser trusts you.
Every endpoint, in one place.
REST over HTTPS, JSON in and out. v1 and v2 are mirrored. v1 is supported until April 2027.
Run a lightweight security scan on any domain. Returns SSL, DMARC, SPF and headers grades plus a WHOIS summary.
curl -H "X-API-Key: cqs_your_key" \ https://api.cqwerty.com/api/v1/scan/example.com
{
"ok": true,
"domain": "example.com",
"grades": {
"ssl_grade": "A+",
"email_grade": "B",
"headers_grade": "C",
"overall_score": 72,
"risk_level": "MEDIUM"
},
"ssl": { "valid": true, "issuer": "Let's Encrypt", "expires": "2026-07-01" },
"dmarc": { "record": "v=DMARC1; p=reject; rua=..." },
"spf": { "record": "v=spf1 include:_spf.google.com -all" },
"scanned_at": "2026-04-11T00:00:00Z"
}Wire it into your pipeline.
Run your first scan now.
No card, read only, results in about 90 seconds. Generate a key in the dashboard, then call the API.