{"uid":"cap_Tnbmhsdxbk74nUfKtDsrX","slug":"dmarc-txt-record-parser-bb7afe18","name":"DMARC TXT Record Parser","description":"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.","url":"https://emailauth.openverbs.com/v1/dmarc-parse","method":"POST","headers":{},"bodySchema":{"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}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.004","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.004/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.004","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.004","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_Yx6dHedKeNyLSUTc5FPBR","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.004","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Parses a raw DMARC TXT record string into its structured policy, alignment, sampling rate, and reporting tags","exampleAgentPrompt":"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'?","exampleUseCases":[{"title":"Audit domain email security policy","prompt":"I have this DMARC record from our DNS: 'v=DMARC1; p=quarantine; adkim=r; aspf=r; rua=mailto:reports@ourcompany.com; pct=50' — can you break it down and tell me what the policy, alignment modes, and sampling rate are?"},{"title":"Debug misconfigured DMARC record","prompt":"Our email deliverability tool flagged a DMARC issue. Can you parse 'v=DMARC1; p=none; rua=mailto:dmarc@example.com' and show me all the tags and their values so I can see what's missing or misconfigured?"},{"title":"Validate DMARC before DNS deployment","prompt":"Before I publish this DMARC record to DNS, can you parse it and confirm the policy and alignment fields are valid: 'v=DMARC1; p=reject; adkim=s; aspf=s; fo=1; ruf=mailto:forensics@mydomain.com; pct=100'?"}],"resultDescription":"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.","failureModes":["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"],"whenToPreferThis":"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.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T18:35:03.918Z","isFirstParty":false}