Audit DNS propagation across 8 public resolvers for up to 200 domains

Query public DNS for bulk domain audits. This Actor looks up A, AAAA, MX, TXT, CNAME, NS, and SOA records across eight public resolvers and flags resolver disagreements plus TTL variation. It uses Node.js dns.Resolver and does not need an API key. It does not fetch page HTML — for docs, pricing, or help-center content use Website Content Extractor.

Open DNS Propagation Checker on Apify

Public DNS lookups, not website HTML extraction

Use this page when the job is nameserver and record propagation: confirm an A record IP, an NS switch, or MX/TXT email records after a change. Use Website Content Extractor when the job is cleaned markdown or text from public HTTP(S) pages.

DNS Propagation Checker Website Content Extractor
Intent Audit worldwide nameserver and record propagation Clean docs, product, pricing, policy, and help-center HTML
Input Hostnames in domains (max 200) HTTP(S) page URLs in urls (max 200)
What it reads Public DNS via Node.js dns.Resolver Live page HTML
Record / format options A, AAAA, MX, TXT, CNAME, NS, SOA markdown (default), text, or html
Primary output Resolved values, TTL, resolver identity, consistency flags Cleaned page content, title, word count, metadata
HTML cleanup No. DNS only; it does not fetch pages Yes — bounded website extraction

This Actor does not accept page URLs, crawl a site, or extract article bodies. It queries major public resolvers such as Google (8.8.8.8), Cloudflare (1.1.1.1), and Quad9. It is not a geographic DNS map and not a private-DNS checker.

Use cases

The published README also positions the Actor for identifying regional caching delays during migrations, tracking NS record shifts, validating A record IPs, and keeping historical DNS-state logs. Start after a DNS change, before pointing production traffic.

How is DNS Propagation Checker different from Website Content Extractor?

This Actor queries public DNS. Required input is domains (maximum 200 hostnames), not page URLs. It looks up A, AAAA, MX, TXT, CNAME, NS, and SOA records across eight public resolvers using Node.js dns.Resolver and does not fetch HTTP(S) HTML. Website Content Extractor fetches public docs, product, pricing, policy, and help-center URLs and returns cleaned markdown, text, or HTML. Use this Actor to verify nameserver and record propagation. Use Website Content Extractor when you need page content.

Why query 8 public resolvers instead of one lookup?

DNS caching varies by resolver. Checking multiple resolvers shows which ones have updated after a change. The published resolvers are Google, Cloudflare, Quad9, OpenDNS, Cisco Umbrella, Level3, Verisign, and Dyn. README examples compare 8.8.8.8, 1.1.1.1, and 208.67.222.222. This is not a geographic probe: all queried resolvers are major public ones.

What input is required?

domains is required. The published schema accepts up to 200 hostnames. Other published fields:

Field Type Default Notes
domains string[] required Domains to check DNS for (max 200). Schema prefill is example.com, google.com.
recordTypes string[] README default ["A"] Supported: A, AAAA, MX, TXT, CNAME, NS, SOA. Schema prefill is A, MX.
delivery string dataset dataset or webhook
webhookUrl string POST target when delivery is webhook
dryRun boolean false Run without saving results (for testing)
maxChargeUsd number 1 Safety cap for billable dataset rows in this run (minimum 0)

The schema sets additionalProperties to false. README examples that include waitForFullPropagation or resolvers are not live input fields. Do not send unpublished aliases.

The Store Quickstart is 3 domains with A records. For a multi-record audit, use Full DNS Audit (A, AAAA, MX, TXT, CNAME, NS). Query MX and TXT together to audit email configuration in one run.

Published README input example:

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

Published Store input-object example (includes schema defaults):

{
  "domains": [
    "example.com",
    "google.com"
  ],
  "recordTypes": [
    "A",
    "MX"
  ],
  "delivery": "dataset",
  "dryRun": false,
  "maxChargeUsd": 1
}

Run a DNS propagation check on Apify

What does a result contain?

The published README field table lists domain, recordType, resolver, values, ttl, queryTimeMs, and error. The published README sample is one row per domain and record type with a resolvers array (name, ip, values, ttl), plus isConsistent and inconsistencies. There is no separate published dataset or output JSON schema on the Store page.

Published README sample:

{
  "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": []
}

That sample is the published README illustration, not a live coverage guarantee. Compare values across resolvers to confirm rollout before pointing production traffic.

Does it check geographic, private, or DNSSEC records?

No geographic check: all resolvers queried are major public ones. Private or internal DNS is not supported; those names return NXDOMAIN. DNSSEC chain verification is not currently supported. Typical propagation time is TTL-dependent; the README states most DNS changes propagate globally within 1-24 hours. Low TTLs under 300 seconds propagate fast; high TTLs over 3600 seconds may take hours globally.

How is DNS Propagation Checker priced?

Billing is pay per event. The published Store price is $8.00 / 1,000 dns propagation results. The billed event is DNS propagation result at $0.008, charged only for one successfully delivered DNS propagation result row. You are not charged for Apify platform usage, only the fixed event price.

maxChargeUsd defaults to 1 as a safety cap for billable dataset rows in the run. dryRun true runs without saving results. delivery defaults to dataset; set delivery to webhook and provide webhookUrl to POST results.

$8.00 per 1,000 DNS propagation results ($0.008 per successfully delivered result row)

See DNS Propagation Checker pricing on Apify

Limits to keep in mind

Open DNS Propagation Checker on Apify

Related pages