/api/email

Will Gmail deliver your email?

SPF, DKIM, DMARC, MX, BIMI — every DNS record that affects inbox placement, in one call. With a 0-100 score so your dashboard can show it without parsing 4 records.

Try it

curl "https://api.sitetrace.it.com/api/email?domain=github.com" | jq
{
  "domain": "github.com",
  "score": 95,
  "risk": "low",
  "issues": [],
  "checks": [
    { "id": "spf",           "pass": true,  "value": "v=spf1",       "message": "SPF record found." },
    { "id": "spf_strict",    "pass": true,  "value": "-all",         "message": "SPF ends with -all (strict)." },
    { "id": "spf_lookups",   "pass": true,  "value": 4,              "message": "SPF uses 4 mechanisms (within RFC limit)." },
    { "id": "dkim",          "pass": true,  "value": "github.com",   "message": "DKIM found at google._domainkey.github.com." },
    { "id": "dmarc",         "pass": true,  "value": "v=DMARC1",      "message": "DMARC record found." },
    { "id": "dmarc_policy",  "pass": true,  "value": "reject",        "message": "DMARC policy is \"reject\" (strictest)." },
    { "id": "mx",            "pass": true,  "value": "1 host(s)",     "message": "MX records found (1)." }
  ],
  "records": { "spf": {...}, "dkim": {...}, "dmarc": {...}, "mx": {...}, "bimi": {...} }
}

How the score is computed

IssuePenalty
No SPF record at the apex−30
SPF ends with anything other than -all−15
SPF uses more than 10 DNS lookups (RFC violation)−10
No DKIM on any common selector−25
No DMARC at _dmarc−25
DMARC policy is none (monitoring only)−15
No MX records (can't receive mail)−15

Risk band: ≥80 low, ≥50 medium, <50 high.

About DKIM

DKIM uses a selector — a label before ._domainkey.. We probe 20 common selectors (default, google, k1, s1, s2, selector1, mail, dkim, mx, mandrill, mailjet, sendgrid, mailgun, postmark, smtp, email, sig1, sig2, cm). If your domain uses a custom selector, you'll see "DKIM not found" even if DKIM is actually configured. To find an unknown selector, look at your mail server's config or a sent message's raw headers.

Use it to

Monitor customer domains

If you run an ESP, SaaS, or transactional-mail product, score every sending domain daily. Alert the account owner if their score drops.

Pre-flight new domain setups

When a customer adds a new sending domain, run the check after they save it. Tell them what's missing before they send their first campaign.

Brand-protection audits

Check that your own domains stay locked down. A misconfigured SPF (or no DMARC) means anyone can spoof you.