Skip to content
InternetData
Domain intelligence

Look up any domain

Whether a domain is registered and which DNS records it has, free with no key. A paid plan answers the records themselves with when we last saw each, the address ranges its organization holds, and whether it's a disposable email domain.

Registration and which records a domain has are free, with a key or without one. The records, the ranges and the disposable flag are on every paid plan. A free account's first 100 lookups each day answer every field.

What people use it for

  • Sign-up checks

    Refuse an email address whose domain has no mail server, or one from a disposable email service.

  • Vendor and partner checks

    The address ranges an organization holds, from the domain it gives you.

  • Phishing triage

    A suspicious name's records, and the networks its addresses sit on, in one lookup each.

  • Attack surface

    An organization's address ranges and the AS that announces them, to scope what to watch.

What the answer says

Free fields answer with a key or without one, with no cap. Paid ones come with every paid plan, and a field your plan doesn't include is left out of the answer, never sent as false.

Every field, plan by plan, is on Pricing, and each one is described in the documentation.

is_registered
Whether the domain is registeredFree
has_a, has_aaaa, has_mx
Which records it has, as has_ns and has_cnameFree
dns
Its A, AAAA, MX, NS and CNAME records, with when we last saw eachPaid
ip_ranges
The address ranges the domain's organization holdsPaid
is_disposable
A disposable email domain, with the services behind itPaid

Check an email's domain

The same API answers an address, an AS (AS15169) or a domain; only the path changes.

There are SDKs for 12 languages, a CLI and an MCP server. The API has the endpoints and limits.

import { InternetData } from "@internetdata/internetdata";
const client = new InternetData({
apiKey: process.env.INTERNETDATA_API_KEY,
});
const d = await client.lookupDomain(email.split("@")[1]);
if (!d.hasMx || d.isDisposable) {
return refuseSignup();
}
app.mjsnpm install @internetdata/internetdata
00 · Try

Look one up now.

Unlimited answers with no key and no cap, and a free account's first 100 lookups each day answer every field.

01 · Scale

Then pick a plan.

Every field, VPN and proxy detection included, on every paid plan.
Up to 1,000 lookups in one request.
Enterprise terms, with the databases themselves, by contract.