IPNetDB

The downloadable, embeddable internet network information database

IPNetDB is a downloadable database containing information on IP addresses and the internet in the mmdb format. The database is split into two files, one database of prefix information that can be queried by IP address and the other to look up networks by autonomous systems number.
IPNetDB databases are small enough to be deployed inside applications to provide advanced routing information to applications, such as identifying traffic from a particular network and providing additional information on client IP addresses.
The databases are updated daily and were last generated on the 8th of January 2025.
By downloading or using IPNetDB databases you agree to our licence. You can automate deployments by downloading the databases every Monday using the JSON-encoded latest file list. The data contained in IPNetDB databases is as correct as we can make it but some information may not be perfectly accurate. Use in your application is at your own risk.

What's in the database?

The IPNetDB prefix database contains the following information. The database is queried by IP address.
Field Example Description
allocation 8.0.0.0/9 CIDR allocated by the registry that contains the IP address
allocation_cc US Two letter country code recorded at the registry for the allocation
allocation_registry arin Registry that has allocated the allocation
allocation_status allocated Allocation status at the registry
as 15169 ASN of the IP address, if multiple origins one is selected
as_cc US Two letter country code recorded at the registry for the ASN
as_entity Google LLC Name of the entity recorded as owning the ASN at the registry
as_name GOOGLE ASN name recorded at the registry
as_private False True if the ASN is not in a registry allocation and is a private ASN
as_registry arin Registry that has allocated the ASN
prefix 8.8.8.0/24 CIDR advertised the public routing table that contains the IP address
prefix_asset [] An array or list of ASNs if the prefix is advertised in an AS set
prefix_assignment allocation Prefix assignment status at the registry
prefix_bogon False True if the prefix is not in a registry allocation and is a bogon
prefix_cc NL Two letter country code recorded at the registry for the prefix
prefix_entity Google LLC Name of the entity recorded as owning the prefix at the registry
prefix_name LVLT-GOGL-8-8-8 Prefix name recorded at the registry
prefix_origins [15169] An array or list of all ASNs that have advertised the prefix
prefix_registry arin Registry that has allocated the prefix
rpki_status valid RPKI status of the advertisment, one of "unsigned", "valid" or "invalid"
ix {'organisation': 'Equinix, Inc.', 'exchange': 'Equinix Bogota', 'name': 'Amazon IVS / Twitch', 'speed': 10000} Internet exchange information known for this IP, including the exchange, peering name and port speed
The IPNetDB ASN database contains the following information. The database is queried by autonomous systems number.
Field Example Description
as 58682 AS number
cc BD Two letter country code recorded at the registry for the ASN
entity Level3 Carrier Ltd. Name of the entity recorded as owning the ASN at the registry
in_use True True if the ASN advertises routes or has peers
ipv4_prefixes ['103.15.40.0/24', '103.15.41.0/24'] Array or list of IPv4 prefixes the ASN advertises
ipv6_prefixes ['2404:c900:4::/48', '2404:c900:5::/48'] Array or list of IPv6 prefixes the ASN advertises
name LEVEL3-BD ASN name recorded at the registry
peers [6939, 137409, 2914] Array or list of ASNs this ASN has peering with
private False True if the ASN is not in a registry allocation and is a private ASN
registry arin Registry that has allocated the ASN
status allocated Allocation status at the registry
ix [{'exchange': 'Equinix London','ipv4': '103.15.40.2', 'ipv6': '', 'name': 'LEVEL3', 'speed': 10000},] Internet exchange locations known for this ASN including IPs and port speed in megabits

Usage

The mmdb file format, short for MaxMind Data Base, used by IPNetDB is compatible with all existing libraries that can read mmdb files. Any language or server that is uses libmaxminddb can read IPNetDB databases. Usage examples:

Python IP lookup for 208.115.128.62

$ pip install maxminddb
$ python
Python 3.9.5
Type "help", "copyright", "credits" or "license" for more information.
>>> import maxminddb, pprint
>>> reader = maxminddb.open_database('ipnetdb_prefix_latest.mmdb')
>>> data = reader.get('208.115.128.62')
>>> pprint.pprint(data)
{'allocation': '208.115.128.0/20',
'allocation_cc': 'US',
'allocation_registry': 'arin',
'allocation_status': 'allocated',
'as': 264668,
'as_cc': 'EC',
'as_entity': 'NEGOCIOS Y TELEFONIA NEDETEL S.A.',
'as_name': '',
'as_private': False,
'as_registry': 'arin',
'ix': {'exchange': 'Equinix Bogota',
       'organisation': 'Equinix, Inc.',
       'name': 'Amazon IVS / Twitch',
       'speed': 10000},
'prefix': '208.115.128.0/24',
'prefix_asset': [],
'prefix_assignment': 'assignment',
'prefix_bogon': False,
'prefix_cc': 'EC',
'prefix_entity': 'NSI Hosting',
'prefix_name': 'EQUINIX-IX-BG',
'prefix_origins': [264668],
'prefix_registry': 'arin',
'rpki_status': 'unsigned'}

Python ASN lookup for AS58682

Some maxxminddb libraries, like the Python bindings, require the query to be in the format of an IP address. You can convert your ASN from a 32bit integer into a dotted quad format first if this is required as in the example below.

$ pip install maxminddb
$ python
Python 3.9.5
Type "help", "copyright", "credits" or "license" for more information.
>>> import maxminddb, pprint, ipaddress
>>> reader = maxminddb.open_database('ipnetdb_asn_latest.mmdb')
>>> asn_in_ip_format = ipaddress.ip_address(58682)
>>> data = reader.get(asn_in_ip_format)
>>> pprint.pprint(data)
{'as': 58682,
'cc': 'BD',
'entity': 'Level3 Carrier Ltd.',
'in_use': True,
'ipv4_prefixes': ['103.15.40.0/24',
                  '103.15.41.0/24',
                  '103.15.42.0/24',
                  '103.15.43.0/24',
                  '103.124.226.0/24',
                  '103.124.225.0/24',
                  '103.124.227.0/24',
                  '43.228.208.0/24',
                  '43.228.209.0/24'],
'ipv6_prefixes': ['2404:c900:4::/48',
                  '2404:c900:5::/48',
                  '2404:c900:a::/48',
                  '2404:c900:1::/48',
                  '2404:c900:3::/48',
                  '2404:c900:6::/48',
                  '2404:c900:8::/48',
                  '2404:c900:9::/48',
                  '2404:c900:b::/48'],
'name': 'LEVEL3-BD',
'peers': [6939,
          137409,
          2914,
          1828,
          199524,
          58952,
          9498,
          58682,
          174,
          6453,
          18106,
          133210,
          14907],
'private': False,
'registry': 'apnic',
'status': 'allocated',
'ix': [{'exchange': 'Equinix Singapore',
        'ipv4': '27.111.228.13',
        'ipv6': '2001:de8:4::5:8682:1',
        'organisation': 'Eqinix Inc',
        'speed': 100000},
       {'exchange': 'SGIX',
        'ipv4': '103.16.102.228',
        'ipv6': '2001:de8:12:100::228',
        'organisation': 'Singapore Internet Exchange Limited',
        'speed': 100000},
       {'exchange': 'DE-CIX Mumbai',
        'ipv4': '103.27.171.184',
        'ipv6': '2401:7500:fff6::12d',
        'organisation': 'DE-CIX Interwire Internet Services Pvt Ltd',
        'speed': 100000}]
Note that IPNetDB is not a IP to geolocation tool. The country codes returned are from the IANA allocation information and are not accurate for use in geolocation. Country codes are accurate to determine the country that an IP address or ASN was originally allocated to, but not a specific location.
The format stored in IPNetDB databases is different to that stored by other mmdb databases so remember you will need to use the libmaxminddb based libraries directly and not any GeoIP libraries.
Language Package
Python maxminddb
PHP maxmind-db/reader
Ruby maxmind-db
Java com.maxmind.db:maxmind-db
Node maxmind
The above table is not exhaustive, native libmaxminddb implementations exist for many additional languages. The mmdb format as well as all of the maxmind libraries are developed by MaxMind. MaxMind and GeoIP are registered trademarks of MaxMind, Inc. IPNetDB does not use any existing MaxMind data and the databases are generated using the open source MaxMind database creation libraries.

Licencing

Free non-commercial use with attribution

You are free to use IPNetDB databases in your non-commercial applications providing you include attribution under the Creative Commons BY-NC-ND 4.0 licence.
  • Any method, view, page, results or similar output of displaying IPNetDB data must include the following HTML attribution where HTML is used:
    <a href="https://ipnetdb.com">Internet information provided by IPNetDB</a>
  • Or the following text attribution if HTML is unavailable:
    Internet information provided by IPNetDB.com
For all commercial applications a commercial licence for IPNetDB is required.

Paid for commercial use

You must pay for IPNetDB databases in:
  • Commercial applications
  • Internal applications for commercial entities
  • applications where IPNetDB increases the monetary value of the project

A commercial IPNetDB licence is available for a flat fee of $25 USD per month, payable in advance as a $300 USD payment per year. Please contact us at [email protected] for a licence. You do not require a paid licence for commercial software in active development. You do require a licence for use by commercial entities once your application is in production use. An attribution to IPNetDB is appreciated but not a requirement.

[email protected]
Please note that you are not permitted to redistribute the mmdb files without including the attribution link to https://ipnetdb.com/.

Historical releases

Up to 30 days of past releases are available on our CDN. These are:
Date Release File
2025-01-08 asn ipnetdb_asn_2025-01-08.mmdb
SHA256:7cbf89e430efbf45e7d416f1cf05a407a69b72e0592c05c25433653465a8814b
2025-01-08 prefix ipnetdb_prefix_2025-01-08.mmdb
SHA256:7d80031d276411fce94b15bb480459cb1282d53c76cd2b5d05579af7e7c23bc1
2025-01-07 asn ipnetdb_asn_2025-01-07.mmdb
SHA256:688588daad0dc63eb08ed88ee330a8f97ae40c1ae1bd89b9a107aceaae2e9f1a
2025-01-07 prefix ipnetdb_prefix_2025-01-07.mmdb
SHA256:7d6d948ed6298fdb354666b01631f38584e56c1db20ca94f83e7bae985717d1b
2025-01-06 prefix ipnetdb_prefix_2025-01-06.mmdb
SHA256:780178dd74e3818c7f6eba917394b9223089a097fe19724692c1757c05731b34
2025-01-06 asn ipnetdb_asn_2025-01-06.mmdb
SHA256:ff39a91273e73d5c08e39048f12c27bd25b9ec8b7624654c594ddb2cd860d363
2025-01-05 prefix ipnetdb_prefix_2025-01-05.mmdb
SHA256:16117f72daaaefca0ee8e27164222099a5e57bb691ef2ab1182347c5ddb9ae00
2025-01-05 asn ipnetdb_asn_2025-01-05.mmdb
SHA256:41e9edc79e4b763c07033ca35121f12ab7c8b5be6a09837b52458d5b2e1d7f9b
2025-01-03 asn ipnetdb_asn_2025-01-03.mmdb
SHA256:ab2d8af84e936b859192f7e49211f06fcefcb9217bc004917103a9583ea0ac1d
2025-01-03 prefix ipnetdb_prefix_2025-01-03.mmdb
SHA256:86f2c5f8dd40e489ae5d911ceb9d2301ade3c9ae73a817fe663c23ba18ff94f9
2025-01-02 prefix ipnetdb_prefix_2025-01-02.mmdb
SHA256:0f66cb2628e23294f752a8e1c4565c79ba447f0f6c78bf895af226cb4038df59
2025-01-02 asn ipnetdb_asn_2025-01-02.mmdb
SHA256:f4656b9cede96f80673ada8c77e54d8884f45f13c30b1e1c54f7d1c863af6645
2025-01-01 prefix ipnetdb_prefix_2025-01-01.mmdb
SHA256:0fc9c808282b43cc2392a8c470cbcb33ad66691b32c9cc04dfe7ce514ecc0537
2025-01-01 asn ipnetdb_asn_2025-01-01.mmdb
SHA256:b7382b4526239290419ae72f0508e34ac1ffd266cda61d8d7de4af6ddc756c72
2024-12-31 prefix ipnetdb_prefix_2024-12-31.mmdb
SHA256:f2bb15fd175c46e4f21c1a54f6cdf32cd58e9531a67d28e0bc4d317d3158c138
2024-12-31 asn ipnetdb_asn_2024-12-31.mmdb
SHA256:1279a0e38e7cae624d5e304828751122de2b07d6084c99573720eb91f5ec105e
2024-12-30 asn ipnetdb_asn_2024-12-30.mmdb
SHA256:d70769c1c6a58d033b11dbe43c48faf649b2883cb313074c2f6192954145f1d4
2024-12-30 prefix ipnetdb_prefix_2024-12-30.mmdb
SHA256:6c3d7f169b2c38264c6e7f1eb647aeb929574c851dcdfeb4af039d7792e43baf
2024-12-29 asn ipnetdb_asn_2024-12-29.mmdb
SHA256:09132e764e307266279b1fae0fce2e8678dfd4bf33cd93fbcadb8efe3a7d82b2
2024-12-29 prefix ipnetdb_prefix_2024-12-29.mmdb
SHA256:8df8b7f4a43781b99230651323a9fe4943981d24d8dafbcbfb498f329e7b256b
2024-12-28 prefix ipnetdb_prefix_2024-12-28.mmdb
SHA256:5a26f28e40ff1f76f054525afcaa05852a0d7d5af94ae5563f2e497895e0a5f8
2024-12-28 asn ipnetdb_asn_2024-12-28.mmdb
SHA256:43bc3322f583e26fdb8736d68b8963067e3aede72063ca57d14d433dcaf29ff8
2024-12-27 asn ipnetdb_asn_2024-12-27.mmdb
SHA256:81213129b63bd3ff3cbcff84ceacfd49b0cdef6a2dfc98fb1977a885fbff2c7e
2024-12-27 prefix ipnetdb_prefix_2024-12-27.mmdb
SHA256:88e0d2e0482d151ea0a16b67351edadc9e3c4515254a15937dade71d65043de6
2024-12-26 prefix ipnetdb_prefix_2024-12-26.mmdb
SHA256:4ee143d920c3b78482106071f80b10c93ca59c17692f1cbab83261dce06420d0
2024-12-26 asn ipnetdb_asn_2024-12-26.mmdb
SHA256:ac2800b6b76867c295648604257863fb55fa06e113328106c4e58afcf8a4e0ac
2024-12-25 asn ipnetdb_asn_2024-12-25.mmdb
SHA256:8a2ccda055176d23a9e3bab7604d2a8bb851b6e51de83da7fc6c32169dde5451
2024-12-25 prefix ipnetdb_prefix_2024-12-25.mmdb
SHA256:8d56902f9102e7ca142b61b874b424e1e19f91a0e14515f5c5a60f131f991158
2024-12-24 prefix ipnetdb_prefix_2024-12-24.mmdb
SHA256:7bf73b0f6c5560737e11efe7e4db3476e5c456a7b8f6bc3423886085d1c53ff3
2024-12-24 asn ipnetdb_asn_2024-12-24.mmdb
SHA256:0c2f8dd819549d8c007ebec83e698ee3c9a2010a3adddb2919c214671810d072
2024-12-23 asn ipnetdb_asn_2024-12-23.mmdb
SHA256:5d487c517e1e2600181a23ea59de19eee13f50e6e4099253b5d3278b0b2638cd
2024-12-23 prefix ipnetdb_prefix_2024-12-23.mmdb
SHA256:f5498543c0b04a78e970ccfd3ca0a839c9a6cf10fa4674f14cac0a6009f6c80a
2024-12-22 prefix ipnetdb_prefix_2024-12-22.mmdb
SHA256:cf33818790f3ef6be096453b753492dd04df52c78ebd8a3c9704dc8d5e8adf1b
2024-12-22 asn ipnetdb_asn_2024-12-22.mmdb
SHA256:05643b13e58cf53b8ed61adf5a0d384fd35eec740fab60eb4a069ca868b52969
2024-12-21 prefix ipnetdb_prefix_2024-12-21.mmdb
SHA256:f4cc687c42af2afe79dee821a34070570da2324c61a516aa602b7e009aab55d1
2024-12-21 asn ipnetdb_asn_2024-12-21.mmdb
SHA256:580d81b3b624e39b077edc728d47126f5a6fb67e311640b5cb3673dbd9404dcf
2024-12-20 prefix ipnetdb_prefix_2024-12-20.mmdb
SHA256:2aa06214c3f1a7fd103027c1b32acee5e17d007766f328c8a6c065e07b85286a
2024-12-20 asn ipnetdb_asn_2024-12-20.mmdb
SHA256:634988f4f2dec168e4f4095ff0e0fe8dab594aad6f425c41405b191a7dc55b1c
2024-12-19 prefix ipnetdb_prefix_2024-12-19.mmdb
SHA256:23cebbf5197bf6a1632f559a3c68b95bdafa5bbf780787b75b0ceed894241170
2024-12-19 asn ipnetdb_asn_2024-12-19.mmdb
SHA256:b056ae4d581859f8ec2240ad08db1311792a5684014a5b58a6e78501dde76f94
2024-12-18 prefix ipnetdb_prefix_2024-12-18.mmdb
SHA256:a808f720a7f10a6fbb0e67a16fd1a01fa0541ac3a9dc8e6d4c56b72e48360afb
2024-12-18 asn ipnetdb_asn_2024-12-18.mmdb
SHA256:ca35d840b04543ddd36582ba99cb2080720271a2b21866ae1bf0c2b8a5b7ff34
2024-12-17 prefix ipnetdb_prefix_2024-12-17.mmdb
SHA256:87e18242fce4e36528fc068b1c81c8a16dd3af848e5cbd2b68353b3edce94e16
2024-12-17 asn ipnetdb_asn_2024-12-17.mmdb
SHA256:fce800a5f1a6b134e135867d8fd8bde4c620b7e6d68ea78b2fb739cbda918e99
2024-12-16 prefix ipnetdb_prefix_2024-12-16.mmdb
SHA256:571fa639588cf113a0c29dd67982840b4272164c6a2ddbc33e5ff579dad69ede
2024-12-16 asn ipnetdb_asn_2024-12-16.mmdb
SHA256:889de2f1e9d6e02c9f0d78dea4863a2d4e15202ce52db0fd3952b50d2ab87afe
2024-12-15 asn ipnetdb_asn_2024-12-15.mmdb
SHA256:b6f535f24e7009780f032368b470c143ee3ab0ea01d1ee9752077f8fbc97be4c
2024-12-15 prefix ipnetdb_prefix_2024-12-15.mmdb
SHA256:1dc7d6049bcebb8d2f7db04fea0dab1f2b7531ba0dc764698350ea2191cce947
2024-12-14 asn ipnetdb_asn_2024-12-14.mmdb
SHA256:21fa7a54141c7d2770e5dd5feade11275fc54edab855309016feaeef412e8c06
2024-12-14 prefix ipnetdb_prefix_2024-12-14.mmdb
SHA256:44147999f099b609f81e3ac61203d700ac18114c24d5ee8a702ea491cd15286d
2024-12-13 prefix ipnetdb_prefix_2024-12-13.mmdb
SHA256:8831cffe5da8ff7a946b4dde5db687ee94edca94c7f33d8e6ec8a43fb751c0d6
2024-12-13 asn ipnetdb_asn_2024-12-13.mmdb
SHA256:a49d5cf489bb0b7f682ae41438a82408c77273983c62968d1bde5a1de613617a
2024-12-12 asn ipnetdb_asn_2024-12-12.mmdb
SHA256:4fd4df0e7cdf775bb80fb4951c94511d45a7907964d7bd93439cdd08cd07afc2
2024-12-12 prefix ipnetdb_prefix_2024-12-12.mmdb
SHA256:796d1265a89845588d58e1699712dc3ceec48774a8b2a0f2ae90a47492aa0c2b
2024-12-11 prefix ipnetdb_prefix_2024-12-11.mmdb
SHA256:007522d7ab292ec772eaadc2cc146852ea1b253bc3864b52af07173469115374
2024-12-11 asn ipnetdb_asn_2024-12-11.mmdb
SHA256:0effec2c17a62a32131e03d6d219b6e2d50ef0df7da55dc150a4c59eeacc434b
2024-12-10 prefix ipnetdb_prefix_2024-12-10.mmdb
SHA256:4ad1e9c59a6bb47cb0c5e8e724aab2059d1b2d22315310cebefdf9229bcfee3a
2024-12-10 asn ipnetdb_asn_2024-12-10.mmdb
SHA256:69021b2975d91e2fbb64f4533ec474700e0c98c6c889bf853eb7a3e66c59f322

Common questions

Where does the data in IPNetDB come from?

Allocation data for IP addresses and ASNs are obtained from the IANA. Internet routing information is obtained from live route views from multiple globally diverse sources. Entity and extended information is obtained from WHOIS or RDAP sources for each regional registry. This information is combined into a single, large tree and then flattened into the generated IPNetDB databases. All information used to generate the IPNetDB databases is from public sources.

How accurate is the data?

The IANA allocation information as well as the prefix and ASN information is accurate as of when database was last generated. As the databases are generated daily these files may be slightly out of date. The entity and extended information take several weeks to fully update so some entries may be out of date if there have been any changes to the ownership of prefixes or ASNs. The data can be used for most applications but do not use IPNetDB data for mission-critical or in systems that require absolute accuracy. Use of IPNetDB databases and data is entirely at your own risk.

How frequently are the databases updated?

The allocation and routing information is updated daily. The entity information is updated slowly, but constantly. The generated database exports are published daily.

Can update the databases automatically?

Yes, you can download the latest version of the databases each day. You can automate deployments by downloading the databases every Monday using the JSON-encoded latest file list.

Can I use IPNetDB with [language or framework]?

Almost certainly, but that is out of the scope of what we would assist with. You can search for "MaxMind database" support in any language, framework or server of your choice.

Can I query a prefix and not an IP?

You can just query the first IP in the prefix which will accomplish the same lookup. For example for 8.8.8.0/24 you can just query 8.8.8.0 in the prefix database.

What does a commercial licence pay for?

The data contained in the IPNetDB databases is freely available in various formats to anyone. Your commercial licence to IPNetDB pays for the significant data processing required (hundreds of millions of routes, for example), compression of the data and then hosting and ongoing maintenance. Your licence is for the service that processes the data and construction of the reliable database, not to the data itself.

Who makes IPNetDB?

IPNetDB is operated and run by Kovalent Systems, an Australian based software development and advisory company.