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 19th of November 2024.
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
2024-11-19 prefix ipnetdb_prefix_2024-11-19.mmdb
SHA256:fe73b3ad2a8a431e4a92c6836b77aa103ebc2cc5035b4e00337021e5f73b265a
2024-11-19 asn ipnetdb_asn_2024-11-19.mmdb
SHA256:8e0c4e32e3ca63b0a45cb4f52917d3c383f8f2c83e340f59c9588e2132425f86
2024-11-18 asn ipnetdb_asn_2024-11-18.mmdb
SHA256:a6f2043e3441c9dc0a3932924c95f6d1631cd547f9dc42a12036e5f1f7bb4dba
2024-11-18 prefix ipnetdb_prefix_2024-11-18.mmdb
SHA256:4cc1752f89bf340deda9be08639ec7b1cbb787417a09ada8a79210a045b6e99c
2024-11-16 asn ipnetdb_asn_2024-11-16.mmdb
SHA256:9462c8a267a5a2cd7bc50106ecb4ad82dc63dc5688e577df812b300a13978275
2024-11-16 prefix ipnetdb_prefix_2024-11-16.mmdb
SHA256:8f02082a9f6dc2b7f2b26a61d95bb7d12835f7a59186fac44983fc8bf88a207c
2024-11-15 prefix ipnetdb_prefix_2024-11-15.mmdb
SHA256:5e5a03a2d8bb7540249ad87dca6e45939188504093d73466e3825e2349010170
2024-11-15 asn ipnetdb_asn_2024-11-15.mmdb
SHA256:58e960d1d510d638b1cecbb6e01b156d34736be6605e296c1731b2bcac29d131
2024-11-14 prefix ipnetdb_prefix_2024-11-14.mmdb
SHA256:c30b87cb7cdfb372513783c4244ed378b7fe255ac81a208a27ef6c1c22de88c8
2024-11-14 asn ipnetdb_asn_2024-11-14.mmdb
SHA256:f4e2a659f458db61493b9a769fca623f24a22bc24621096572f31da6515077ac
2024-11-13 prefix ipnetdb_prefix_2024-11-13.mmdb
SHA256:404cda33d4554d3f1576ba6c02a7529b93cc840c643710e346fb2a2fe7d03f06
2024-11-13 asn ipnetdb_asn_2024-11-13.mmdb
SHA256:8e96fa6bbb76d7f6d80cc5820754fb45765b8e314c76ca9807463482be9364a4
2024-11-12 prefix ipnetdb_prefix_2024-11-12.mmdb
SHA256:9901da41a3c39626f2ad157cf8b609337cde02fb7d1a0c63adab9565d30be975
2024-11-12 asn ipnetdb_asn_2024-11-12.mmdb
SHA256:50a7b6bf3acf97c2e724b2ffa81de76b7b9e7de77276faf3a7fd3fb69090a288
2024-11-11 asn ipnetdb_asn_2024-11-11.mmdb
SHA256:90303c314c6df5b00d792851111aee3f339c936a592595c85a3c8af68c2395a3
2024-11-11 prefix ipnetdb_prefix_2024-11-11.mmdb
SHA256:40096ebdf4a3963b246b2ca4c6d07ddfe93384fbade1c34541d149b8d8226d5c
2024-11-10 prefix ipnetdb_prefix_2024-11-10.mmdb
SHA256:6771bec35c5605e0c53be17d51d9bee16406d66332f930d9793c0b260715c2bc
2024-11-10 asn ipnetdb_asn_2024-11-10.mmdb
SHA256:da3cfa0d38310f69e0691a93b168627d965721d61682895e383d8c0d6b75259c
2024-11-09 prefix ipnetdb_prefix_2024-11-09.mmdb
SHA256:8faa5625677fb3b55b3ed3ff1c1f94a7b32a7ab761197c82be6617a2edc79eed
2024-11-09 asn ipnetdb_asn_2024-11-09.mmdb
SHA256:5e34f479b030461f6cbbcd4a572905dc945f6a2b746b2a1d2a175e134b276a58
2024-11-08 prefix ipnetdb_prefix_2024-11-08.mmdb
SHA256:5e1f3816bf34ef56a746e854177aea4565813acc85cb02bb4779ad02aae74835
2024-11-08 asn ipnetdb_asn_2024-11-08.mmdb
SHA256:b831ef5361837a70a24adf6a321aa42242f5f32f07c16416b39239e0bc8bb804
2024-11-07 prefix ipnetdb_prefix_2024-11-07.mmdb
SHA256:87adfba7d344fbe060787ec80b57a4b08d99f04a03f15373c926d2d9fd15bcf5
2024-11-07 asn ipnetdb_asn_2024-11-07.mmdb
SHA256:e9556dd0c55fe4b4c752dd2441544277dc7f45360b9531e107d81659f2300a27
2024-11-06 prefix ipnetdb_prefix_2024-11-06.mmdb
SHA256:c30603a832f641ff25f9638b28df1a0c0e759c8752529caf459297c2ea619cb6
2024-11-06 asn ipnetdb_asn_2024-11-06.mmdb
SHA256:d2b1f9c7fab102a9f5fa37cfbe9abc48a7a7fee7662e1ce447cb31bcb65a3fbb
2024-11-05 asn ipnetdb_asn_2024-11-05.mmdb
SHA256:94adc2581760196306ecd46d88e277bbdc06a921614c6c8f25d6e87cf6167498
2024-11-05 prefix ipnetdb_prefix_2024-11-05.mmdb
SHA256:255ad52307c481404d5997f62ddc583740ab60f0fa891e95812cbe8207928bb1
2024-11-04 asn ipnetdb_asn_2024-11-04.mmdb
SHA256:b501a4b7535a172358a1da364735d3172e1e5258890206a9128cfdc7c8272d79
2024-11-04 prefix ipnetdb_prefix_2024-11-04.mmdb
SHA256:32a70e4ba18959278487a59cc5dbcdfc410035eb02f231b4cc6e04f514f5bb59
2024-11-03 asn ipnetdb_asn_2024-11-03.mmdb
SHA256:e67c0f7005183763c727fff290ff62f6cfbb638c5ce5105236816ea3338974e9
2024-11-03 prefix ipnetdb_prefix_2024-11-03.mmdb
SHA256:f5b79c5fafa43a694b0518f75a07f56e5df57deee51cb938964db3b9f0aac703
2024-11-02 asn ipnetdb_asn_2024-11-02.mmdb
SHA256:b96f02625b3818f1229b9bd878dd3b9f58244dd81783f197fe0a8368b082f51f
2024-11-02 prefix ipnetdb_prefix_2024-11-02.mmdb
SHA256:fa22c7c1760a2378ab9f4268129e2138f0352fd14ac7e824539e155811021f3d
2024-11-01 prefix ipnetdb_prefix_2024-11-01.mmdb
SHA256:54a9aefd1a9fd72ebd442305b51fda9efc15a0cb4be5013eb09d69a44bac0126
2024-11-01 asn ipnetdb_asn_2024-11-01.mmdb
SHA256:f2f51b3facb3801b9071f8626124a6bac65674b2744b2c20fe699351a5b3a428
2024-10-31 asn ipnetdb_asn_2024-10-31.mmdb
SHA256:59e04a9e38a045510af4ff10f78206ff913ac5024f5414356b8f6a71f98134aa
2024-10-31 prefix ipnetdb_prefix_2024-10-31.mmdb
SHA256:e46a35a315ba0e5d75034af46127f17fc65d13066fb73e9df39efbfb5cb42ef9
2024-10-30 prefix ipnetdb_prefix_2024-10-30.mmdb
SHA256:e0bc173947b8c1b185705babe2079fe52c029d548685f6c32b4024aa2493f71e
2024-10-30 asn ipnetdb_asn_2024-10-30.mmdb
SHA256:0d64b0117ae730e59509faf200a3333eacc4d39cef39b056d6338538ed7b45f6
2024-10-28 prefix ipnetdb_prefix_2024-10-28.mmdb
SHA256:6372e104d721d871bbd8b68a6e8a3d47c42f49b9502b92d6e05b2f471dfb0c12
2024-10-28 asn ipnetdb_asn_2024-10-28.mmdb
SHA256:c39a03af0f914a8d5a801f52a292e4d71d155dd3b067e6adc407652d893b9a82
2024-10-27 prefix ipnetdb_prefix_2024-10-27.mmdb
SHA256:75e82dff7fade67ea8a2d8022c7eb83e0137f59d8c6e7f1ae58e1b3eb612f9e8
2024-10-27 asn ipnetdb_asn_2024-10-27.mmdb
SHA256:1778156015195fd00d4b130ed1bcd1a74cffd0e899d82b5f5c099135c041de3c
2024-10-26 asn ipnetdb_asn_2024-10-26.mmdb
SHA256:ced88c38960d05422c11a8f48813da45d437479ecd46a24101316f739e833943
2024-10-26 prefix ipnetdb_prefix_2024-10-26.mmdb
SHA256:eabe1187d0a7dd3ea4e7bbc6dde8616aa80fa4147ce035e4b360b84f064d94c3
2024-10-25 prefix ipnetdb_prefix_2024-10-25.mmdb
SHA256:b5fa216a84f277324aa09052bdd1808b8d4be41f2253bc28833e4a1f30bee978
2024-10-25 asn ipnetdb_asn_2024-10-25.mmdb
SHA256:5657538224cb0fea73f3f424d8f97c9685bb6729d4f251388752ac233e66ccbf
2024-10-24 prefix ipnetdb_prefix_2024-10-24.mmdb
SHA256:1e85024b811aa609174adf16f627288fa19ebefdb406d6fd4cadd7a157b45386
2024-10-24 asn ipnetdb_asn_2024-10-24.mmdb
SHA256:685b23996b736de738b31bb162589e43ce5f11fd3d795c0f40bb49da28d22087
2024-10-23 asn ipnetdb_asn_2024-10-23.mmdb
SHA256:e769595c6aa7da432f069dd125916b241675ddb41cf1e47bf1a59006e56b9f71
2024-10-23 prefix ipnetdb_prefix_2024-10-23.mmdb
SHA256:eb01207c2118b710922fb7941d727b4bed75962c2d170681758c5420bbf98464
2024-10-22 asn ipnetdb_asn_2024-10-22.mmdb
SHA256:655f8146db4304a5d9e646af4b2ab22d0f5f40815ad4dd6a33b40ea06b53198f
2024-10-22 prefix ipnetdb_prefix_2024-10-22.mmdb
SHA256:017483a981944d66953691ff29ccf7ca41001f999adb94edff0667eb0c003f96
2024-10-21 asn ipnetdb_asn_2024-10-21.mmdb
SHA256:a7cb7b78c587b79015365002085fa4b3f740a4d5ffe4d698add444733e90c198
2024-10-21 prefix ipnetdb_prefix_2024-10-21.mmdb
SHA256:c79ea04956124205db8c7794bfadd5cf566b42cf5cf73b35b2ef829bc2ca6ea2

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.