# DMARC TXT Record Parser

> DMARC TXT Record Parser is a paid API for AI agents from emailauth.openverbs.com, paid per call via x402, $0.004/call, status unknown (last checked 2026-09-14).

Parses a raw DMARC TXT record string into its structured policy, alignment, sampling rate, and reporting tags

## Facts

- Endpoint: POST https://emailauth.openverbs.com/v1/dmarc-parse
- Price: $0.004/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/dmarc-txt-record-parser-bb7afe18
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Tnbmhsdxbk74nUfKtDsrX

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability dmarc-txt-record-parser-bb7afe18 -d '<json body>'
```

Example prompt: Can you parse this DMARC record for me and tell me what policy, alignment settings, and reporting addresses it contains: 'v=DMARC1; p=reject; adkim=s; aspf=r; rua=mailto:dmarc@example.com; pct=100'?

## When to prefer this

Use this endpoint when you need to programmatically parse and extract structured data from a raw DMARC TXT record string. It is purpose-built for DMARC specifically (vs. SPF or DKIM parsers on the same platform) and cleanly handles invalid field values with typed errors. Prefer this over regex-based parsing when you need reliable field extraction with validation, particularly for policy, alignment, and reporting tag fields.

## Known failure modes

- Missing or invalid 'p' policy value returns 400
- Invalid alignment value for adkim or aspf returns 400
- Invalid pct value (out of 0-100 range or non-numeric) returns 400
- Malformed or non-DMARC record string (missing v=DMARC1) returns 400
- Empty record string returns 400

## How this service works

Parse a DMARC TXT record ("v=DMARC1; p=…") into its policy, alignment, sampling and reporting tags. Missing or invalid policy/alignment/pct values are clean 400s.

## Output

A structured breakdown of the DMARC TXT record's fields, including the policy tag (p: none/quarantine/reject), DKIM and SPF alignment modes (adkim/aspf), sampling percentage (pct), aggregate reporting URIs (rua), forensic reporting URIs (ruf), failure reporting options (fo), and subdomain policy (sp). Invalid or missing required fields such as policy, alignment, or pct return clean 400 error responses.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "type": "object",
     "required": [
      "record"
     ],
     "properties": {
      "record": {
       "type": "string",
       "description": "DMARC TXT record, e.g. \"v=DMARC1; p=reject; rua=mailto:dmarc@example.com; pct=100\"."
      }
     },
     "additionalProperties": false
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/dmarc-txt-record-parser-bb7afe18/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from emailauth.openverbs.com](https://www.zero.xyz/host/emailauth.openverbs.com/llms.txt)
