Bulk DNS Records Lookup - A, MX, TXT, NS, CNAME
Pricing
from $3.50 / 1,000 results
Bulk DNS Records Lookup - A, MX, TXT, NS, CNAME
Look up DNS records for thousands of domains at once — A, AAAA, MX, NS, TXT, CNAME, SOA and CAA — via DNS-over-HTTPS. Ideal for email deliverability (SPF/DMARC), security audits and migrations. No API key, export to CSV or JSON.
Pricing
from $3.50 / 1,000 results
Rating
0.0
(0)
Developer
Logiover
Maintained by CommunityActor stats
0
Bookmarked
13
Total users
5
Monthly active users
5 days ago
Last modified
Categories
Security
Limited permissionsShare
Bulk DNS Records Lookup 🌐 — A, AAAA, MX, TXT, NS, CNAME, SOA & CAA (No API Key)
Look up DNS records for thousands of domains in a single run. This bulk DNS lookup tool queries every domain you give it for the record types you choose — A, AAAA, MX, NS, TXT, CNAME, SOA, CAA — over DNS-over-HTTPS and returns a clean, one-row-per-record table with values, TTLs and the resolver that answered. No API key, no local resolver, no rate-limit headaches, no login.
🏆 Why this bulk DNS lookup?
8 record types · thousands of domains per run · one clean row per record · DNS-over-HTTPS with automatic failover · export to JSON / CSV / Excel. The free bulk DNS lookup API alternative (no key) for email deliverability, security audits and DNS migrations — an MX record checker, SPF / DMARC TXT lookup, nameserver lookup and CAA audit in one tool.
✨ What this Actor does / Key features
- 🌐 Bulk lookups — resolve thousands of domains in a single run, in parallel.
- 🧩 8 record types — A, AAAA, MX, NS, TXT, CNAME, SOA, CAA — pick any subset or query them all.
- 📄 One row per record — every A address, every MX host and every TXT entry gets its own row for easy filtering and export.
- 🔐 DNS-over-HTTPS — uses Cloudflare
dns-queryas the primary resolver with an automatic Google fallback; no local DNS resolver needed and it works from cloud environments where UDP DNS is blocked. - 🧹 Clean values — TXT chunks are joined into one string, trailing dots trimmed, MX priorities preserved (e.g.
10 smtp.google.com). - ⏱️ TTL captured — every record includes its TTL in seconds, exactly as returned by the resolver.
- 🧪 Robust input parsing —
https://, paths, ports and trailing dots are stripped automatically; duplicates removed. - 🛟 Graceful on NXDOMAIN / empty — missing records simply produce no rows; the run never crashes on non-existent or empty answers.
- ⚡ High concurrency — configurable parallel lookups (default 10, up to 100) for very large lists.
- 🔑 No API key — works out of the box against public DNS-over-HTTPS endpoints.
🚀 Quick start (3 steps)
- Configure — paste your list of domains into Domains (one per line; bare
example.comor fullhttps://example.com/pathboth work) and pick the Record Types you want. - Run — click Start. The Actor resolves every domain in parallel over DNS-over-HTTPS and streams one row per record into your dataset.
- Get your data — open the Output tab and export to JSON, CSV, Excel or XML, or pull it via the Apify API. Sort/filter by
recordType.
📥 Input
Give the Actor at least a domains list. Everything else is optional.
Example — full DNS audit across a domain portfolio
{"domains": ["google.com", "github.com", "cloudflare.com"],"recordTypes": ["A", "AAAA", "MX", "NS", "TXT", "CNAME", "SOA", "CAA"],"maxConcurrency": 10,"proxyConfiguration": { "useApifyProxy": true }}
Example — email deliverability check (MX + SPF/DKIM/DMARC only)
{"domains": ["acme.com", "example.org", "mail.startup.io"],"recordTypes": ["MX", "TXT"],"maxConcurrency": 20}
Example — high-volume nameserver + CAA inventory
{"domains": ["site1.com", "site2.com", "site3.com"],"recordTypes": ["NS", "CAA"],"maxConcurrency": 50,"proxyConfiguration": { "useApifyProxy": true }}
| Field | Type | Description |
|---|---|---|
domains | array | Domains / hostnames to look up. Schemes and paths are stripped automatically — example.com and https://example.com/path both work. Required. |
recordTypes | array | Which record types to query for every domain: any subset of A, AAAA, MX, NS, TXT, CNAME, SOA, CAA. Default: all 8. |
maxConcurrency | integer | Parallel DNS-over-HTTPS lookups. Higher is faster. Default 10, max 100. |
proxyConfiguration | object | Proxy used for the lookups. Recommended (Apify datacenter proxy by default) to avoid resolver rate limiting at scale. |
Tip: Provide bare domains (
example.com) for the cleanest results; subdomains (mail.example.com) work too. Select only the record types you need to keep runs lean — or all 8 for a complete DNS audit.
📤 Output
One row per DNS record — exportable to JSON, CSV, Excel or XML. A domain with several A addresses, multiple MX hosts and a handful of TXT entries can easily yield 15–30 rows on its own. Here is a trimmed sample:
[{ "domain": "google.com", "recordType": "A", "value": "142.250.190.78", "ttl": 300, "resolver": "cloudflare", "checkedAt": "2026-07-06T18:00:00.000Z" },{ "domain": "google.com", "recordType": "MX", "value": "10 smtp.google.com", "ttl": 3600, "resolver": "cloudflare", "checkedAt": "2026-07-06T18:00:00.000Z" },{ "domain": "google.com", "recordType": "TXT", "value": "v=spf1 include:_spf.google.com ~all", "ttl": 3600, "resolver": "cloudflare", "checkedAt": "2026-07-06T18:00:00.000Z" },{ "domain": "github.com", "recordType": "NS", "value": "dns1.p08.nsone.net", "ttl": 86400, "resolver": "cloudflare", "checkedAt": "2026-07-06T18:00:00.000Z" },{ "domain": "cloudflare.com", "recordType": "CAA", "value": "0 issue \"digicert.com\"", "ttl": 1800, "resolver": "google", "checkedAt": "2026-07-06T18:00:00.000Z" }]
💡 Use cases
- Email deliverability — pull
MXandTXTacross a domain portfolio to verify mail routing and valid SPF / DKIM / DMARC policies before a campaign. - Security & compliance audits — inventory
CAA(allowed certificate authorities),NSdelegation and mail routing across many domains at once. - Infra & DNS migrations — snapshot every record type before a hosting or DNS-provider cutover, run again after, and diff the datasets to confirm clean propagation.
- Change monitoring — schedule recurring runs on a cron and detect when records change over time.
- Due diligence / OSINT — map infrastructure (
A,AAAA,CNAME) and enrich large domain lists with live DNS metadata.
👥 Who uses it
Email / deliverability teams & ESPs · security engineers & pentesters · SREs & DevOps running DNS migrations · IT & compliance auditors · OSINT & threat-intel analysts · domain portfolio managers · growth & lead-gen teams enriching domain lists.
💰 Pricing
This Actor runs on a simple pay-per-result model — you pay for the records you resolve, with no separate Apify platform fees to calculate. The public DNS-over-HTTPS endpoints are free. Try it on the free tier first, then scale up. See the Pricing tab on this page for the current rate.
❓ Frequently Asked Questions
Is it legal to look up DNS records in bulk? Yes. DNS records are public infrastructure metadata answered by public resolvers. This Actor only queries publicly available DNS data; you remain responsible for using the results in line with applicable laws.
Is there a public DNS API — and is this a free DNS lookup API without a key? There's no single official DNS API you need to sign up for. This Actor queries public DNS-over-HTTPS endpoints (Cloudflare, with a Google fallback), so it acts as a free bulk DNS lookup API alternative — you just provide a list of domains and run, then read results from the dataset or the REST API. No key to manage.
Do I need an API key or a login? No. There is no key, token or login required — only an Apify account. It works out of the box against public DoH resolvers.
How do I look up DNS records for many domains at once? Paste your full list of domains into the Domains field and run the Actor once. It resolves every domain in parallel over DNS-over-HTTPS and returns one row per record, so a single run can cover thousands of domains.
Can I check MX records in bulk?
Yes — select MX (alone or with other types) and the Actor returns every mail server and its priority for each domain, e.g. 10 smtp.google.com. It works as a dedicated bulk MX record checker across your whole list.
How do I find SPF / DKIM / DMARC records?
Include TXT in the record types. SPF, DKIM and DMARC policies all live in TXT records, and this Actor pulls them for every domain — a fast SPF / DMARC checker and TXT record lookup at scale.
How do I audit CAA records across many domains?
Include CAA and run your domain list once; the Actor lists which certificate authorities are allowed to issue certs for each domain over DNS-over-HTTPS.
How do I export DNS records to CSV or JSON? Every lookup is one row, so the dataset drops straight into a spreadsheet. Download it as CSV, JSON or Excel, or pull it through the REST API.
How much data can I get?
There's no fixed cap — a few hundred domains across all 8 record types quickly become thousands of rows. Increase maxConcurrency and keep the proxy enabled for very large lists.
What happens with a non-existent domain (NXDOMAIN)? The lookup completes cleanly and simply produces no rows for that domain/type. The run never crashes on missing or empty records.
Why DNS-over-HTTPS instead of normal DNS? DoH works reliably from cloud environments where UDP DNS is often blocked, returns structured JSON, and pairs cleanly with Apify Proxy to avoid resolver rate limits at high volume.
🔗 More domain, DNS & website-data tools by logiover
Building a full domain / infrastructure intelligence stack? Pair this with:
| Actor | What it does |
|---|---|
| Subdomain Finder | Discover subdomains for any domain |
| Bulk WHOIS / RDAP Lookup | Registration, registrar & expiry data for many domains |
| Bulk SSL Certificate Checker | Certificate issuer, expiry & chain across domains |
| Certificate Transparency Monitor | New certs issued for your domains from CT logs |
| Bulk HTTP Security Headers | Audit security headers across many URLs |
| Bulk URL Status Checker | HTTP status codes & redirects for large URL lists |
| Bulk Email Deliverability Checker | MX / SPF / DMARC-based deliverability scoring |
| Bulk Email Verifier | Validate email addresses in bulk |
| Website Contact Scraper | Extract emails, phones & social profiles from sites |
| Website Tech Stack Detector | Fingerprint the technologies a site runs on |
| Sitemap to URL Crawler | Expand sitemaps into full URL lists |
| B2B Lead Scraper | Company & contact leads at scale |
👉 Browse all logiover scrapers on Apify Store — 180+ actors across real estate, jobs, crypto, social media & B2B data.
⏰ Scheduling & integration
Schedule this Actor on Apify to re-check your domain portfolio daily or weekly and diff datasets to catch DNS, MX or CAA changes over time. Export results to JSON, CSV or Excel, sync to Google Sheets, or push to your database, SIEM, BI tools and webhooks through the Apify API. Connect it to Make, n8n or Zapier to build automated deliverability and infrastructure-monitoring pipelines.
⭐ Support & feedback
Found a record type you need or a parsing edge case? Open an issue on the Issues tab — response is usually fast. If this Actor saves you time, a ★★★★★ review on the Store page genuinely helps and is hugely appreciated. 🙏
⚖️ Legal
This Actor queries only publicly available DNS data through public DNS-over-HTTPS resolvers and is intended for legitimate research, deliverability, security-audit and monitoring use. You are responsible for complying with applicable laws and the terms of the resolvers and any downstream systems you feed.
This Actor is an independent tool. It is not affiliated with, endorsed by, or sponsored by Bulk DNS Records; Bulk DNS Records and all other trademarks mentioned here are the property of their respective owners.
DNS Records Lookup scraping — frequently asked questions
Do I need a DNS Records Lookup API key, account or login?
No. This Actor reads publicly available pages and feeds, so there is nothing to register for and no credentials to manage.
How do I export DNS Records Lookup data to CSV, Excel, JSON or Google Sheets?
Open the Storage tab after a run and pick the format you want — CSV, Excel, JSON, XML or an HTML table. For Google Sheets, Airtable or a database, use the dataset URL or the Apify API so the sheet refreshes itself on every run.
Can I schedule this DNS Records Lookup scraper to run daily or hourly?
Yes. Use the Schedules tab and pick a cadence. Daily is enough for most tracking work; pick hourly only if the rows you care about really do change that fast.
How many rows can I get, and what does it cost?
See the volume section above for a measured figure. Billing is per result, so you pay for the rows you actually receive and a run that finds nothing costs nothing.
Is scraping DNS Records Lookup legal?
This Actor collects only information that DNS Records Lookup publishes publicly. It does not log in, does not defeat access controls and does not touch private data. You remain responsible for how you use the output, including under GDPR and similar rules where personal data is involved.
What happens if DNS Records Lookup blocks the run or changes its layout?
A refused exit IP is swapped for a fresh one within a quarter of a second and retried, and rate limiting is waited out rather than fought. If nothing gets through, the run fails with the reason instead of reporting success with zero rows — so an empty result always means "no matches", never "the source would not answer".
Can I use this with an AI agent, LangChain or an MCP client?
Yes. The Actor is callable over the Apify API and through Apify's MCP server, so an agent can run it and read the dataset back as a tool call.
📝 Changelog
2026-11-01
- Monthly health check (2026-11-01): a live run on the current build completed successfully and returned data. Input options, output fields and pricing are unchanged.
- README refreshed: 1 link to renamed Actors updated; independence disclaimer added.
2026-10-15
- Every request now has a hard time limit, so a proxy connection that stalls can no longer hold up the run or push it past its timeout.
- A run that reaches its maximum cost per run now stops cleanly with its results saved and a status message, instead of ending as aborted.
- A proxy group your account cannot use no longer stops the run at start-up; it falls back to the default Apify Proxy.
- Memory is managed within the run's own limit, which removes a rare out-of-memory crash on large pages.
2026-09-23
- Fleet-wide quality audit. Verified end to end against live data and re-checked the input schema, the output columns and the run configuration.
- Output verified on a live run: 6 columns returned, 100.0% of cells populated.
- Run reliability reviewed: 97.3% of public runs succeeded in the last 30 days.
- Input schema, output schema and pricing configuration reviewed.
2026-09-01
- Fleet-wide health check. Verified against this Actor's real run history: 30-day success rate, output row counts, per-field fill rates, and peak memory against the configured memory limit.
- Reviewed for the failure patterns that have cost this fleet runs — unguarded proxy setup, retry loops that can outlast the run's own time budget, and full-page HTML parsing that can exhaust a small container.
- No change to input, output fields or scraping logic.
2026-08-11
- Maintenance release: refreshed the build and dependencies.
- Re-verified live execution, non-empty structured output and dataset field/type integrity.
- Reviewed reliability (retries, pagination) and output quality as part of a full-fleet QA pass.
2026-08-01
- Completed the August 2026 full health check: verified empty/programmatic default, Console UI default, and two source-informed alternative inputs on Apify.
- Confirmed successful live execution, non-empty structured output, dataset-field/type integrity, and logical sample quality within the 5-minute quality window.
- Fixed the run Output link from
{{links.apiDefaultDatasetUrl}}to{{links.apiDefaultDatasetUrl}}/itemsso the results table opens the dataset items endpoint. - Declared 6 dataset fields from typed live cloud samples so the output contract is no longer an empty placeholder.
- Declared 6 nullable dataset fields from typed live cloud samples so the output contract is no longer an empty placeholder or brittle to sparse modes.
2026-08-01 — Health-check remediation
- August 2026 monthly health-check remediation is in progress; this build contains fixes verified from empty/default, Console-default, targeted live probes, or field-level semantic review.
- Fixed the run Output link from
{{links.apiDefaultDatasetUrl}}to{{links.apiDefaultDatasetUrl}}/itemsso the results table opens the dataset items endpoint. - The final four-input matrix verdict will be appended after post-build cloud revalidation.
2026-07-06
- ✨ README overhaul: richer output sample, ready-to-run example scenarios, cross-promo links, and clearer quick-start.
2026-07-01
- Maintenance pass: re-verified end-to-end on live data and confirmed successful runs within the 5-minute quality window on the default input.
- Sharpened Store metadata (SEO title & description) and expanded the FAQ with high-intent, long-tail questions for easier discovery in Google and Apify Store search.
- Added ready-to-run example tasks that cover common real-world use cases.
2026-06-15
- Initial release — bulk DNS lookup (A/AAAA/MX/NS/TXT/CNAME/SOA/CAA) via DNS-over-HTTPS, CSV/JSON export, no API key.
*Maintained: last verified 2026-11-01 — checked end-to-end against live run history (reliability, output fields and types, and time/memory budgets).