Skip to content
InternetData

Domain lookup

get/domain/{domain}

Answers what InternetData knows about one domain from its latest snapshots: on every plan whether it is registered and which DNS record types it has; on a paid one the records themselves, up to 100 a type, the organization's IP ranges and whether it is a disposable email domain. An internationalized name is answered under its punycode spelling.

Authorization (optional)

apiKeyQueryapikey in query

?apikey=<key>. Convenient in a browser; prefer a header elsewhere.

apiKeyHeaderX-Api-Key in header

X-Api-Key: <key>.

bearerAuthbearer token

Authorization: Bearer <key>.

Path parameters

domainrequiredstring

The domain to look up.

Responses

200application/json

What each database says about the domain, as much as your plan shows.

domainrequiredstring

The domain, lowercase and in punycode.

is_registeredrequiredboolean

In Domain List: a registered domain.

is_disposableboolean

In Disposable Domain. Paid plans and the trial.

has_arequiredboolean

It has A records.

has_aaaarequiredboolean

AAAA records.

has_mxrequiredboolean

MX records.

has_nsrequiredboolean

NS records.

has_cnamerequiredboolean

A CNAME record.

dnsobject

Its records in Domain DNS, up to 100 a type. Paid plans and the trial.

arequiredarray<object>
iprequiredstring

The address.

last_seenrequiredstring

The last day the snapshot saw it.

aaaarequiredarray<object>
iprequiredstring

The address.

last_seenrequiredstring

The last day the snapshot saw it.

mxrequiredarray<object>
priorityrequiredinteger

Its priority.

hostrequiredstring

The mail host.

last_seenrequiredstring

The last day seen.

nsrequiredarray<object>
hostrequiredstring

The name server.

last_seenrequiredstring

The last day seen.

cnamerequiredarray<object>
targetrequiredstring

Where it points.

last_seenrequiredstring

The last day seen.

ip_rangesobject

The organization's IP ranges, from Domain IP Ranges. Paid plans and the trial.

domainrequiredstring

The organization's domain.

redirects_torequiredstring

Where its home page redirects, when that is how it was reached.

totalrequiredinteger

How many ranges it holds.

ipv4requiredinteger

IPv4 addresses across them.

rangesrequiredarray<object>

The first 1000, IPv4 before IPv6, the largest first.

rangerequiredstring

The range.

namerequiredstring

Its registry name.

countryrequiredstring

ISO 3166 country code.

disposableobject

{} when is_disposable is false. Paid plans and the trial.

confidencestring

high, medium or low.

providersarray<string>

The providers behind it.

first_seenstring

The first day seen in use.

last_seenstring

The last day.

trial_expiredboolean

On every answer to a key on the free plan, and on no other: false while the day's trial of every field lasts, true once the answer has Unlimited's fields.

TypeScript type
ts
{
  domain: string;
  is_registered: boolean;
  is_disposable?: boolean;
  has_a: boolean;
  has_aaaa: boolean;
  has_mx: boolean;
  has_ns: boolean;
  has_cname: boolean;
  dns?: {
    a: {
      ip: string;
      last_seen: string;
    }[];
    aaaa: {
      ip: string;
      last_seen: string;
    }[];
    mx: {
      priority: number;
      host: string;
      last_seen: string;
    }[];
    ns: {
      host: string;
      last_seen: string;
    }[];
    cname: {
      target: string;
      last_seen: string;
    }[];
  };
  ip_ranges?: {
    domain: string;
    redirects_to: string;
    total: number;
    ipv4: number;
    ranges: {
      range: string;
      name: string;
      country: string;
    }[];
  };
  disposable?: {
    confidence?: string;
    providers?: string[];
    first_seen?: string;
    last_seen?: string;
  };
  trial_expired?: boolean;
}
400application/json

Not an address, an AS number or a domain.

errorrequiredstring

What went wrong.

TypeScript type
ts
{
  error: string;
}
401application/json

The key is not one, or no longer works.

errorrequiredstring

What went wrong.

TypeScript type
ts
{
  error: string;
}
403application/json

The key may not be used from this address, lacks the ip.lookup scope (Lookups, in the console's API keys), or was sent over plain HTTP.

errorrequiredstring

What went wrong.

TypeScript type
ts
{
  error: string;
}
429application/json

A rate limit, with Retry-After (this API protecting itself, or Unlimited's per-minute limit), or, with none, a paid plan's overage cap.

errorrequiredstring

What went wrong.

TypeScript type
ts
{
  error: string;
}
500application/json

Our data could not be read. Retry; nothing was charged.

errorrequiredstring

What went wrong.

TypeScript type
ts
{
  error: string;
}