How to Look Up DNS and MX Records for a List of Domains
To look up DNS records for a list of domains, paste them into the bulk DNS lookup and tick the record types you need. It queries A, AAAA, MX, TXT, NS and CNAME for up to 100 domains a run, or 500 after a free Google sign-in, and returns one row per domain with every value, plus names that don't exist. Download the table as CSV.
Look up DNS for a list of domains →
Look up a list with the bulk tool
- Open the bulk DNS lookup.
- Paste up to 100 domains or host names, one per line (500 when signed in with Google), such as
example.comorwww.example.com. URLs and email addresses are trimmed to the host. - Tick the record types. All six are on by default; fewer types make a faster run. For an MX-only check, tick MX alone.
- Press Look up DNS. Names are looked up 20 at a time and the table fills as they answer.
- Filter to names that don't exist, and download the CSV with one column per record type.
Look up a list by hand
# MX for each domain in a file
while read d; do
echo "$d $(dig +short MX "$d" | sort -n | tr '\n' ' ')"
done < domains.txt
# Several record types for one domain
for t in A MX TXT NS; do echo "$t: $(dig +short $t example.com | tr '\n' ' ')"; done
On Windows: nslookup -type=mx example.com. dig returns nothing for a type with no records, and status: NXDOMAIN in the full output (without +short) for a name that doesn't exist.
Reading the MX column
- MX hosts present: the domain receives mail. The host names usually name the provider; the bulk email provider lookup labels them for you.
- No MX, but an A record: under the SMTP standard senders fall back to the A record, but in practice most of these domains don't run mail. Treat addresses there as risky.
- No MX and no A, or NXDOMAIN: nothing can receive mail. Addresses on these domains bounce.
0 .: a null MX, the domain's explicit statement that it accepts no email.
Other columns worth a look
- TXT holds SPF (
v=spf1 …) and verification records. See SPF, DKIM and DMARC explained. - NS shows where each domain's DNS is edited. See where to edit a domain's DNS.
- CNAME on www often names the website platform. See find which company hosts a website.
Next step: check the mailboxes
MX records tell you a domain can receive mail, not that a given address exists. Upload your list at /verify: each address gets a live mailbox check without sending, and you can export valid, risky and invalid rows separately. The first 100 checks are free with a Google sign-in, no card.
Pro, $39 a month: Unlimited email verification.* Never metered, never cut off. See pricing.
*Fair use: the first 100,000 checks a month at full speed, then slower, never cut off.
More: check if a domain accepts email, MX record errors explained, managing DNS for many cold email domains.
Common questions
How do I do a bulk MX lookup?
Paste the domains into the bulk DNS lookup and tick MX (all six types are on by default). Each domain's MX hosts come back in one column; download the CSV.
How do I find which domains in a list can't receive email?
Look for domains with no MX and no A record, domains that don't exist, and null MX records. Addresses on them will bounce.
Can I run a bulk DNS lookup from the command line?
Yes: while read d; do echo "$d $(dig +short MX $d | tr '\n' ' ')"; done < domains.txt.
Which tool tells me the email provider instead of raw MX hosts?
The bulk email provider lookup reads the same MX records and labels each domain Google, Microsoft, Yahoo, Zoho, Proton, other or no mail server.
Check your list before you send
Real mailbox checks over SMTP, and nothing is sent to the address. Sign in with Google and your first 100 email checks are free, no card. Plans for bigger lists are on the pricing page.