DNS Propagation API Reference
Check if DNS records of a domain have propagated globally by performing DNS lookups from multiple locations across America, Europe and Asia.
Service details and pricing: DNS Propagation API
Request example
Query the endpoint via an HTTPS POST request (replace YOUR_API_KEY_HERE with your API key):
curl -X POST "https://api.apivoid.com/v2/dns-propagation" \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY_HERE" \
-d '{
"host": "example.com",
"dns_types": "A,AAAA,MX,NS,TXT,SOA,SRV,CAA"
}'The same request in PHP:
$host = 'example.com';
$dnsTypes = 'A,AAAA,MX,NS,TXT,SOA,SRV,CAA';
$apiKey = 'YOUR_API_KEY_HERE';
$curl = curl_init('https://api.apivoid.com/v2/dns-propagation');
curl_setopt($curl, CURLOPT_HTTPHEADER, ['Content-Type: application/json', 'X-API-Key: ' . $apiKey]);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode(['host' => $host, 'dns_types' => $dnsTypes]));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($curl);
$httpCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($httpCode === 200) {
$responseData = json_decode($response, true);
print_r($responseData);
} else {
print_r('An error occurred: '.$response);
}Request parameters
Required
Host to submit, e.g. google.com.
DNS types comma-separated (no spaces), such as: A,AAAA,MX,NS,TXT,SOA,SRV,CAA.
Response example
A successful request returns HTTP 200 with a JSON body:
{
"host": "example.com",
"propagation": [
{
"continent_code": "NA",
"continent_name": "North America",
"country_code": "US",
"country_name": "United States",
"city_name": "New York City",
"response": [
{
"dns_type": "A",
"records": [
"96.7.128.198",
"23.215.0.136",
"23.192.228.80",
"23.192.228.84",
"23.215.0.138",
"96.7.128.175"
]
},
{
"dns_type": "AAAA",
"records": [
"2600:1406:3a00:21::173e:2e66",
"2600:1406:bc00:53::b81e:94c8",
"2600:1406:3a00:21::173e:2e65",
"2600:1406:bc00:53::b81e:94ce",
"2600:1408:ec00:36::1736:7f24",
"2600:1408:ec00:36::1736:7f31"
]
},
{
"dns_type": "MX",
"records": [
"gmail-smtp-in.l.google.com",
"alt1.gmail-smtp-in.l.google.com",
"alt4.gmail-smtp-in.l.google.com",
"alt2.gmail-smtp-in.l.google.com",
"alt3.gmail-smtp-in.l.google.com"
]
},
{
"dns_type": "NS",
"records": [
"a.iana-servers.net",
"b.iana-servers.net"
]
},
{
"dns_type": "TXT",
"records": [
"v=spf1 -all",
"_k2n1y4vw3qtb4skdx9e7dxt97qrmmq9"
]
},
{
"dns_type": "SRV",
"records": [
{
"port": 5060,
"priority": 10,
"target": "ygg1.vp.vc",
"weight": 100
},
{
"port": 5060,
"priority": 50,
"target": "ygg2.vp.vc",
"weight": 100
}
]
},
{
"dns_type": "SOA",
"records": [
{
"expire": 1209600,
"minttl": 3600,
"mname": "ns.icann.org",
"refresh": 7200,
"retry": 3600,
"rname": "noc@dns.icann.org",
"serial": 2025011515
}
]
},
{
"dns_type": "CAA",
"records": [
{
"flag": 0,
"tag": "issue",
"value": "visa.com"
},
{
"flag": 0,
"tag": "issue",
"value": "digicert.com"
},
{
"flag": 0,
"tag": "issue",
"value": "quovadisglobal.com"
}
]
}
]
},
{
"continent_code": "NA",
"continent_name": "North America",
"country_code": "US",
"country_name": "United States",
"city_name": "San Francisco",
"response": [
{
"dns_type": "A",
"records": [
"23.192.228.80",
"23.192.228.84",
"23.215.0.136",
"23.215.0.138",
"96.7.128.175",
"96.7.128.198"
]
},
{
"dns_type": "AAAA",
"records": [
"2600:1406:3a00:21::173e:2e66",
"2600:1406:bc00:53::b81e:94c8",
"2600:1406:bc00:53::b81e:94ce",
"2600:1408:ec00:36::1736:7f24",
"2600:1408:ec00:36::1736:7f31",
"2600:1406:3a00:21::173e:2e65"
]
},
{
"dns_type": "MX",
"records": [
"gmail-smtp-in.l.google.com",
"alt1.gmail-smtp-in.l.google.com",
"alt4.gmail-smtp-in.l.google.com",
"alt2.gmail-smtp-in.l.google.com",
"alt3.gmail-smtp-in.l.google.com"
]
},
{
"dns_type": "NS",
"records": [
"b.iana-servers.net",
"a.iana-servers.net"
]
},
{
"dns_type": "TXT",
"records": [
"v=spf1 -all",
"_k2n1y4vw3qtb4skdx9e7dxt97qrmmq9"
]
},
{
"dns_type": "SRV",
"records": [
{
"port": 5060,
"priority": 10,
"target": "ygg1.vp.vc",
"weight": 100
},
{
"port": 5060,
"priority": 50,
"target": "ygg2.vp.vc",
"weight": 100
}
]
},
{
"dns_type": "SOA",
"records": [
{
"expire": 1209600,
"minttl": 3600,
"mname": "ns.icann.org",
"refresh": 7200,
"retry": 3600,
"rname": "noc@dns.icann.org",
"serial": 2025011515
}
]
},
{
"dns_type": "CAA",
"records": [
{
"flag": 0,
"tag": "issue",
"value": "visa.com"
},
{
"flag": 0,
"tag": "issue",
"value": "digicert.com"
},
{
"flag": 0,
"tag": "issue",
"value": "quovadisglobal.com"
}
]
}
]
},
...
],
"elapsed_ms": 155
}Response fields
The fields returned in the JSON response:
hoststring
Host submitted for the DNS propagation check.
propagationarray
List of geographic locations with the DNS records seen from each location.
propagation[n] → continent_codestring
Continent code (e.g. NA) of the checking location.
propagation[n] → continent_namestring
Continent name of the checking location.
propagation[n] → country_codestring
Country code (e.g. US) of the checking location.
propagation[n] → country_namestring
Country name of the checking location.
propagation[n] → city_namestring
City name of the checking location.
propagation[n] → responsearray
DNS responses seen from this location, one entry per DNS record type.
propagation[n] → response[n] → dns_typestring
DNS record type queried, e.g. A, AAAA, MX, NS, TXT, SRV, SOA.
propagation[n] → response[n] → recordsarray
Records returned for this DNS type from this location. A, AAAA, MX, NS and TXT records are returned as plain strings (IP address, hostname or text value); SRV, SOA and CAA records are returned as objects with the fields below.
propagation[n] → response[n] → records[n] → portinteger
SRV record: port where the service is available.
propagation[n] → response[n] → records[n] → priorityinteger
SRV record: priority of the target host; lower values are tried first.
propagation[n] → response[n] → records[n] → weightinteger
SRV record: relative weight for records with the same priority.
propagation[n] → response[n] → records[n] → targetstring
SRV record: hostname providing the service.
propagation[n] → response[n] → records[n] → mnamestring
SOA record: primary name server for the zone.
propagation[n] → response[n] → records[n] → rnamestring
SOA record: email address of the zone administrator.
propagation[n] → response[n] → records[n] → serialinteger
SOA record: serial number of the zone; increases on every zone update.
propagation[n] → response[n] → records[n] → refreshinteger
SOA record: seconds between zone refresh checks by secondary name servers.
propagation[n] → response[n] → records[n] → retryinteger
SOA record: seconds before a failed zone refresh is retried.
propagation[n] → response[n] → records[n] → expireinteger
SOA record: seconds after which secondary name servers stop answering if the primary is unreachable.
propagation[n] → response[n] → records[n] → minttlinteger
SOA record: minimum TTL, used for negative caching, in seconds.
propagation[n] → response[n] → records[n] → flaginteger
CAA record: flag, 0 by default, 128 marks the record as critical.
propagation[n] → response[n] → records[n] → tagstring
CAA record: property tag, e.g. issue, issuewild or iodef.
propagation[n] → response[n] → records[n] → valuestring
CAA record: property value, e.g. the allowed certificate authority.
elapsed_msinteger
Time taken to process the request, in milliseconds.