DomaineeDocs

DMARC Record Checker API

Free public REST API for the DMARC Record Checker on Domainee. No API key, CORS-enabled, rate-limited per IP.

GEThttps://api.domainee.dev/v1/tools/dmarc-record-checker?domain=domainee.dev

Look 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

NameInTypeDescription
domainrequiredquerystring
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" | jq

Example 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-After header.
  • All responses are JSON with the envelope { "ok": true, "data": {...} } on success or { "ok": false, "error": { "code", "message" } } on failure.
  • code values are stable; safe to switch on programmatically. message is human-friendly and may change.

See also

On this page