DNS Propagation Checker
Changed a DNS record and want to know if the world sees it yet? Enter the domain and record type. Five public resolvers get asked at the same moment, and you see who returns what. If they all agree, you're done. If they don't, the TTLs tell you roughly how long the old answer can hang around.
Comma-separated, at least two. Leave empty to ask all five.
returns
- data.consistent
- True when every resolver that answered returned the same records.
- data.agreement_percent
- Share of responding resolvers that agree with the most common answer.
- data.answers
- Each distinct answer with the resolvers that returned it.
- data.results
- Per-resolver status, records and TTL.
- data.ttl
- Lowest and highest TTL seen across resolvers.
- data.note
- A plain-language read of what a mismatch probably means.
Fill in the fields and send a request. The response lands here.
Run it from your code
A temporary key takes one request and lasts seven days at 20 calls a day. Register and it becomes 75 a day, still free.
$ curl -s "https://apixies.io/api/v1/dns-propagation?domain=example.com" \ -H "X-API-Key: $APIXIES_KEY" | jq '.data.consistent' false
questions
The resolvers disagree. Is my change broken?
Probably not. Resolvers cache the old record until its TTL runs out, so for a while some return the old value and some the new one. Check again after the highest TTL shown. Big sites like GitHub also return different addresses on purpose (load balancing), so disagreement isn't always propagation.
How do I make DNS changes spread faster next time?
Lower the record's TTL a day or so before the change, for example to 300 seconds. Resolvers then drop the old answer within five minutes. Raise it again once the change has settled.
Why only five resolvers?
These five handle a large share of public DNS traffic, and asking them at once keeps the check under a few seconds. If all five agree, most users see your change.