{"uid":"cap_DkJ0Ug1IpqMPEL9_EQqQ0","slug":"lookproof-dns-zone-file-linter-9f20d7e2","name":"Lookproof DNS Zone File Linter","description":"Check SPF, DMARC, DKIM, MTA-STS, DNSSEC and more, with results that explain what was found and why. Free browser checks and a pay-per-request API with x402.","url":"https://api.lookproof.dev/v1/dns/zone-lint?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"zone":{"type":"string","title":"Zone","maxLength":65536,"minLength":1},"origin":{"type":"string","title":"Origin","examples":["example.com","2.0.192.in-addr.arpa"],"maxLength":1024,"minLength":1}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.002","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.002/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_KUqRbiNZUoWsep0jDBVk8","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.002","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Validates a pasted DNS zone file (RFC 1035 master format) for syntax errors, structural issues, and common misconfigurations before loading","exampleAgentPrompt":"Can you lint my DNS zone file for example.com and flag any issues before I load it? Here's the zone content: '$TTL 3600\\n@ IN SOA ns1.example.com. admin.example.com. 2024010101 3600 900 604800 300\\n@ IN NS ns1.example.com.\\n@ IN NS ns2.example.com.\\nwww IN A 93.184.216.34'","exampleUseCases":[{"title":"Pre-deployment zone file check","prompt":"Before I push this zone file to production for mycompany.com, can you run it through the DNS linter to catch any CNAME conflicts, missing NS addresses, or SOA timer problems? Here's the full zone text."},{"title":"Debugging CNAME apex conflict","prompt":"I keep getting errors when I try to load my zone for mybrand.io — I think there's a CNAME at the apex conflicting with other records. Can you lint this zone file with origin mybrand.io and tell me exactly what's wrong?"},{"title":"Validating reverse DNS zone","prompt":"Can you check this reverse DNS zone file for 2.0.192.in-addr.arpa for me? I want to make sure the SOA and NS records look right and there are no duplicate PTR entries or out-of-zone names before I hand it off to the team."}],"resultDescription":"A structured list of issues found in the zone file, including unreadable/unparseable lines, missing or misplaced SOA and NS records at the apex, CNAME-at-apex or CNAME-alongside-other-data conflicts, duplicate resource records, records with mixed TTLs in the same RRset, out-of-zone names, NS or MX targets lacking associated address records, and SOA timer value warnings. Returns clean output if no issues are found. Runs entirely offline with no external DNS queries.","failureModes":["Zone file exceeds 64 KiB limit — request rejected","Missing required 'zone' or 'origin' fields — validation error returned","Malformed origin domain — parsing error","Zone file encoding issues preventing parsing — unreadable line errors reported","Payment failure or insufficient USDC balance — x402 payment error"],"whenToPreferThis":"Use this endpoint when an agent is editing or generating a DNS zone file and needs to validate it offline before submitting it to a nameserver or DNS provider. Ideal for pre-deployment checks, CI/CD pipelines that manage DNS, or any workflow where a zone file is constructed programmatically and must be verified for RFC 1035 compliance and common misconfigurations. Prefer this over live DNS resolution tools (like the sibling NS-check endpoint) when the zone file hasn't been loaded yet and you need static analysis only.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-31T18:30:06.272Z","isFirstParty":false,"canonicalSlug":"lookproof-dns-zone-file-linter-9f20d7e2"}