Generate a domain health report.
Roll five diagnostics into one scorecard — DNS, SSL expiry, SPF, DMARC, and domain expiration — so you catch deliverability and security gaps before they bite.
- DNS Lookup6 cr
- SSL Certificate Checker10 cr
- SPF Validator10 cr
- DMARC Validator10 cr
- Domain Expiration10 cr
An expired certificate, a missing DMARC record, or a domain about to lapse rarely announces itself — until email stops landing or the site throws warnings. A scheduled check turns silent failures into alerts.
A pass/fail health report you can run on a schedule and surface in a dashboard or alert when something regresses.
How the calls chain together
Every response below is a live sample from the actual API — nothing mocked.
Resolve DNS records
Pull the domain's A, MX, TXT, and other records as the baseline for every other check.
Sample response
{
"domain": "google.com",
"records": {
"A": [
"172.253.156.100",
"172.253.156.113",
"172.253.156.101",
"172.253.156.139",
"172.253.156.138",
"172.253.156.102"
],
"AAAA": [
"2607:f8b0:4023:100d::65",
"2607:f8b0:4023:100d::8a",
"2607:f8b0:4023:100d::71",
"2607:f8b0:4023:100d::64"
],
"CNAME": null,
"MX": [
{
"exchange": "smtp.google.com",
"priority": 10
}
],
"NS": [
"ns4.google.com",
"ns3.google.com",
"ns2.google.com",
"ns1.google.com"
],
"PTR": null,
"SRV": null,
"SOA": {
"nsname": "ns1.google.com",
"hostmaster": "dns-admin.google.com",
"serial": 1005474929,
"refresh": 900,
"retry": 900,
"expire": 1800,
"minttl": 60
},
"TXT": [
[
"onetrust-domain-verification=0d477fe608074e6f9c12bca7826035cc"
],
[
"work-accounts-domain-verification=Tcj6JjIMZOw2KsSEw2Nt2rLae89tN6"
],
[
"google-site-verification=wD8N7i1JTNTkezJ49swvWW48f8_9xveREV4oB-0Hf5o"
],
[
"Z29vZ2xl"
],
[
"globalsign-smime-dv=CDYX+XFHUw2wml6/Gb8+59BsH31KzUr6c1l2BPvqKX8="
],
[
"arcules-domain-verification=2R4t5G7nI6tRCo61lpxxbLksPYstxhGmtV75cpr8x9K"
],
[
"v=spf1 include:_spf.google.com ~all"
],
[
"_r4rd1pvwyrpi7sw4a3hzmw8e51yh9td"
],
[
"apple-domain-verification=30afIBcvSuDV2PLX"
],
[
"onetrust-domain-verification=6d685f1d41a94696ad7ef771f68993e0"
],
[
"facebook-domain-verification=22rm551cu4k0ab0bxsw536tlds4h95"
],
[
"google-site-verification=TV9-DBe4R80X4v0M4U_bd_J9cpOJM0nikft0jAgjmsQ"
],
[
"MS=E4A68B9AB2BB9670BCE15412F62916164C0B20BB"
],
[
"docusign=05958488-4752-4ef2-95eb-aa7ba8a3bd0e"
],
[
"google-site-verification=4ibFUgB-wXLQ_S7vsXVomSTVamuOXBiVAzpR5IZ87D0"
],
[
"docusign=1b0a6754-49b1-4db5-8540-d2c12664b289"
],
[
"cisco-ci-domain-verification=47c38bc8c4b74b7233e9053220c1bbe76bcc1cd33c7acf7acd36cd6a5332004b"
]
],
"CAA": [
{
"critical": 0,
"issue": "pki.goog"
}
]
},
"ttl": {
"A": 10,
"AAAA": 2,
"CNAME": null,
"MX": 74,
"NS": 15382,
"PTR": null,
"SRV": null,
"SOA": 25,
"TXT": 300,
"CAA": 21600
},
"summary": {
"hasIPv6": true,
"hasMailServers": true,
"hasSPF": true
}
}Inspect the certificate
Read the SSL certificate's issuer and expiry so you're never surprised by a lapse.
Sample response
{
"subject": {
"C": "US",
"ST": "California",
"O": "eBay, Inc.",
"CN": "ebay.com"
},
"issuer": {
"C": "GB",
"O": "Sectigo Limited",
"CN": "Sectigo Public Server Authentication CA OV R40"
},
"subjectaltname": "DNS:ebay.com, DNS:befr.ebay.be, DNS:benl.ebay.be, DNS:cafr.ebay.ca, DNS:e-bay.com, DNS:e-bay.it, DNS:ebay.at, DNS:ebay.be, DNS:ebay.ca, DNS:ebay.ch, DNS:ebay.co.nz, DNS:ebay.co.uk, DNS:ebay.com.au, DNS:ebay.com.cn, DNS:ebay.com.hk, DNS:ebay.com.my, DNS:ebay.com.ph, DNS:ebay.com.sg, DNS:ebay.de, DNS:ebay.es, DNS:ebay.fr, DNS:ebay.ie, DNS:ebay.in, DNS:ebay.io, DNS:ebay.it, DNS:ebay.nl, DNS:ebay.ph, DNS:ebay.pl, DNS:ebay.us, DNS:ebay.vn, DNS:shorturiweb.ebay.com, DNS:wwww.ebay.co.uk, DNS:wwww.ebay.com, DNS:wwww.ebay.com.au, DNS:wwww.ebay.de, DNS:wwww.ebay.in, DNS:wwww.ebay.it",
"infoAccess": {
"CA Issuers - URI": [
"http://crt.sectigo.com/SectigoPublicServerAuthenticationCAOVR40.crt"
],
"OCSP - URI": [
"http://ocsp.sectigo.com"
]
},
"ca": false,
"bits": 2048,
"valid_from": "Oct 6 00:00:00 2026 GMT",
"valid_to": "Apr 22 23:59:59 2027 GMT",
"serialNumber": "19FD41E42C169CF248511D2BEE660A83",
"domain": "ebay.com",
"isExpired": false,
"isValid": true,
"daysUntilExpiry": 182,
"isExpiringSoon": false,
"isSelfSigned": false,
"protocol": "TLSv1.3",
"cipher": "TLS_AES_128_GCM_SHA256",
"isTrusted": true,
"trustError": null,
"hostnameMatches": true,
"chain": [
{
"subject": "ebay.com",
"issuer": "Sectigo Public Server Authentication CA OV R40",
"validTo": "Apr 22 23:59:59 2027 GMT",
"isCA": false
},
{
"subject": "Sectigo Public Server Authentication CA OV R40",
"issuer": "Sectigo Public Server Authentication Root R46",
"validTo": "May 13 23:59:59 2040 GMT",
"isCA": true
},
{
"subject": "Sectigo Public Server Authentication Root R46",
"issuer": "USERTrust RSA Certification Authority",
"validTo": "Jan 18 23:59:59 2038 GMT",
"isCA": true
},
{
"subject": "USERTrust RSA Certification Authority",
"issuer": "USERTrust RSA Certification Authority",
"validTo": "Jan 18 23:59:59 2038 GMT",
"isCA": true
}
],
"keyType": "RSA",
"signatureAlgorithm": "sha256WithRSAEncryption",
"hasEmbeddedSCTs": true,
"ocspStapled": true,
"hsts": {
"present": true,
"maxAge": 31536000,
"includeSubDomains": false,
"preload": false
}
}Validate SPF
Confirm the SPF record exists, is valid, and has no lookup or syntax issues.
Sample response
{
"host": "myspace.com",
"has_spf_record": true,
"dns_lookups_num": 9,
"spf_record": "v=spf1 mx ip4:63.208.226.34 ip4:204.16.32.0/22 ip4:67.134.143.0/24 ip4:216.205.243.0/24 ip4:34.85.156.5/32 ip4:35.245.108.108/32 ip4:34.86.129.193/32 ip4:34.86.134.94/32 ip4:34.85.222.234/32 ip4:34.86.176.234/32 ip4:34.86.125.212/32 ip4:34.85.224.60/32 ip4:34.86.160.49/32 ip4:35.245.64.166/32 ip4:35.188.226.11/32 ip4:34.86.208.228/32 ip4:34.85.216.144/32 ip4:35.221.22.153/32 ip4:34.86.137.108/32 ip4:34.86.51.35/32 ip4:34.150.221.40/32 ip4:34.85.216.70/32 ip4:34.86.37.191/32 ip4:34.85.214.215/32 ip4:35.236.234.82/32 ip4:34.86.161.241/32 ip4:216.32.181.16 ip4:216.178.32.0/20 ip4:168.235.224.0/24 include:_netblocks.mimecast.com -all",
"spf_records_list": [
{
"origin": "myspace.com",
"record": "v=spf1 mx ip4:63.208.226.34 ip4:204.16.32.0/22 ip4:67.134.143.0/24 ip4:216.205.243.0/24 ip4:34.85.156.5/32 ip4:35.245.108.108/32 ip4:34.86.129.193/32 ip4:34.86.134.94/32 ip4:34.85.222.234/32 ip4:34.86.176.234/32 ip4:34.86.125.212/32 ip4:34.85.224.60/32 ip4:34.86.160.49/32 ip4:35.245.64.166/32 ip4:35.188.226.11/32 ip4:34.86.208.228/32 ip4:34.85.216.144/32 ip4:35.221.22.153/32 ip4:34.86.137.108/32 ip4:34.86.51.35/32 ip4:34.150.221.40/32 ip4:34.85.216.70/32 ip4:34.86.37.191/32 ip4:34.85.214.215/32 ip4:35.236.234.82/32 ip4:34.86.161.241/32 ip4:216.32.181.16 ip4:216.178.32.0/20 ip4:168.235.224.0/24 include:_netblocks.mimecast.com -all",
"chars_num": 637,
"use_macro": false,
"domains": [
"_netblocks.mimecast.com"
],
"authorized_ips": {
"ipv4": [
"63.208.226.34",
"204.16.32.0/22",
"67.134.143.0/24",
"216.205.243.0/24",
"34.85.156.5/32",
"35.245.108.108/32",
"34.86.129.193/32",
"34.86.134.94/32",
"34.85.222.234/32",
"34.86.176.234/32",
"34.86.125.212/32",
"34.85.224.60/32",
"34.86.160.49/32",
"35.245.64.166/32",
"35.188.226.11/32",
"34.86.208.228/32",
"34.85.216.144/32",
"35.221.22.153/32",
"34.86.137.108/32",
"34.86.51.35/32",
"34.150.221.40/32",
"34.85.216.70/32",
"34.86.37.191/32",
"34.85.214.215/32",
"35.236.234.82/32",
"34.86.161.241/32",
"216.32.181.16",
"216.178.32.0/20",
"168.235.224.0/24"
]
}
},
{
"origin": "_netblocks.mimecast.com",
"record": "v=spf1 include:eu._netblocks.mimecast.com include:us._netblocks.mimecast.com include:za._netblocks.mimecast.com include:de._netblocks.mimecast.com include:au._netblocks.mimecast.com include:ca._netblocks.mimecast.com include:usb._netblocks.mimecast.com ~all",
"chars_num": 257,
"use_macro": false,
"domains": [
"eu._netblocks.mimecast.com",
"us._netblocks.mimecast.com",
"za._netblocks.mimecast.com",
"de._netblocks.mimecast.com",
"au._netblocks.mimecast.com",
"ca._netblocks.mimecast.com",
"usb._netblocks.mimecast.com"
]
},
{
"origin": "eu._netblocks.mimecast.com",
"record": "v=spf1 ip4:195.130.217.0/24 ip4:91.220.42.0/24 ip4:146.101.78.0/24 ip4:207.82.80.0/24 ip4:213.167.81.0/25 ip4:193.7.207.0/25 ip4:213.167.75.0/25 ip4:185.58.85.0/24 ip4:185.58.86.0/24 ip4:193.7.206.0/25 ip4:147.28.36.0/24 ~all",
"chars_num": 225,
"use_macro": false,
"authorized_ips": {
"ipv4": [
"195.130.217.0/24",
"91.220.42.0/24",
"146.101.78.0/24",
"207.82.80.0/24",
"213.167.81.0/25",
"193.7.207.0/25",
"213.167.75.0/25",
"185.58.85.0/24",
"185.58.86.0/24",
"193.7.206.0/25",
"147.28.36.0/24"
]
}
},
{
"origin": "us._netblocks.mimecast.com",
"record": "v=spf1 ip4:207.211.31.0/25 ip4:205.139.110.0/24 ip4:216.205.24.0/24 ip4:170.10.129.0/24 ip4:63.128.21.0/24 ip4:170.10.133.0/24 ip4:185.58.84.93/32 ip4:207.211.41.113/32 ip4:207.211.30.64/26 ip4:207.211.30.128/25 ip4:216.145.221.0/24 ip4:170.10.128.0/24 ip4:170.10.132.56/29 ip4:170.10.132.64/29 ~all",
"chars_num": 299,
"use_macro": false,
"authorized_ips": {
"ipv4": [
"207.211.31.0/25",
"205.139.110.0/24",
"216.205.24.0/24",
"170.10.129.0/24",
"63.128.21.0/24",
"170.10.133.0/24",
"185.58.84.93/32",
"207.211.41.113/32",
"207.211.30.64/26",
"207.211.30.128/25",
"216.145.221.0/24",
"170.10.128.0/24",
"170.10.132.56/29",
"170.10.132.64/29"
]
}
},
{
"origin": "za._netblocks.mimecast.com",
"record": "v=spf1 ip4:41.74.192.0/22 ip4:41.74.200.0/23 ip4:41.74.196.0/22 ip4:41.74.204.0/23 ip4:41.74.206.0/24 ~all",
"chars_num": 106,
"use_macro": false,
"authorized_ips": {
"ipv4": [
"41.74.192.0/22",
"41.74.200.0/23",
"41.74.196.0/22",
"41.74.204.0/23",
"41.74.206.0/24"
]
}
},
{
"origin": "de._netblocks.mimecast.com",
"record": "v=spf1 ip4:51.163.158.0/24 ip4:194.104.109.0/24 ip4:194.104.111.0/24 ip4:194.104.110.21/32 ip4:194.104.110.240/28 ip4:62.140.10.21/32 ip4:62.140.7.0/24 ip4:194.104.108.240/29 ip4:194.104.108.21/32 ip4:51.163.159.0/24 ~all",
"chars_num": 221,
"use_macro": false,
"authorized_ips": {
"ipv4": [
"51.163.158.0/24",
"194.104.109.0/24",
"194.104.111.0/24",
"194.104.110.21/32",
"194.104.110.240/28",
"62.140.10.21/32",
"62.140.7.0/24",
"194.104.108.240/29",
"194.104.108.21/32",
"51.163.159.0/24"
]
}
},
{
"origin": "au._netblocks.mimecast.com",
"record": "v=spf1 ip4:103.13.69.0/24 ip4:124.47.150.0/24 ip4:124.47.189.0/24 ip4:103.96.23.0/24 ip4:103.96.21.0/24 ip4:180.189.28.0/24 ip4:216.145.217.0/24 ip4:103.96.22.96/28 ip4:103.96.22.22/32 ip4:103.96.20.22/32 ip4:103.96.20.96/28 ~all",
"chars_num": 229,
"use_macro": false,
"authorized_ips": {
"ipv4": [
"103.13.69.0/24",
"124.47.150.0/24",
"124.47.189.0/24",
"103.96.23.0/24",
"103.96.21.0/24",
"180.189.28.0/24",
"216.145.217.0/24",
"103.96.22.96/28",
"103.96.22.22/32",
"103.96.20.22/32",
"103.96.20.96/28"
]
}
},
{
"origin": "ca._netblocks.mimecast.com",
"record": "v=spf1 ip4:170.10.145.0/24 ip4:170.10.147.0/24 ip4:170.10.144.126/32 ip4:170.10.146.126/32 ip4:170.10.144.240/29 ip4:170.10.146.240/29 ip4:216.145.216.0/24 ~all",
"chars_num": 160,
"use_macro": false,
"authorized_ips": {
"ipv4": [
"170.10.145.0/24",
"170.10.147.0/24",
"170.10.144.126/32",
"170.10.146.126/32",
"170.10.144.240/29",
"170.10.146.240/29",
"216.145.216.0/24"
]
}
},
{
"origin": "usb._netblocks.mimecast.com",
"record": "v=spf1 ip4:170.10.151.0/24 ip4:170.10.153.0/24 ip4:170.10.150.240/29 ip4:170.10.152.240/29 ip4:170.10.156.0/24 ip4:170.10.157.0/24 ~all",
"chars_num": 135,
"use_macro": false,
"authorized_ips": {
"ipv4": [
"170.10.151.0/24",
"170.10.153.0/24",
"170.10.150.240/29",
"170.10.152.240/29",
"170.10.156.0/24",
"170.10.157.0/24"
]
}
}
],
"domains_extracted": [
"myspace.com",
"_netblocks.mimecast.com",
"eu._netblocks.mimecast.com",
"us._netblocks.mimecast.com",
"za._netblocks.mimecast.com",
"de._netblocks.mimecast.com",
"au._netblocks.mimecast.com",
"ca._netblocks.mimecast.com",
"usb._netblocks.mimecast.com"
],
"authorized_ips": {
"ipv4": [
"63.208.226.34",
"204.16.32.0/22",
"67.134.143.0/24",
"216.205.243.0/24",
"34.85.156.5/32",
"35.245.108.108/32",
"34.86.129.193/32",
"34.86.134.94/32",
"34.85.222.234/32",
"34.86.176.234/32",
"34.86.125.212/32",
"34.85.224.60/32",
"34.86.160.49/32",
"35.245.64.166/32",
"35.188.226.11/32",
"34.86.208.228/32",
"34.85.216.144/32",
"35.221.22.153/32",
"34.86.137.108/32",
"34.86.51.35/32",
"34.150.221.40/32",
"34.85.216.70/32",
"34.86.37.191/32",
"34.85.214.215/32",
"35.236.234.82/32",
"34.86.161.241/32",
"216.32.181.16",
"216.178.32.0/20",
"168.235.224.0/24",
"195.130.217.0/24",
"91.220.42.0/24",
"146.101.78.0/24",
"207.82.80.0/24",
"213.167.81.0/25",
"193.7.207.0/25",
"213.167.75.0/25",
"185.58.85.0/24",
"185.58.86.0/24",
"193.7.206.0/25",
"147.28.36.0/24",
"207.211.31.0/25",
"205.139.110.0/24",
"216.205.24.0/24",
"170.10.129.0/24",
"63.128.21.0/24",
"170.10.133.0/24",
"185.58.84.93/32",
"207.211.41.113/32",
"207.211.30.64/26",
"207.211.30.128/25",
"216.145.221.0/24",
"170.10.128.0/24",
"170.10.132.56/29",
"170.10.132.64/29",
"41.74.192.0/22",
"41.74.200.0/23",
"41.74.196.0/22",
"41.74.204.0/23",
"41.74.206.0/24",
"51.163.158.0/24",
"194.104.109.0/24",
"194.104.111.0/24",
"194.104.110.21/32",
"194.104.110.240/28",
"62.140.10.21/32",
"62.140.7.0/24",
"194.104.108.240/29",
"194.104.108.21/32",
"51.163.159.0/24",
"103.13.69.0/24",
"124.47.150.0/24",
"124.47.189.0/24",
"103.96.23.0/24",
"103.96.21.0/24",
"180.189.28.0/24",
"216.145.217.0/24",
"103.96.22.96/28",
"103.96.22.22/32",
"103.96.20.22/32",
"103.96.20.96/28",
"170.10.145.0/24",
"170.10.147.0/24",
"170.10.144.126/32",
"170.10.146.126/32",
"170.10.144.240/29",
"170.10.146.240/29",
"216.145.216.0/24",
"170.10.151.0/24",
"170.10.153.0/24",
"170.10.150.240/29",
"170.10.152.240/29",
"170.10.156.0/24",
"170.10.157.0/24"
],
"ipv6": []
},
"issues_found": [],
"spf_valid": true,
"has_issues": false,
"macros_found": false,
"ip_pass": false,
"elapsed_ms": 431,
"all_qualifier": "fail",
"risk_score": 5,
"risk_level": "low"
}Validate DMARC
Check the DMARC record and policy — the difference between spoofable and protected.
Sample response
{
"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"
}Check expiration
Read the registration expiry and days remaining so a domain never lapses on your watch.
Sample response
{
"domain": "myspace.com",
"expirationDate": "2029-02-23T05:00:00Z",
"daysToExpiration": 1164,
"expirationStatus": "healthy",
"createdDate": "1996-02-22T05:00:00Z",
"lastUpdatedDate": "2023-01-17T00:16:21Z",
"daysSinceLastUpdate": 1064,
"domainAgeDays": 10890,
"domainAgeYears": 29.8
}