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

DANE Record Validator API

POST

Catch invalid DANE and TLSA configurations before deployment.

DANE Record Validator validates DANE/TLSA DNS records used for certificate authentication, providing security analysis and best practice recommendations.

Try it — live request, no key required

Request
POSTapi.apiverve.com/v1/danevalidator
Body
Verification
Format

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

Example
{
  "status": "ok",
  "error": null,
  "data": {
    "raw_record": "_443._tcp.example.com. 86400 IN TLSA 3 1 1 0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
    "parsed": {
      "name": "_443._tcp.example.com.",
      "port": 443,
      "protocol": "tcp",
      "hostname": "example.com",
      "ttl": 86400,
      "class": "IN",
      "usage": 3,
      "selector": 1,
      "matching": 1,
      "certificate_data": "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
      "certificate_data_length": 64
    },
    "interpretation": {
      "usage": {
        "name": "DANE-EE",
        "description": "Domain-issued certificate",
        "full_description": "Certificate must exactly match the provided association data (most common)"
      },
      "selector": {
        "name": "SPKI",
        "description": "SubjectPublicKeyInfo",
        "full_description": "Match against the Subject Public Key Info (recommended)"
      },
      "matching": {
        "name": "SHA-256",
        "description": "SHA-256 hash",
        "full_description": "SHA-256 hash of the selected content (recommended)"
      },
      "security_level": "Recommended",
      "recommendation": "This is the recommended DANE configuration (DANE-EE + SPKI + SHA-256)"
    },
    "validation": {
      "is_valid": true,
      "certificate_data_format": "Valid hexadecimal",
      "certificate_data_length_valid": true
    }
  }
}

About the DANE Record Validator API

DANE Record Validator checks a DANE TLSA record before you publish it in DNS. Paste a full zone-file line or just the usage, selector, matching type and certificate data, and get back each field parsed out, along with checks on the certificate data's hexadecimal format and on its length for the chosen hash. Mistakes such as a truncated SHA-256 digest or an impossible usage value are caught before they break TLS for mail or web clients that enforce DANE.

Mail server operators use it when setting up DANE for SMTP, DNS and security teams use it to review TLSA records in change requests, and hosting tools use it to validate records customers enter before saving them.

The Free plan returns the parsed record, including port, protocol, hostname, TTL, class and the three numeric fields, plus the validation results. Paid plans add a plain-language interpretation of the usage, selector and matching type, a security level for the combination, and a recommendation that points toward the commonly advised DANE-EE, SPKI, SHA-256 setup.

How it works

The validator works on the record text you POST as record; it does not query DNS or fetch the server's certificate, so it checks syntax and internal consistency, not whether the record matches a live certificate. Parentheses are removed and the text is split on whitespace. If the first token starts with an underscore it is read as the owner name, such as _25._tcp.mail.example.com., and split into port, protocol and hostname, with the trailing dot removed from the hostname. A following number is treated as the TTL only when it is followed by a class or TLSA keyword or by the three numeric fields, so a short-form record is not misread. Class defaults to IN. Without an owner name the input is read as usage selector matching data, and name, port, hostname and ttl are null.

Certificate association data split across several tokens, as dig prints it, is joined before checking. usage must be 0 to 3, selector 0 or 1 and matching 0 to 2. The data must be hexadecimal with an even number of digits, exactly 64 for SHA-256 (matching 1) and 128 for SHA-512 (matching 2); full data (matching 0) may be any even length. Any failure returns a 400 that names the problem, so a successful response always has validation.is_valid true.

interpretation names each field (PKIX-TA, PKIX-EE, DANE-TA, DANE-EE; Cert or SPKI; Full, SHA-256 or SHA-512) and rates the combination: 3 1 1 is Recommended, any other DANE-EE or DANE-TA record is Good, and PKIX usages are Basic. It is null on the Free plan.

What people use it for

DANE Configuration
Validate DANE/TLSA record configuration to ensure proper certificate association and DNS security implementation
Authentication Audit
Audit DNS-based authentication of named entities (DANE) for email servers and web services security compliance
Security Scanning
Build DNS security scanning tools that validate TLSA records for certificate pinning and trust anchor verification
Certificate Pinning
Verify certificate pinning implementation using TLSA records to protect against man-in-the-middle attacks and CA compromise

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

Other ways to use DANE Record Validator

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

Questions.

Common questions about the DANE Record Validator API.

Read the docs →
What parts of a DANE or TLSA record does the validator check?
It validates the overall record structure, including the domain name, port, protocol, and DNS parameters like usage, selector, and matching type. It also verifies that the certificate association data is valid hexadecimal and meets length requirements.
Do I get the security analysis and recommendations on the Free plan?
No, detailed interpretation and security recommendations are premium fields. The Free plan validates record syntax and format, while any paid plan unlocks human-readable field explanations, security level ratings, and best practice recommendations.
How far does the Starter plan go for validating DANE records?
Each validation costs 2 credits, allowing up to 100,000 validations per month on the Starter plan. That works out to about $0.30 per 1,000 checks, while the Free plan includes 100 validations each month.
How does the API flag corrupted or malformed certificate data?
The response reports validation checks specifically for certificate data format and length. If the certificate string is not proper hexadecimal or has an incorrect length for the matching type, the validation flags report false.
Does it support custom port and transport protocol combinations?
Yes. It extracts and parses standard TLSA service prefixes, handling custom port numbers alongside both TCP and UDP protocol specifications.

Ready to build with DANE Record 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