25% off everything for the next 48 hours — use code HEART at checkoutGet 25% off
← All articles

Tutorials

How to Check if a Domain Supports IPv6

Alex R. · August 18, 2026 · 5 min read


Checking whether a domain supports IPv6 takes one command. Understanding what the answer means for your scraping or proxy setup takes slightly longer, and matters more than most people expect.

The short version: look for an AAAA record

IPv4 addresses live in A records; IPv6 addresses live in AAAA records. A domain supports IPv6 if it publishes at least one AAAA record that actually answers.

# quickest check
dig AAAA example.com +short

# no output means no AAAA record published
dig AAAA google.com +short
# 2a00:1450:4009:81f::200e

Checking from Python

import socket

def ipv6_support(host):
    try:
        records = socket.getaddrinfo(host, None, socket.AF_INET6)
        return sorted({r[4][0] for r in records})
    except socket.gaierror:
        return []

for host in ("google.com", "example.com"):
    addrs = ipv6_support(host)
    print(host, addrs or "no IPv6")

Note the distinction between a published record and a working one. A domain can publish an AAAA record that times out, which is worse than publishing none at all, because clients preferring IPv6 will try it first and stall.

Why this matters for proxies

Two practical consequences. First, if your target has no AAAA record, an IPv6-only proxy cannot reach it at all — you need IPv4 or dual-stack. Second, if your client prefers IPv6 and your proxy only handles IPv4, you can end up with requests that bypass the proxy or fail confusingly. Mismatches between what your code prefers and what your proxy supports produce some of the more baffling debugging sessions in this field.

Forcing a family

import requests.packages.urllib3.util.connection as conn
import socket

# force IPv4 for every request in this process
conn.allowed_gai_family = lambda: socket.AF_INET

This is a blunt instrument, but when you are diagnosing whether a failure is address-family related it answers the question in one line.

Checking a domain quickly

Our IPv6 checker resolves a domain and reports whether AAAA records exist and respond, which is faster than remembering dig syntax when you just need an answer. For the wider background on address exhaustion and why adoption has been slow, see IPv4 vs IPv6 explained.

Frequently Asked Questions

What is an AAAA record?

The DNS record type that maps a hostname to an IPv6 address, the IPv6 equivalent of an A record. A domain supports IPv6 if it publishes at least one AAAA record that answers.

How do I check IPv6 support from the command line?

Run dig AAAA example.com +short. Empty output means no AAAA record is published.

Why does IPv6 matter for proxies?

If a target publishes no AAAA record, an IPv6-only proxy cannot reach it. If your client prefers IPv6 but your proxy handles only IPv4, requests can fail or bypass the proxy confusingly.

Can a domain publish AAAA records that do not work?

Yes, and it is worse than publishing none, because clients that prefer IPv6 try it first and stall before falling back.

Related: IPv6 checker · proxy pricing · all eight products.

Put this into practice.

See IPv6 checker ↗Start now ↗