Skip to content

Forward-confirmed reverse DNS

published · September 12, 2026

Forward-confirmed reverse DNS looks up an address's PTR name, then resolves that name back; a name that comes back to the same address proves who owns it.

Forward-confirmed reverse DNS is a two-step check on an IP address: look up the PTR record that names the address (crawl-66-249-66-1.googlebot.com, say), then resolve that name forward to its A or AAAA records and see whether the original address is among them. Anyone who controls a block can publish any PTR name they like, so the reverse lookup alone proves nothing; the forward confirmation is what turns a name into evidence, because only the owner of the name's domain can make it resolve back.

What Spaw answers

The check runs only when a lookup asks for it with hostname: true, because it is a live DNS query with a two-second budget. hostname is the PTR name, hostname_verified whether it forward-confirmed, and a verified name under an operator's documented domain — googlebot.com, google.com, search.msn.com, applebot.apple.com, yandex., crawl.baidu. — proves the crawler and sets is_crawler even where no published range does. hostname_kind reads the naming convention (dynamic for pool and DHCP names, static for fixed and hosting names) and hostname_domain is the registrable domain, so the operator behind a name is one field.

What it does not mean

An unverified name is just text the block's owner chose; it is never used to prove anything. And a verified name proves the operator, not the intent: a real Googlebot address is Google's, whatever it happens to be fetching.

Related

markdown version: /glossary/forward-confirmed-reverse-dns.md

Verify addresses the same way

The Spaw API runs every check described here on each lookup, with an SMTP handshake that never sends mail. 10 free lookups a month, no card required.

Get your API key

More glossary

  • Area-code overlay

    An area-code overlay is a new area code added over the same area as an existing one, instead of splitting it, so neighbours can hold different codes and local calls need ten digits.

  • Calling window

    A calling window is the span of local hours a sender contacts people in. Spaw answers in_call_window from the number's time zones: clock arithmetic, not compliance advice.

  • Fictional number

    A fictional number sits in a range kept out of service for films, TV and other fiction: 555-0100 to 555-0199 in North America, and ranges Ofcom, ARCEP, ACMA and ComReg reserve elsewhere.

  • International (exit) prefix

    An international prefix is what is dialled to leave a country before the calling code: 00 in most of the world, 011 in North America. Spaw reads it and suggests a fix in did_you_mean.

  • International network number

    An international network number sits under a calling code the ITU gives a global service rather than a country, such as +870, +881, +882 or +883, so its country is null.

  • Live carrier check (HLR lookup)

    A live carrier check asks the mobile networks, at the moment of the lookup, whether a number is in service, which network serves it and whether it is roaming. On Spaw it is not enabled.

  • Number pooling (thousands-blocks)

    Number pooling splits a North American central office code into ten blocks of a thousand numbers, each assigned to a carrier separately, so one code can hold several carriers' numbers.

  • Number portability

    Number portability lets a subscriber keep a phone number when changing carrier. The number's block stays listed under the carrier it was issued to, so block data names the original holder.