Who it is for
Use bounded passive checks to enrich triage and investigation, not to replace authorized testing or human review.
Try a product, outcome, endpoint path, or API topic.
Analyze email authentication records including SPF, DKIM, and DMARC.
Analyze email authentication records including SPF, DKIM, and DMARC.
Use bounded passive checks to enrich triage and investigation, not to replace authorized testing or human review.
Choose this for a policy-oriented review of public email controls and published compliance signals.
Analyze email authentication records including SPF, DKIM, and DMARC.
Review the supported operations, inputs, outputs, execution modes, and response limits before integrating.
6 Authentication required. Check the operation reference for the exact cost and any per-item pricing.
Use documented operations to collect, assess, enrich, verify, compare, protect, or monitor public evidence.
| Parameter | Type | required |
|---|---|---|
| domain | string | required |
| selectors | string | optional |
| providers | string | optional |
| Field | Type |
|---|---|
domain |
string |
status |
string |
score |
integer |
grade |
string |
provider_readiness |
object |
provider_readiness.google |
object |
provider_readiness.google.provider |
string |
provider_readiness.google.display_name |
string |
provider_readiness.google.status |
string |
provider_readiness.google.dns_visible_status |
string |
provider_readiness.google.requirements[] |
object[] |
provider_readiness.google.requirements[] |
object |
provider_readiness.google.requirements[].id |
string |
provider_readiness.google.requirements[].label |
string |
provider_readiness.google.requirements[].status |
string |
provider_readiness.google.requirements[].severity |
string |
provider_readiness.google.requirements[].category |
string |
provider_readiness.google.requirements[].evidence |
string |
provider_readiness.google.requirements[].recommendation |
string |
provider_readiness.google.verification_required[] |
string[] |
provider_readiness.google.notes[] |
string[] |
provider_readiness.microsoft |
object |
provider_readiness.microsoft.provider |
string |
provider_readiness.microsoft.display_name |
string |
provider_readiness.microsoft.status |
string |
provider_readiness.microsoft.dns_visible_status |
string |
provider_readiness.microsoft.requirements[] |
object[] |
provider_readiness.microsoft.requirements[] |
object |
provider_readiness.microsoft.requirements[].id |
string |
provider_readiness.microsoft.requirements[].label |
string |
provider_readiness.microsoft.requirements[].status |
string |
provider_readiness.microsoft.requirements[].severity |
string |
provider_readiness.microsoft.requirements[].category |
string |
provider_readiness.microsoft.requirements[].evidence |
string |
provider_readiness.microsoft.requirements[].recommendation |
string |
provider_readiness.microsoft.verification_required[] |
string[] |
provider_readiness.microsoft.notes[] |
string[] |
summary |
object |
summary.authentication |
object |
summary.transport |
object |
summary.dns_security |
object |
summary.brand_trust |
object |
action_items[] |
object[] |
action_items[] |
object |
action_items[].priority |
string |
action_items[].category |
string |
action_items[].title |
string |
action_items[].detail |
string |
action_items[].fix |
string |
evidence |
object |
evidence.email_auth |
object |
evidence.dns_security |
object |
proxy |
object |
proxy.configured |
boolean |
proxy.enriched |
boolean |
proxy.checks[] |
string[] |
limitations[] |
string[] |
checked_at |
string |
check_duration_ms |
integer |
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/email/compliance?domain=example.com&selectors=google%2Cselector1%2Csendgrid&providers=google%2Cmicrosoft"
{
"domain": "example.com",
"status": "warn",
"score": 82,
"grade": "B",
"provider_readiness": {
"google": {
"provider": "google",
"display_name": "Google/Gmail bulk sender readiness",
"status": "pass",
"dns_visible_status": "pass",
"requirements": [
{
"id": "google_spf",
"label": "SPF must be configured for bulk senders",
"status": "pass",
"severity": "critical",
"category": "dns",
"evidence": "SPF policy: softfail",
"recommendation": "Publish one valid SPF record that covers every approved sending platform."
},
{
"id": "google_alignment",
"label": "From domain must align with either SPF or DKIM on live messages",
"status": "unknown",
"severity": "high",
"category": "message",
"evidence": "Alignment requires Authentication-Results from a real sent message",
"recommendation": "Send a test message and verify SPF or DKIM alignment."
}
],
"verification_required": [
"From domain must align with either SPF or DKIM on live messages",
"Outbound mail must be transmitted over TLS"
],
"notes": [
"Status is based on DNS-visible controls. Live sending requirements still need message-header and sender-platform verification."
]
},
"microsoft": {
"provider": "microsoft",
"display_name": "Microsoft Outlook.com high-volume sender readiness",
"status": "pass",
"dns_visible_status": "pass",
"requirements": [],
"verification_required": [
"DMARC must align with either SPF or DKIM"
],
"notes": [
"Status is based on DNS-visible controls. Live sending requirements still need message-header and sender-platform verification."
]
}
},
"summary": {
"authentication": {
"spf": {
"status": "pass",
"record": "v=spf1 include:_spf.example.com ~all",
"policy": "softfail",
"lookup_count": 3,
"lookup_limit_exceeded": false
},
"dkim": {
"status": "pass",
"selectors_checked": [
"google",
"selector1",
"sendgrid"
],
"selectors_found": [
"google"
],
"valid_selector_count": 1,
"weak_selector_count": 0,
"revoked_selector_count": 0,
"providers_detected": [
"Google Workspace"
]
},
"dmarc": {
"status": "warn",
"record": "v=DMARC1; p=none; rua=mailto:[email protected]",
"policy": "none",
"subdomain_policy": null,
"percentage": 100,
"rua": [
"mailto:[email protected]"
],
"alignment_mode": {
"spf": null,
"dkim": null
}
}
},
"transport": {
"mta_sts": {
"status": "pass",
"mode": "enforce",
"policy_fetch_ok": true,
"policy_matches_mx": true
},
"tls_rpt": {
"status": "pass",
"rua": [
"mailto:[email protected]"
]
},
"mx_records": [
"aspmx.l.google.com"
],
"client_access_secure_services": 1
},
"dns_security": {
"dnssec": "pass",
"caa": "pass",
"zone_transfer": "pass",
"authoritative_consistency": "pass",
"blacklist": "pass"
},
"brand_trust": {
"bimi": "unknown",
"vmc": "unknown"
}
},
"action_items": [
{
"priority": "medium",
"category": "authentication",
"title": "Move DMARC beyond monitoring mode",
"detail": "DMARC is valid but still uses p=none.",
"fix": "After reviewing aggregate reports, move to p=quarantine or p=reject."
}
],
"evidence": {
"email_auth": {
"spf": {
"record": "v=spf1 include:_spf.example.com ~all"
},
"dmarc": {
"record": "v=DMARC1; p=none; rua=mailto:[email protected]"
}
},
"dns_security": {
"security_score": 86,
"security_grade": "B"
}
},
"proxy": {
"configured": true,
"enriched": true,
"checks": [
"spf_walk",
"mail_policies",
"dkim_audit",
"bimi_audit"
]
},
"limitations": [
"DNS-visible checks cannot prove live message-level SPF, DKIM, DMARC alignment, RFC 5322 formatting, spam rate, or one-click unsubscribe behavior."
],
"checked_at": "2026-04-26T12:00:00Z",
"check_duration_ms": 642
}
Reviewed 2026-08-22
Use the API reference for Email Compliance to review parameters, response fields, examples, status codes, and supported operation modes.
Unknown or partial results mean that the requested evidence could not be fully determined. Keep the result state, confidence, freshness, and limitations in downstream decisions.
Pricing depends on the operation and execution mode. Check the endpoint reference for the current credit cost, authentication requirement, and per-item rules.
Used by people at amazing companies