Anycast ranges, where one address has many locations.
Address ranges reachable from many physical locations at once, a start and an end address per range, so an address with no single place can be handled on its own in geolocation, latency and abuse attribution.
Schema at a glance.
See documentation →The schema and metadata are in the docs. It is published as CSVGZ and MMDB.
| start_ip | end_ip |
|---|---|
| 1.1.1.0 | 1.1.1.255 |
| 8.8.8.0 | 8.8.8.255 |
| 9.9.9.0 | 9.9.9.255 |
| 198.41.0.0 | 198.41.0.255 |
| 2606:4700:100:: | 2606:4700:100:ffff:ffff:ffff:ffff:ffff |
Downloading it from code.
Database API reference →One call gets you the current Anycast IP build. Every official client wraps it three ways: straight to disk, a time-limited link you hand to your own runner, or bytes in memory, and checksums() returns the published digests to verify it against.
download()downloadUrl()downloadBytes()metadata()checksums()import osfrom internetdata import InternetDataclient = InternetData(os.environ["INTERNETDATA_API_KEY"])# what is in today's build, without moving the filemeta = client.database.metadata("anycast_ip_v1")client.database.download("anycast_ip_v1", "mmdb", "./anycast_ip_v1.mmdb")sums = client.database.checksums("anycast_ip_v1", "mmdb")print(meta.updated, meta.entries, sums["sha256"])
Where it occurs.
Anycast IP holds 11,235,328 IPv4 addresses in the latest build. These are the countries and networks with the most of them; each opens its own page, as does every IP range.
By country
Of the 11,235,328 IP Geolocation places.
- United States7,891,456 · 70.24%
- Belgium537,344 · 4.78%
- India321,792 · 2.86%
- United Kingdom272,640 · 2.43%
- Germany234,752 · 2.09%
- The Netherlands208,640 · 1.86%
- Japan170,240 · 1.52%
- Brazil168,960 · 1.50%
- Singapore163,072 · 1.45%
- Hong Kong158,464 · 1.41%
By network
Each /24 counted for the AS announcing most of it.
- AS396982Google LLC7,403,520 · 65.90%
- AS13335Cloudflare, Inc.811,520 · 7.22%
- AS16509Amazon.com, Inc.498,688 · 4.44%
- AS54113Fastly, Inc.262,656 · 2.34%
- AS3356Level 3 Parent, LLC262,144 · 2.33%
- AS19527Google LLC229,376 · 2.04%
- AS1273Vodafone Group PLC138,752 · 1.23%
- AS11427Charter Communications Inc130,816 · 1.16%
- AS11351Charter Communications Inc81,920 · 0.73%
- AS56508Amateur Radio Digital Communications65,280 · 0.58%
Getting your hands on it.
Free with an account, and the file is yours: teams join Anycast IP against the traffic, logs and routing data they already hold, inside their own infrastructure.
Geolocation
An anycast address is reachable from many places, so treat its location as unknown rather than pin it to one city.
Latency
A different instance answers from each place, so round-trip times from two vantage points can both be right.
Abuse attribution
One address can front many machines in many places, so attribute its traffic to the network, not to a host.
An official client for every major language.
All SDKs on GitHub →Twelve official clients for the languages you ship in, each wrapping the database endpoints: list what you're licensed for, poll a build, follow the download redirect and verify what landed. Install commands are in the docs.
What is anycast?
One address announced from many places at once, so each user reaches the nearest instance. Public resolvers such as 1.1.1.1 and 8.8.8.8 work this way.
Why does it carry no location?
Because it has no single one: the same address answers from many cities. Treat its location as unknown rather than trust the one city a database picked.
What is in a row?
A start and an end address, both inclusive, and nothing else.
Is it really free?
Yes. Create an account and download it from the console, or with your API key from the API or any official client. It's licensed under CC BY-SA 4.0: credit InternetData and share what you build from it under the same license.
How often is it rebuilt?
Daily. The metadata call answers when the current build landed and how many rows it holds, before you fetch it.
Which formats does a build ship in?
Gzipped CSV and MMDB, both cut from the same build. Poll the metadata call first and fetch only when the build has changed.
What if a row looks wrong?
Send it to us and we'll tell you what we hold on it, when we last saw it and how. Corrections land in the next build.