Skip to content
LookupOwl

DNS lookup

Ask a public resolver for the records of any domain and see the answer exactly as it comes back.

A host name works too, like mail.example.com.

More options

Record type. ALL runs A, AAAA, CNAME, MX, NS, TXT, SOA, CAA and HTTPS together. ANY is not offered (RFC 8482).

Which DNS server to ask. The default is Cloudflare; pick "the domain's own nameserver" to skip every cache and see exactly what the zone publishes.

Set the DNSSEC OK bit: include RRSIG records and report whether the resolver validated the answer (AD flag).

Results for github.com

Checked live lookup59 ms

JSONCheck again

NOERROR

42 records found

Everything came back normally. Open any type below to copy its values.

A · 1MX · 1NS · 8TXT · 24SOA · 1CAA · 7
Record mix
  • A1 of 42
  • MX1 of 42
  • NS8 of 42
  • TXT24 of 42
  • SOA1 of 42
  • CAA7 of 42

42 records in 6 types.

Answered in
58ms

Cloudflare

Lowest TTL
12s

Changes reach caches within this time

DNSSEC
Not checked

Turn on DNSSEC in More options to check

A1
NameTTLValue
github.com12 s20.250.119.67
MX1
NameTTLValue
github.com5 min0 github-com.mail.protection.outlook.com.
NS8
NameTTLValue
github.com3 mindns1.p08.nsone.net.
github.com3 mindns2.p08.nsone.net.
github.com3 mindns3.p08.nsone.net.
github.com3 mindns4.p08.nsone.net.
github.com3 minns-1283.awsdns-32.org.
github.com3 minns-1707.awsdns-21.co.uk.
github.com3 minns-421.awsdns-52.com.
github.com3 minns-520.awsdns-01.net.
TXT24
NameTTLValue
github.com5 min"00Dd0000000hHE0=1TBKg000000TN2r"
github.com5 min"MS=6BF03E6AF5CB689E315FB6199603BABF2C88D805"
github.com5 min"MS=ms44452932"
github.com5 min"MS=ms58704441"
github.com5 min"TAILSCALE-xOzoDvFUzZr5YYVCQFuD"
github.com5 min"adobe-idp-site-verification=b92c9e999aef825edc36e0a3d847d2dbad5b2fc0e05c79ddd7a16139b48ecf4b"
github.com5 min"anthropic-domain-verification-4az7qn=if8YWuRRqwLycGJDooumzHtxm"
github.com5 min"apple-domain-verification=RyQhdzTl6Z6x8ZP4"
github.com5 min"atlassian-domain-verification=jjgw98AKv2aeoYFxiL/VFaoyPkn3undEssTRuMg6C/3Fp/iqhkV4HVV7WjYlVeF8"
github.com5 min"calendly-site-verification=at0DQARi7IZvJtXQAWhMqpmIzpvoBNF7aam5VKKxP"
github.com5 min"cursor-domain-verification-gtfwmt=1rfLOtiTngX5QSxD5HvNKTvm3"
github.com5 min"docusign=087098e3-3d46-47b7-9b4e-8a23028154cd"
github.com5 min"facebook-domain-verification=39xu4jzl7roi7x0n93ldkxjiaarx50"
github.com5 min"google-site-verification=82Le34Flgtd15ojYhHlGF_6g72muSjamlMVThBOJpks"
github.com5 min"google-site-verification=UTM-3akMgubp6tQtgEuAkYNYLyYAvpTnnSrDMWoDR3o"
github.com5 min"jamf-site-verification=XtaPNIYghF_e_xRDI8CjgQ"
github.com5 min"krisp-domain-verification=ZlyiK7XLhnaoUQb2hpak1PLY7dFkl1WE"
github.com5 min"loom-site-verification=f3787154f1154b7880e720a511ea664d"
github.com5 min"miro-verification=d2e174fdb00c71e0bcf58f8e58c3da2dd80dcfa9"
github.com5 min"openai-domain-verification=dv-3nh33eQwdkotMIAzLrIDVZo1"
github.com5 min"serval-domain-verification-ydryhj=qbkiEakpwEpTvHh5fIiCqtaue"
github.com5 min"shopify-verification-code=t1YPwcmvnxZyBycaCpk1MPyWoFs72o"
github.com5 min"stripe-verification=f88ef17321660a01bab1660454192e014defa29ba7b8de9633c69d6b4912217f"
github.com5 min"v=spf1 ip4:192.30.252.0/22 include:spf.protection.outlook.com include:_netblocks.google.com include:_netblocks2.google.com include:mail.zendesk.com include:_spf.salesforce.com include:servers.mcsv.net include:mktomail.com include:sendgrid.net ip4:62.253.2" "27.114 ip4:166.78.69.169 ip4:166.78.69.170 ip4:166.78.71.131 ~all"
SOA1
NameTTLValue
github.com33 sdns1.p08.nsone.net. hostmaster.nsone.net. 1656468023 43200 7200 1209600 3600
CAA7
NameTTLValue
github.com30 min0 issue "digicert.com"
github.com30 min0 issue "globalsign.com"
github.com30 min0 issue "letsencrypt.org"
github.com30 min0 issue "sectigo.com"
github.com30 min0 issuewild "digicert.com"
github.com30 min0 issuewild "letsencrypt.org"
github.com30 min0 issuewild "sectigo.com"
Structured result (JSON) · 12 KB
{
  "name": "github.com",
  "type": "ALL",
  "resolver": "cloudflare",
  "resolverName": "Cloudflare",
  "rcode": "NOERROR",
  "ad": false,
  "dnssec": false,
  "ms": 58,
  "records": [
    {
      "name": "github.com",
      "type": "A",
      "ttl": 12,
      "data": "20.250.119.67",
      "fields": {
        "address": "20.250.119.67"
      }
    },
    {
      "name": "github.com",
      "type": "MX",
      "ttl": 300,
      "data": "0 github-com.mail.protection.outlook.com.",
      "fields": {
        "preference": 0,
        "exchange": "github-com.mail.protection.outlook.com"
      }
    },
    {
      "name": "github.com",
      "type": "NS",
      "ttl": 178,
      "data": "dns1.p08.nsone.net.",
      "fields": {
        "nameserver": "dns1.p08.nsone.net"
      }
    },
    {
      "name": "github.com",
      "type": "NS",
      "ttl": 178,
      "data": "dns2.p08.nsone.net.",
      "fields": {
        "nameserver": "dns2.p08.nsone.net"
      }
    },
    {
      "name": "github.com",
      "type": "NS",
      "ttl": 178,
      "data": "dns3.p08.nsone.net.",
      "fields": {
        "nameserver": "dns3.p08.nsone.net"
      }
    },
    {
      "name": "github.com",
      "type": "NS",
      "ttl": 178,
      "data": "dns4.p08.nsone.net.",
      "fields": {
        "nameserver": "dns4.p08.nsone.net"
      }
    },
    {
      "name": "github.com",
      "type": "NS",
      "ttl": 178,
      "data": "ns-1283.awsdns-32.org.",
      "fields": {
        "nameserver": "ns-1283.awsdns-32.org"
      }
    },
    {
      "name": "github.com",
      "type": "NS",
      "ttl": 178,
      "data": "ns-1707.awsdns-21.co.uk.",
      "fields": {
        "nameserver": "ns-1707.awsdns-21.co.uk"
      }
    },
    {
      "name": "github.com",
      "type": "NS",
      "ttl": 178,
      "data": "ns-421.awsdns-52.com.",
      "fields": {
        "nameserver": "ns-421.awsdns-52.com"
      }
    },
    {
      "name": "github.com",
      "type": "NS",
      "ttl": 178,
      "data": "ns-520.awsdns-01.net.",
      "fields": {
        "nameserver": "ns-520.awsdns-01.net"
      }
    },
    {
      "name": "github.com",
      "type": "TXT",
      "ttl": 300,
      "data": "\"00Dd0000000hHE0=1TBKg000000TN2r\"",
      "fields": {
        "text": "00Dd0000000hHE0=1TBKg000000TN2r",
        "chunks": 1
      }
    },
    {
      "name": "github.com",
      "type": "TXT",
      "ttl": 300,
      "data": "\"MS=6BF03E6AF5CB689E315FB6199603BABF2C88D805\"",
      "fields": {
        "text": "MS=6BF03E6AF5CB689E315FB6199603BABF2C88D805",
        "chunks": 1
      }
    },
    {
      "name": "github.com",
      "type": "TXT",
      "ttl": 300,
      "data": "\"MS=ms44452932\"",
      "fields": {
        "text": "MS=ms44452932",
        "chunks": 1
      }
    },
    {
      "name": "github.com",
      "type": "TXT",
      "ttl": 300,
      "data": "\"MS=ms58704441\"",
      "fields": {
        "text": "MS=ms58704441",
        "chunks": 1
      }
    },
    {
      "name": "github.com",
      "type": "TXT",
      "ttl": 300,
      "data": "\"TAILSCALE-xOzoDvFUzZr5YYVCQFuD\"",
      "fields": {
        "text": "TAILSCALE-xOzoDvFUzZr5YYVCQFuD",
        "chunks": 1
      }
    },
    {
      "name": "github.com",
      "type": "TXT",
      "ttl": 300,
      "data": "\"adobe-idp-site-verification=b92c9e999aef825edc36e0a3d847d2dbad5b2fc0e05c79ddd7a16139b48ecf4b\"",
      "fields": {
        "text": "adobe-idp-site-verification=b92c9e999aef825edc36e0a3d847d2dbad5b2fc0e05c79ddd7a16139b48ecf4b",
        "chunks": 1
      }
    },
    {
      "name": "github.com",
      "type": "TXT",
      "ttl": 300,
      "data": "\"anthropic-domain-verification-4az7qn=if8YWuRRqwLycGJDooumzHtxm\"",
      "fields": {
        "text": "anthropic-domain-verification-4az7qn=if8YWuRRqwLycGJDooumzHtxm",
        "chunks": 1
      }
    },
    {
      "name": "github.com",
      "type": "TXT",
      "ttl": 300,
      "data": "\"apple-domain-verification=RyQhdzTl6Z6x8ZP4\"",
      "fields": {
        "text": "apple-domain-verification=RyQhdzTl6Z6x8ZP4",
        "chunks": 1
      }
    },
    {
      "name": "github.com",
      "type": "TXT",
      "ttl": 300,
      "data": "\"atlassian-domain-verification=jjgw98AKv2aeoYFxiL/VFaoyPkn3undEssTRuMg6C/3Fp/iqhkV4HVV7WjYlVeF8\"",
      "fields": {
        "text": "atlassian-domain-verification=jjgw98AKv2aeoYFxiL/VFaoyPkn3undEssTRuMg6C/3Fp/iqhkV4HVV7WjYlVeF8",
        "chunks": 1
      }
    },
    {
      "name": "github.com",
      "type": "TXT",
      "ttl": 300,
      "data": "\"calendly-site-verification=at0DQARi7IZvJtXQAWhMqpmIzpvoBNF7aam5VKKxP\"",
      "fields": {
        "text": "calendly-site-verification=at0DQARi7IZvJtXQAWhMqpmIzpvoBNF7aam5VKKxP",
        "chunks": 1
      }
    },
    {
      "name": "github.com",
      "type": "TXT",
      "ttl": 300,
      "data": "\"cursor-domain-verification-gtfwmt=1rfLOtiTngX5QSxD5HvNKTvm3\"",
      "fields": {
        "text": "cursor-domain-verification-gtfwmt=1rfLOtiTngX5QSxD5HvNKTvm3",
        "chunks": 1
      }
    },
    {
      "name": "github.com",
      "type": "TXT",
      "ttl": 300,
      "data": "\"docusign=087098e3-3d46-47b7-9b4e-8a23028154cd\"",
      "fields": {
        "text": "docusign=087098e3-3d46-47b7-9b4e-8a23028154cd",
        "chunks": 1
      }
    },
    {
      "name": "github.com",
      "type": "TXT",
      "ttl": 300,
      "data": "\"facebook-domain-verification=39xu4jzl7roi7x0n93ldkxjiaarx50\"",
      "fields": {
        "text": "facebook-domain-verification=39xu4jzl7roi7x0n93ldkxjiaarx50",
        "chunks": 1
      }
    },
    {
      "name": "github.com",
      "type": "TXT",
      "ttl": 300,
      "data": "\"google-site-verification=82Le34Flgtd15ojYhHlGF_6g72muSjamlMVThBOJpks\"",
      "fields": {
        "text": "google-site-verification=82Le34Flgtd15ojYhHlGF_6g72muSjamlMVThBOJpks",
        "chunks": 1
      }
    },
    {
      "name": "github.com",
      "type": "TXT",
      "ttl": 300,
      "data": "\"google-site-verification=UTM-3akMgubp6tQtgEuAkYNYLyYAvpTnnSrDMWoDR3o\"",
      "fields": {
        "text": "google-site-verification=UTM-3akMgubp6tQtgEuAkYNYLyYAvpTnnSrDMWoDR3o",
        "chunks": 1
      }
    },
    {
      "name": "github.com",
      "type": "TXT",
      "ttl": 300,
      "data": "\"jamf-site-verification=XtaPNIYghF_e_xRDI8CjgQ\"",
      "fields": {
        "text": "jamf-site-verification=XtaPNIYghF_e_xRDI8CjgQ",
        "chunks": 1
      }
    },
    {
      "name": "github.com",
      "type": "TXT",
      "ttl": 300,
      "data": "\"krisp-domain-verification=ZlyiK7XLhnaoUQb2hpak1PLY7dFkl1WE\"",
      "fields": {
        "text": "krisp-domain-verification=ZlyiK7XLhnaoUQb2hpak1PLY7dFkl1WE",
        "chunks": 1
      }
    },
    {
      "name": "github.com",
      "type": "TXT",
      "ttl": 300,
      "data": "\"loom-site-verification=f3787154f1154b7880e720a511ea664d\"",
      "fields": {
        "text": "loom-site-verification=f3787154f1154b7880e720a511ea664d",
        "chunks": 1
      }
    },
    {
      "name": "github.com",
      "type": "TXT",
      "ttl": 300,
      "data": "\"miro-verification=d2e174fdb00c71e0bcf58f8e58c3da2dd80dcfa9\"",
      "fields": {
        "text": "miro-verification=d2e174fdb00c71e0bcf58f8e58c3da2dd80dcfa9",
        "chunks": 1
      }
    },
    {
      "name": "github.com",
      "type": "TXT",
      "ttl": 300,
      "data": "\"openai-domain-verification=dv-3nh33eQwdkotMIAzLrIDVZo1\"",
      "fields": {
        "text": "openai-domain-verification=dv-3nh33eQwdkotMIAzLrIDVZo1",
        "chunks": 1
      }
    },
    {
      "name": "github.com",
      "type": "TXT",
      "ttl": 300,
      "data": "\"serval-domain-verification-ydryhj=qbkiEakpwEpTvHh5fIiCqtaue\"",
      "fields": {
        "text": "serval-domain-verification-ydryhj=qbkiEakpwEpTvHh5fIiCqtaue",
        "chunks": 1
      }
    },
    {
      "name": "github.com",
      "type": "TXT",
      "ttl": 300,
      "data": "\"shopify-verification-code=t1YPwcmvnxZyBycaCpk1MPyWoFs72o\"",
      "fields": {
        "text": "shopify-verification-code=t1YPwcmvnxZyBycaCpk1MPyWoFs72o",
        "chunks": 1
      }
    },
    {
      "name": "github.com",
      "type": "TXT",
      "ttl": 300,
      "data": "\"stripe-verification=f88ef17321660a01bab1660454192e014defa29ba7b8de9633c69d6b4912217f\"",
      "fields": {
        "text": "stripe-verification=f88ef17321660a01bab1660454192e014defa29ba7b8de9633c69d6b4912217f",
        "chunks": 1
      }
    },
    {
      "name": "github.com",
      "type": "TXT",
      "ttl": 300,
      "data": "\"v=spf1 ip4:192.30.252.0/22 include:spf.protection.outlook.com include:_netblocks.google.com include:_netblocks2.google.com include:mail.zendesk.com include:_spf.salesforce.com include:servers.mcsv.net include:mktomail.com include:sendgrid.net ip4:62.253.2\" \"27.114 ip4:166.78.69.169 ip4:166.78.69.170 ip4:166.78.71.131 ~all\"",
      "fields": {
        "text": "v=spf1 ip4:192.30.252.0/22 include:spf.protection.outlook.com include:_netblocks.google.com include:_netblocks2.google.com include:mail.zendesk.com include:_spf.salesforce.com include:servers.mcsv.net include:mktomail.com include:sendgrid.net ip4:62.253.227.114 ip4:166.78.69.169 ip4:166.78.69.170 ip4:166.78.71.131 ~all",
        "chunks": 2
      }
    },
    {
      "name": "github.com",
      "type": "SOA",
      "ttl": 33,
      "data": "dns1.p08.nsone.net. hostmaster.nsone.net. 1656468023 43200 7200 1209600 3600",
      "fields": {
        "mname": "dns1.p08.nsone.net",
        "rname": "hostmaster.nsone.net",
        "serial": 1656468023,
        "refresh": 43200,
        "retry": 7200,
        "expire": 1209600,
        "minimum": 3600
      }
    },
    {
      "name": "github.com",
      "type": "CAA",
      "ttl": 1773,
      "data": "0 issue \"digicert.com\"",
      "fields": {
        "flags": 0,
        "tag": "issue",
        "value": "digicert.com",
        "critical": false
      }
    },
    {
      "name": "github.com",
      "type": "CAA",
      "ttl": 1773,
      "data": "0 issue \"globalsign.com\"",
      "fields": {
        "flags": 0,
        "tag": "issue",
        "value": "globalsign.com",
        "critical": false
      }
    },
    {
      "name": "github.com",
      "type": "CAA",
      "ttl": 1773,
      "data": "0 issue \"letsencrypt.org\"",
      "fields": {
        "flags": 0,
        "tag": "issue",
        "value": "letsencrypt.org",
        "critical": false
      }
    },
    {
      "name": "github.com",
      "type": "CAA",
      "ttl": 1773,
      "data": "0 issue \"sectigo.com\"",
      "fields": {
        "flags": 0,
        "tag": "issue",
        "value": "sectigo.com",
        "critical": false
      }
    },
    {
      "name": "github.com",
      "type": "CAA",
      "ttl": 1773,
      "data": "0 issuewild \"digicert.com\"",
      "fields": {
        "flags": 0,
        "tag": "issuewild",
        "value": "digicert.com",
        "critical": false
      }
    },
    {
      "name": "github.com",
      "type": "CAA",
      "ttl": 1773,
      "data": "0 issuewild \"letsencrypt.org\"",
      "fields": {
        "flags": 0,
        "tag": "issuewild",
        "value": "letsencrypt.org",
        "critical": false
      }
    },
    {
      "name": "github.com",
      "type": "CAA",
      "ttl": 1773,
      "data": "0 issuewild \"sectigo.com\"",
      "fields": {
        "flags": 0,
        "tag": "issuewild",
        "value": "sectigo.com",
        "critical": false
      }
    }
  ],
  "authority": [],
  "queries": [
    {
      "type": "A",
      "rcode": "NOERROR",
      "records": 1,
      "ms": 16,
      "ad": false
    },
    {
      "type": "AAAA",
      "rcode": "NOERROR",
      "records": 0,
      "ms": 16,
      "ad": false
    },
    {
      "type": "CNAME",
      "rcode": "NOERROR",
      "records": 0,
      "ms": 19,
      "ad": false
    },
    {
      "type": "MX",
      "rcode": "NOERROR",
      "records": 1,
      "ms": 19,
      "ad": false
    },
    {
      "type": "NS",
      "rcode": "NOERROR",
      "records": 8,
      "ms": 16,
      "ad": false
    },
    {
      "type": "TXT",
      "rcode": "NOERROR",
      "records": 24,
      "ms": 57,
      "ad": false
    },
    {
      "type": "SOA",
      "rcode": "NOERROR",
      "records": 1,
      "ms": 17,
      "ad": false
    },
    {
      "type": "CAA",
      "rcode": "NOERROR",
      "records": 7,
      "ms": 16,
      "ad": false
    },
    {
      "type": "HTTPS",
      "rcode": "NOERROR",
      "records": 0,
      "ms": 16,
      "ad": false
    }
  ],
  "ede": [],
  "notes": [],
  "truncated": false,
  "server": "1.1.1.1",
  "minTtl": 12
}

What a DNS lookup shows

A DNS lookup shows the records a domain publishes: where its website lives, where its email goes, which nameservers run it and which text records protect its email or prove who owns it. Leave the type on All and you get the nine most common record types in one list. Each record comes with its value and its TTL (time to live), the number of seconds a resolver may keep the answer. LookupOwl can ask a public resolver, the kind of server your device normally asks, or the domain's own nameserver, which holds the real records.

RecordAnswers the question
A / AAAAWhich IPv4 / IPv6 addresses does this name point to? See A lookup and AAAA lookup.
CNAMEIs this name an alias for another name? See CNAME lookup.
MXWhere should email for this domain be delivered? See MX lookup.
NSWhich servers are authoritative for this domain? See NS lookup.
TXTWhat text has the owner published (SPF, DMARC, verification tokens)? See TXT lookup.
SOAWhich server is the primary, and what are the zone's serial number and timers? See SOA lookup.
CAAWhich certificate authorities may issue certificates? See CAA lookup.
DS / DNSKEYIs the domain signed with DNSSEC? See DS lookup and DNSKEY lookup.
HTTPS, SRV, TLSA, PTRConnection hints for browsers (HTTPS, also part of All), the host and port of a named service (SRV), certificate data for DANE (TLSA) and the hostname behind an IP address (PTR). Pick them from the record type menu in More options. For addresses, reverse DNS is simpler.

How to use it

  1. Enter a hostnameUse example.com or a subdomain such as mail.example.com. A pasted URL or email address is cut down to its hostname, and a name with accents or non-Latin letters is converted to its ASCII form (Punycode).
  2. Choose what to askThe default is All. To ask for one record type, or to change who answers, open More options. The resolver menu starts on Cloudflare and offers Google, Quad9, OpenDNS and dozens more, plus the domain's own nameserver, which skips every cache.
  3. Compare with the sourceRead each record with its TTL. If a public resolver and the domain's own nameserver give different answers, the resolver may be holding an older copy. The DNS propagation checker compares 48 resolvers at once.

How to read the answer

  • TTL. Read 300 as five minutes and 86400 as a day. After you change a record, old answers can linger for up to the old TTL.
  • NOERROR with records. The name exists and the record is there.
  • NOERROR with no records (NODATA). The name exists, but not with that record type. A host with only an AAAA record has no A record, for example. With All, a type that has nothing to show is simply left out of the list. Ask for it on its own to see the NODATA message.
  • NXDOMAIN. The name does not exist at all. Check the spelling, then check that the parent domain is registered.
  • SERVFAIL. The resolver could not get a usable answer. A broken delegation (the parent zone points at the wrong nameservers), unreachable nameservers and failed DNSSEC checks all look like this. Try the domain's own nameserver, which skips validation and caches, to see what is really published.
  • REFUSED. A server declined to answer, usually because it is not authoritative for that name or does not serve your network.
  • AD flag. The resolver says it checked the DNSSEC signatures, and the result shows DNSSEC: Validated. You only see it with Request DNSSEC data switched on in More options, and never from the domain's own nameserver, because checking happens in a resolver.
  • Extended DNS error. Some resolvers explain a failure in words, such as an expired signature or unreachable nameservers (RFC 8914). LookupOwl shows these as resolver notes.

Common problems

  • My change isn't showing. Caches keep the old value until its TTL runs out. Ask the domain's own nameserver to confirm the new record is published, then watch it spread with the DNS propagation checker.
  • The records look right but the site fails. A correct A record does not help if the web server is down or its certificate is wrong. Try the HTTP headers checker and the SSL checker.
  • Two resolvers disagree. One has a cached copy, or the domain's nameservers disagree with each other. LookupOwl picks one of the domain's nameservers at random each time you ask for the domain's own answer, so two runs can reach different servers. To compare them all, run dig +nssearch example.com in a terminal.
  • Misspelt names still resolve. A wildcard record (*) answers for any name that has no more specific record, so a misspelt subdomain can still return an address.

How the lookup works

LookupOwl builds the DNS query itself and sends it over UDP, retrying once if no reply arrives. It switches to TCP when the answer is too big for one packet. A public resolver does the legwork from the root servers down. For the domain's own nameserver, LookupOwl finds the domain's nameservers, picks one at random and asks it directly, with no cache in between. Nameserver addresses are checked first, so a delegation cannot point LookupOwl at private or internal systems. Results are kept for 30 seconds to 5 minutes, depending on the records' TTLs, and Check again fetches a fresh one.

Shell
# Same lookups from your own terminal
dig example.com A +noall +answer
dig example.com MX +short
dig @8.8.8.8 example.com TXT
nslookup -type=NS example.com

# Ask a domain's own nameserver, bypassing every cache
dig +short NS example.com
dig +norecurse @hera.ns.cloudflare.com example.com A

Standards

  • RFC 1034 and RFC 1035: the DNS concepts and the message and record formats.
  • RFC 2181: clarifications, including the rules for CNAME and TTL.
  • RFC 2308: negative caching of NXDOMAIN and NODATA answers.
  • RFC 4033, RFC 4034 and RFC 4035: DNSSEC, where the AD flag and the signature records come from.
  • RFC 8482: minimal responses to ANY queries. RFC 8914: extended DNS errors.
  • RFC 9499: the current DNS terminology reference.

Questions people ask

How do I check the DNS records of a domain?

Type the domain into the box and run the lookup. With the type on All you get the A, AAAA, CNAME, MX, NS, TXT, SOA, CAA and HTTPS records in one list, each with its TTL. To see just one type, or to ask a different resolver, open More options.

What is the difference between a public resolver and authoritative servers?

A public resolver, such as Cloudflare's or Google's, answers from its cache and fetches a record only when it has none, so it shows what many people see right now. An authoritative server holds the zone itself, so it shows what is really published, with no cache. Use a resolver to ask what visitors get, and the nameserver to ask whether your change was saved.

Why do I get NXDOMAIN?

NXDOMAIN means the name is not in DNS. The usual causes are a typo, a record that was never created, a zone hosted at a different DNS provider than you think, or a domain that expired and was removed. Resolvers also remember “does not exist” answers for a while, so a record you just created can keep failing until that cache expires.

What does the TTL mean?

TTL is time to live: the number of seconds a resolver may reuse an answer before asking again. A short TTL makes changes show up quickly but means more queries to your nameservers, while a long one is gentler on them but slower to change. Lower it at least one old TTL before a planned change, then raise it again afterwards.

Is this the same as nslookup or dig?

It asks the same questions and shows the same data, with two differences. The query is sent from LookupOwl's servers, not from your computer, so answers can differ from what your own resolver returns. And you can share a link to the result or hand the same lookup to an AI assistant.

Why is there no ANY option?

ANY is not a reliable way to list a domain's records, because many servers now answer it with almost nothing (RFC 8482). Use All for the common types, or pick the one you need: A, AAAA, CNAME, MX, NS, TXT, SOA, CAA, DS, DNSKEY, PTR, SRV, HTTPS or TLSA.

Can I use it from code or an AI assistant?

Yes. The dns_lookup tool is available on the free REST API and the MCP server, and neither needs a key. Each call returns the records, their TTLs and the response code as structured data. Fair-use limits apply. See how to use LookupOwl with AI agents.

Use it from AI, the API or the command line

Every LookupOwl tool is also a free API and an MCP tool, with no key and no account. This one is dns_lookup. Please be kind to the rate limits.

curl
curl "https://lookupowl.com/api/v1/tools/dns-lookup?q=cloudflare.com"
MCP
claude mcp add --transport http lookupowl https://lookupowl.com/mcp