NewAPIVerve Academy: free courses and certifications anyone can verify.Explore the Academy →

DMARC Validator API

GET

Know if any domain has a valid DMARC record and policy.

DMARC Validator is a DMARC record validator API that checks the Domain-based Message Authentication, Reporting and Conformance (DMARC) record for a domain to ensure it is correctly configured.

Try it — live request, no key required

Request
GETapi.apiverve.com/v1/dmarcvalidator?domain=paypal.com
Query parameters
Verification
Format

No key required to try it. Get a key to use it in your app.

Example
{
  "status": "ok",
  "error": null,
  "data": {
    "host": "paypal.com",
    "dmarcHost": "_dmarc.paypal.com",
    "hasDmarc": true,
    "dmarc_record": "v=DMARC1; p=reject; rua=mailto:d@rua.agari.com,mailto:dmarc_agg@vali.email; ruf=mailto:d@ruf.agari.com,mailto:MTc4Mzcw@ruf.vali.email",
    "rua": {
      "email": "d@rua.agari.com,dmarc_agg@vali.email",
      "domain": "rua.agari.com",
      "valid": true
    },
    "ruf": {
      "email": "d@ruf.agari.com,MTc4Mzcw@ruf.vali.email",
      "domain": "ruf.agari.com",
      "valid": true
    },
    "v": "DMARC1",
    "p": "reject",
    "sp": null,
    "pct": null,
    "adkim": null,
    "aspf": null,
    "fo": null,
    "rf": null,
    "ri": null,
    "valid": true,
    "issues": [],
    "isEnforced": true,
    "riskScore": 5,
    "riskLevel": "low"
  }
}

About the DMARC Validator API

A DMARC record lookup API. Send a domain and it reads the published DMARC policy, splits it into its tags and tells you whether the record is usable: the policy (none, quarantine or reject), the subdomain policy, the rollout percentage, the DKIM and SPF alignment modes, the reporting options and any problems found, such as a missing or misspelled policy.

Email security teams, deliverability consultants and SaaS products that send on a customer's behalf use it to audit sender domains, to check a DMARC change after it propagates, and to screen vendors or new signups for how easily their domain can be spoofed.

The Free plan returns the raw record, every parsed tag, the domain that aggregate and forensic reports go to, the issues list and an overall verdict. Paid plans add the full report addresses with a check that each is a well-formed email address, whether the domain actively enforces DMARC, and an email-spoofing risk score from 0 to 100 with a low, medium or high band, so you can rank domains by email deliverability and protection against spoofing without reading each policy yourself.

How it works

DMARC Validator queries TXT records at _dmarc.<domain>, after removing any scheme and leading www. from domain. The first record beginning with v=DMARC1 (case-insensitive) becomes dmarc_record, and hasDmarc and valid become true. The record is split on ; and each tag on its first =.

p is checked against none, quarantine and reject; any other value adds INVALID_POLICY to issues, and a missing p adds MISSING_POLICY. pct is returned as a number clamped to 0 to 100, and a non-numeric value is reported as 100 with an INVALID_PCT issue. pct stays null when the tag is absent, which means the default of 100. ri is returned as a number. sp, adkim, aspf, fo and rf are passed through as written and are null when absent.

rua and ruf strip mailto: from each comma-separated address and drop any !size suffix. valid is true only when every address is a well-formed email; domain is the domain of the first one.

isEnforced is true only when the policy is quarantine or reject and pct is absent or 100. riskScore starts from the policy: 75 for no record or no policy, 60 for none or an unrecognised value, 30 for quarantine and 5 for reject. It then adds 20 when an enforcing policy covers less than 100 percent of mail. riskLevel is high at 60 or above, medium from 25 and low below that. If DNS does not answer, the call returns a 503 instead of reporting the domain as unprotected. Results are cached for 30 minutes. On the Free plan the report addresses and their valid flags, isEnforced, riskScore and riskLevel are removed.

What people use it for

Vendor Security Audits
Audit partner domains during vendor reviews by inspecting their published DMARC policy and flagging entries set to none instead of reject.
Outbound Campaign Verification
Before sending mass marketing broadcasts, deliverability platforms verify sender domains to confirm that DMARC records exist and specify strict alignment modes.
Inbound Mail Protection
To stop spoofed sender addresses, secure email gateways evaluate incoming message domains against live DMARC policies and quarantine suspicious traffic.
Domain Portfolio Health
DNS administrators track customer domains across registrars to detect misconfigured report addresses, missing subdomain policies, and unaddressed syntax issues.

Ways to call it

One endpoint, many ways in — REST with JSON, XML, YAML and CSV, plus GraphQL and an MCP interface for AI agents.

JSON
Default REST response
XML
Markup format
YAML
Human-readable
CSV
Tabular export
Beta
GraphQL
Query language
New
MCP
For AI agents

How it compares

Side by side with the tools people weigh DMARC Validator against — what each one is better at, in plain terms.

Other ways to use DMARC Validator

Same data, same APIVerve account, same credit balance — one key works on all of them.

Questions.

Common questions about the DMARC Validator API.

Read the docs →
How far does the Starter plan go for domain checks?
Starter covers 20,000 domain validations each month. That works out to about $0.0015 per call, or $1.50 per 1,000 checks. If you want to evaluate responses before committing, the Free plan includes 20 calls per month.
Are the spoofing risk score and enforcement status included on the Free plan?
No, risk scores, risk levels, and the enforcement flag are premium fields reserved for paid plans. The Free plan returns basic record validation and alignment tags, while any paid plan unlocks full risk scoring, enforcement checks, and reporting email validation.
Does this check live DNS records or cached data?
DMARC Validator queries DNS records in real time on every call. It looks up the live TXT record published for the domain, ensuring you inspect current policies, report destinations, and alignment modes as soon as DNS changes propagate.
What happens if a domain has no DMARC record published?
When a domain lacks a DMARC entry, the response sets hasDmarc to false and marks valid as false. Specific problems, such as a missing policy tag or absent record, are returned in the issues array so your code can handle unconfigured domains cleanly.
Can I use these validation results inside my commercial SaaS platform?
Yes, commercial use is allowed on all paid plans. You can embed the validation and spoofing risk metrics into your own email deliverability monitors, onboarding workflows, or security dashboards, as long as you do not resell or redistribute the raw API responses directly.

Ready to build with DMARC Validator? Start with 200 free credits — one key unlocks all 300+ APIs.

Explore the catalog

300+ APIs on the same key and the same response shape.

Browse all APIs