Skip to content
LookupOwl

SOA record lookup

Read a zone's start-of-authority record and see what its serial and timers mean.

A domain, like example.com. A subdomain has no SOA of its own, so we show the one for the zone it belongs to.

More options

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).

What the SOA record contains

Every DNS zone, meaning the set of records a domain's nameservers manage, has exactly one SOA (start of authority) record. It names the zone's primary server, gives a contact for its administrator and carries a serial number plus four timers. These tell secondary servers, which keep copies of the zone, and caches how to behave. Most people never touch it. It matters when records seem stuck, when secondary servers fall out of sync, and when a brand-new name returns NXDOMAIN for longer than you expect.

FieldMeaning
MNAMEThe primary nameserver for the zone.
RNAMEThe administrator's email, with the first dot standing for @. hostmaster.example.com means [email protected].
SerialA version number for the zone. Secondaries copy the zone when it goes up.
RefreshHow often secondaries check the primary for a new serial, in seconds.
RetryHow long a secondary waits before trying again after a failed refresh.
ExpireHow long a secondary keeps answering if it cannot reach the primary, before it stops.
MinimumToday, the negative-caching TTL: how long resolvers remember that a name does not exist.

How to read it

  1. Enter the domainThe SOA belongs to the zone, so ask for the zone apex, such as example.com. For a subdomain that is not a zone of its own, the answer is empty and the enclosing zone's SOA appears under authority.
  2. Ask an authoritative serverChoose the authoritative option under More options to read the SOA straight from the zone's own nameserver, with no cache in between.
  3. Compare serials across nameserversA healthy zone returns the same serial from every nameserver. If one is lower, it is missing recent changes. Wait for its refresh interval, or ask your provider to trigger a zone transfer. The command in the last section checks all of them at once.

Reading the serial and timers

  • Serial formats. Many zones use YYYYMMDDnn. For example, 2026102401 is the first change on 24 October 2026. Others use a Unix timestamp or a plain counter. Only the order matters, but serial comparison wraps around at 2^32 (RFC 1982).
  • The serial did not change after an edit. Some managed DNS services do not use the serial at all, and others bump it in batches. If your provider uses zone transfers, the serial must go up for secondaries to pick up changes.
  • Minimum is the negative-caching time. Under RFC 2308, resolvers remember an NXDOMAIN or NODATA answer for the smaller of the SOA record's own TTL and this value. If you query a name before you create it, you may keep seeing “does not exist” for that long.
  • Refresh and retry control how quickly secondaries catch up. Providers that push changes with NOTIFY make them less important.
  • Expire should be much larger than refresh and retry, usually weeks, so a primary outage does not take the zone down.

Common problems

  • A new record still returns NXDOMAIN. The earlier miss was cached for the SOA minimum. Wait it out, or ask the resolver operator to flush it.
  • Secondary servers return old data. Their serial is lower. Check zone transfer permissions (AXFR and IXFR), the NOTIFY setting and any firewalls between the servers.
  • The serial went backwards. Restoring an old zone file or editing it by hand can lower it. Secondaries ignore a lower serial, so they stay stale until it passes the old value.
  • An odd admin address. A dot inside the local part must be escaped with a backslash. Many tools show it wrongly.
  • Extreme timers. A negative-cache time of a week, or a refresh of a few seconds, suggests a misconfiguration.

How the lookup works and the standards

LookupOwl asks for type SOA (code 6) from the resolver you choose or from an authoritative nameserver and decodes the fields. The record is defined in RFC 1035, serial comparison in RFC 1982, the negative-caching role of the last field in RFC 2308, and operational advice in RFC 1912.

Shell
dig +short SOA example.com
# Compare serials across all authoritative servers
for ns in $(dig +short NS example.com); do dig +short @$ns SOA example.com; done

To find the servers to compare, run an NS lookup. The DNS propagation checker can also compare the SOA answer of public resolvers with the authoritative one.

Questions people ask

What does SOA stand for?

SOA stands for start of authority. The record marks the beginning of a zone and carries the settings that control how the zone is copied between servers and how long negative answers are cached. Every zone has exactly one, and it always sits at the top of the zone, next to the NS records.

What is the SOA serial number?

The serial is a version number for the zone. It must go up every time the zone changes. Secondary servers compare it with their own copy to decide whether to download a new one. If you edit a zone by hand and forget to raise it, secondaries will keep serving the old data.

What does the SOA minimum value mean?

In current practice, the minimum is the negative-caching time: how long resolvers remember that a name or record type does not exist. It used to be the default TTL for the zone, which is why you may still see the old explanation elsewhere. RFC 2308 changed its meaning.

Why is the admin email written with a dot instead of @?

The field is stored as a domain name, which cannot contain an @, so the first dot stands in for it. hostmaster.example.com means [email protected]. If the real address has a dot before the @, that dot is escaped with a backslash. Many providers fill in a generic address here, so do not rely on it to reach someone.

Do I need to change the SOA values?

Rarely. The defaults from a reputable DNS host are fine. Change them only if you run your own primary and secondary servers, or you need a shorter negative-caching time so that new names show up sooner after a miss. With a managed DNS service you often cannot edit them anyway.

How can I tell whether my secondary servers are in sync?

Ask each authoritative nameserver for the SOA and compare the serials. If they are all equal, the zone is in sync. If one is lower, it has not picked up the latest change yet. The command in the last section does this for every nameserver listed in the NS records.

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=example.com"
MCP
claude mcp add --transport http lookupowl https://lookupowl.com/mcp