🌐 DNS Propagation Checker avatar

🌐 DNS Propagation Checker

Pricing

Pay per event

Go to Apify Store
🌐 DNS Propagation Checker

🌐 DNS Propagation Checker

Verify DNS propagation across 8 global resolvers and extract A, MX, and TXT records to confirm nameserver changes and detect caching issues.

Pricing

Pay per event

Rating

0.0

(0)

Developer

太郎 山田

太郎 山田

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 hours ago

Last modified

Share

Check DNS propagation across 8 global resolvers (Google, Cloudflare, Quad9, OpenDNS). Detect inconsistencies after DNS changes.

Store Quickstart

Start with the Quickstart template (3 domains, A records). For multi-record audits, use Full DNS Audit (A, AAAA, MX, TXT, CNAME, NS).

Key Features

  • 🌐 8 global DNS resolvers — Google, Cloudflare, Quad9, OpenDNS, Cisco Umbrella, Level3, Verisign, Dyn
  • 📋 7 record types — A, AAAA, MX, TXT, CNAME, NS, SOA
  • ⚠️ Inconsistency detection — Instantly spots resolvers that disagree
  • ⏱️ TTL reporting — See caching behavior across resolvers
  • 📦 Bulk domains — Check up to 200 domains per run
  • 🔑 No API key needed — Uses Node.js built-in dns.Resolver

Use Cases

WhoWhy
DNS administratorsVerify DNS changes propagated globally before changing URLs
Hosting migrationsConfirm nameserver switch completed at all resolvers
Email deliverabilityCheck MX, SPF, DKIM TXT records consistency
Security teamsDetect DNS hijacking via inconsistent resolver responses
DevOps teamsPre-deploy DNS verification for production cutover

Input

FieldTypeDefaultDescription
domainsstring[](required)Domains to check (max 200)
recordTypesstring[]["A"]A, AAAA, MX, TXT, CNAME, NS, SOA

Input Example

{
"domains": ["example.com", "api.example.com"],
"recordTypes": ["A", "MX", "TXT"]
}

Output

FieldTypeDescription
domainstringDomain queried
recordTypestringDNS record type (A, AAAA, MX, TXT, CNAME, NS)
resolverstringDNS resolver IP used
valuesstring[]Resolved values
ttlintegerTime-to-live in seconds
queryTimeMsintegerQuery response time
errorstringnull

Output Example

{
"domain": "example.com",
"recordType": "A",
"resolvers": [
{"name": "Google", "ip": "8.8.8.8", "values": ["93.184.216.34"], "ttl": 86400},
{"name": "Cloudflare", "ip": "1.1.1.1", "values": ["93.184.216.34"], "ttl": 86400}
],
"isConsistent": true,
"inconsistencies": []
}

API Usage

Run this actor programmatically using the Apify API. Replace YOUR_API_TOKEN with your token from Apify Console → Settings → Integrations.

cURL

curl -X POST "https://api.apify.com/v2/acts/taroyamada~dns-propagation-checker/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "domains": ["example.com", "api.example.com"], "recordTypes": ["A", "MX", "TXT"] }'

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("taroyamada/dns-propagation-checker").call(run_input={
"domains": ["example.com", "api.example.com"],
"recordTypes": ["A", "MX", "TXT"]
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

JavaScript / Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('taroyamada/dns-propagation-checker').call({
"domains": ["example.com", "api.example.com"],
"recordTypes": ["A", "MX", "TXT"]
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Tips & Limitations

  • Compare results across resolvers (8.8.8.8, 1.1.1.1, 208.67.222.222) to verify propagation.
  • Use after a DNS change to confirm global rollout before pointing production traffic.
  • Query MX + TXT records together to audit email configuration in one run.
  • Low TTLs (<300s) propagate fast; high TTLs (>3600s) may take hours globally.

FAQ

Why use 8 resolvers?

DNS caching varies by resolver. Checking multiple reveals which have updated after a change.

What's a typical propagation time?

TTL-dependent. Most DNS changes propagate globally within 1-24 hours.

Does it check geographic propagation?

No — all resolvers queried are major public ones. For geographic checks, use specialized tools.

Can I check private DNS?

No, only public DNS. Internal/private domains return NXDOMAIN.

Does this support DNSSEC validation?

Not currently — DNSSEC chain verification is on the roadmap.

Why do different resolvers return different values?

DNS propagation isn't instant. Different resolvers cache records based on TTL.

DevOps & Tech Intel cluster — explore related Apify tools:

Cost

Pay Per Event:

  • actor-start: $0.01 (flat fee per run)
  • dataset-item: $0.005 per output item

Example: 1,000 items = $0.01 + (1,000 × $0.005) = $5.01

No subscription required — you only pay for what you use.