DMARC Record Checker API
Free public REST API for the DMARC Record Checker on Domainee. No API key, CORS-enabled, rate-limited per IP.
GET
https://api.domainee.dev/v1/tools/dmarc-record-checker?domain=domainee.devLook up the DMARC record at _dmarc.<domain>, parse the policy (`p`), subdomain policy (`sp`), alignment, reporting addresses (`rua`/`ruf`), and percentage. Flags issues like missing policy or too-permissive settings.
Free. No API key required. CORS-enabled. Rate-limited per IP at 30/min and 500/day.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
domainrequired | query | string | Domain to check DMARC for. example: domainee.dev |
Example request
curl
curl -s "https://api.domainee.dev/v1/tools/dmarc-record-checker?domain=domainee.dev" | jqExample response
response.json
{
"ok": true,
"data": {
"domain": "domainee.dev",
"record": "v=DMARC1; p=none;",
"tags": {
"v": "DMARC1",
"p": "none"
},
"issues": [
{
"level": "warning",
"message": "Policy is `none` — no enforcement."
}
]
}
}Other languages
fetch.js
const res = await fetch("https://api.domainee.dev/v1/tools/dmarc-record-checker?domain=domainee.dev");
const { ok, data } = await res.json();requests.py
import requests
r = requests.get(
"https://api.domainee.dev/v1/tools/dmarc-record-checker",
params={"domain":"domainee.dev"},
)
data = r.json()["data"]Rate limits & errors
- 30 requests/minute and 500 requests/day per IP. Exceeding either returns HTTP 429 with a
Retry-Afterheader. - All responses are JSON with the envelope
{ "ok": true, "data": {...} }on success or{ "ok": false, "error": { "code", "message" } }on failure. codevalues are stable; safe to switch on programmatically.messageis human-friendly and may change.
See also
- DMARC Record Checker visual tool — UI version that hits this same API.
- Free APIs overview — rate limits, response envelope, error codes.