Tools / Bulk DNS Lookup & DNS Change Monitor

Bulk DNS Lookup & DNS Change Monitor

Get A, AAAA, MX, NS, TXT, CNAME, SOA, CAA (and SRV/PTR) records for thousands of domains via public DNS-over-HTTPS resolvers. Input: domains. Output (JSON/CSV): one row per item with domain, exists, ipv4, mx, nameservers, providers, spf, dmarc, isChanged.

Run it on Apify Store →

What it's for

Example input

{
 "domains": [
  "apify.com",
  "https://github.com/about",
  "therealtour360.com",
  "no-such-domain-zq81x.com"
 ],
 "monitorMode": true
}

Example output

{
  "domain": "therealtour360.com",
  "exists": true,
  "records": {
    "MX": [
      "5 mx1.hostinger.com",
      "10 mx2.hostinger.com"
    ],
    "SOA": [
      "orbit.dns-parking.com. dns.hostinger.com. 2026100801 10000 2400 604800 600"
    ],
    "AAAA": [
      "2a02:4780:84:381d:8b30:f623:2593:ca20",
      "2a02:4780:84:c601:ab5:ad3e:adc6:27e9"
    ],
    "TXT": [
      "v=spf1 include:_spf.mail.hostinger.com ~all"
    ],
    "CAA": [
      "0 issue \"digicert.com\"",
      "0 issue \"letsencrypt.org\"",
      "0 issue \"pki.goog\"",
      "0 issuewild \"letsencrypt.org\"",
      "…"
    ],
    "CNAME": [],
    "A": [
      "84.32.84.73",
      "88.222.222.75"
    ],
    "NS": [
      "horizon.dns-parking.com",
      "orbit.dns-parking.com"
    ]
  },
  "ipv4": [
    "84.32.84.73",
    "88.222.222.75"
  ],
  "mx": [
    "5 mx1.hostinger.com",
    "10 mx2.hostinger.com"
  ],
  "nameservers": [
    "horizon.dns-parking.com",
    "orbit.dns-parking.com"
  ],
  "spf": "v=spf1 include:_spf.mail.hostinger.com ~all",
  "providers": [
    "Hostinger"
  ],
  "siteVerifications": [],
  "checkedAt": "2026-10-12T01:52:20.038Z",
  "dmarc": "v=DMARC1; p=none",
  "changes": null,
  "isChanged": false
}

Input reference

FieldTypeNotes
domains requiredarrayDomains or URLs.
recordTypesarrayAny of A, AAAA, MX, NS, TXT, CNAME, SOA, CAA, SRV, PTR.
resolversarraycloudflare, google, quad9, or a DoH JSON endpoint URL. Tried in order.
maxConcurrencyintegerConcurrency
ignoreIpChangesbooleanCDNs rotate IPs constantly; when on, IP changes are reported but don't count as a DNS change.
monitorModebooleanRemember records per domain; flag added/removed records.
onlyChangedbooleanIn monitor mode, output only domains whose DNS changed.
stateStoreNamestringState store name

Pricing

Pay per event: Domain resolved $0.001, DNS changed (monitor) $0.005. Plus Apify's small per-run start fee. Apify's free plan includes monthly credit to try it.

How to run

  1. Open the Store page and click Try for free.
  2. Fill in the input (or paste the example JSON in the JSON tab).
  3. Click Start, then export results as CSV, Excel or JSON, or call it via the Apify API.
  4. Optional: add a Schedule and a webhook/Slack/email integration for ongoing monitoring.

Open Bulk DNS Lookup & DNS Change Monitor on Apify →