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 18th of March 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-03-18 asn ipnetdb_asn_2025-03-18.mmdb
SHA256:f548fd200f607078c5f00b38c15f77079aefc670e0ed84b718139cf2b991cda2
2025-03-18 prefix ipnetdb_prefix_2025-03-18.mmdb
SHA256:67711a047bcd27dbcb7f96b6a07b399858fce5b19da1c247c06767c2e9d5b12f
2025-03-17 asn ipnetdb_asn_2025-03-17.mmdb
SHA256:5b912ae60a1cd222faf33a56485a57058f0b89e231ebc334930ffd79e003c950
2025-03-17 prefix ipnetdb_prefix_2025-03-17.mmdb
SHA256:a63b0c08cc1236359e29b18ed7fd76bad1005b030012c3a6a3ff97762f71dcc9
2025-03-15 prefix ipnetdb_prefix_2025-03-15.mmdb
SHA256:c3f376d823be2d7c1b6451923332194797cd624a24c904ef654b695a46fbb269
2025-03-15 asn ipnetdb_asn_2025-03-15.mmdb
SHA256:254afb7b99a8c0e9f561dce03d2ef94149110a440552c968fbc3cc7969b76010
2025-03-14 prefix ipnetdb_prefix_2025-03-14.mmdb
SHA256:03b00806701d92df07bfe2a0ea3ec7b04f3793f50641480a3c6a32cbe95f1d6e
2025-03-14 asn ipnetdb_asn_2025-03-14.mmdb
SHA256:367549f153fe154eeb9526016fbd00f289f4f5cee82b34129b13132ad7259960
2025-03-13 prefix ipnetdb_prefix_2025-03-13.mmdb
SHA256:39d81b19e6005274cf9d6ac7937655601331365153d247e3a62590499c556c0b
2025-03-13 asn ipnetdb_asn_2025-03-13.mmdb
SHA256:ebc89da3bec219df6b8a5a96dea12394e64238b48279ba7ac241ab89bb129396
2025-03-12 prefix ipnetdb_prefix_2025-03-12.mmdb
SHA256:af7a8e4bb66e043413fc6e40e0397cf1097e152aa6465ee0bc3bbcdd3037931a
2025-03-12 asn ipnetdb_asn_2025-03-12.mmdb
SHA256:0760a9f50a2528549b369c444f6937827991a0d826468bbb2dcb256896c8d02d
2025-03-11 asn ipnetdb_asn_2025-03-11.mmdb
SHA256:d7ffb71a860990595903c7a9aead6aaeef95eac063b61c927a3001cb8ddd4761
2025-03-11 prefix ipnetdb_prefix_2025-03-11.mmdb
SHA256:e329fc30e42f25ea25d03543d2d1edbe1d890b658dfbac167f2eeee6dde497b3
2025-03-10 prefix ipnetdb_prefix_2025-03-10.mmdb
SHA256:ef10a8a8e2003fcc7be32db6b44de288282e9ead7ae13953160b8fb64fe13c32
2025-03-10 asn ipnetdb_asn_2025-03-10.mmdb
SHA256:e1a6ec9a2f638dc8d5bbc0a12feae0e2aff31d2537a5456771b7ea64a5985cdd
2025-03-09 asn ipnetdb_asn_2025-03-09.mmdb
SHA256:74296a17385fdbe292d77ddddcb1f7791d8185cec1350c94bc14d0e55caf089d
2025-03-09 prefix ipnetdb_prefix_2025-03-09.mmdb
SHA256:064212c298d873ce38736735077690c55b870045169245c6a39b386e438d3368
2025-03-08 prefix ipnetdb_prefix_2025-03-08.mmdb
SHA256:fb9defb9b6800ee9911afe9d0f2b798f4cb82a716bb56c6d2dbc16c897ef7729
2025-03-08 asn ipnetdb_asn_2025-03-08.mmdb
SHA256:17aa344ec4b422955d9d8f6278b524fa528a3e43aef69e843e95998116ded442
2025-03-07 prefix ipnetdb_prefix_2025-03-07.mmdb
SHA256:9dc8fcf20adcbcf42b36cf9a7cb911cfb2980ac4e1076663ccbbaa1527493102
2025-03-07 asn ipnetdb_asn_2025-03-07.mmdb
SHA256:652f7e66613bd9167d73018214ede609f337043d7b4a71035e0eb45f69b55079
2025-03-06 asn ipnetdb_asn_2025-03-06.mmdb
SHA256:630ba1dadf3dc02055379624b49ff027e0392c55133bb8c52bc5be52fd852337
2025-03-06 prefix ipnetdb_prefix_2025-03-06.mmdb
SHA256:a9816a6a985e8804fc835d06d7e11817f7025ccd1f3eeb0ce8750f2ce3b8532d
2025-03-05 asn ipnetdb_asn_2025-03-05.mmdb
SHA256:30512610dca51ba244a0d2339e0981cc68a6bd6abb5997c4c3004ab03b9ed757
2025-03-05 prefix ipnetdb_prefix_2025-03-05.mmdb
SHA256:a93d9b19b6d8f77e78a197a2a84b73035fa8f52a5a9bf12ea5032053e2a49499
2025-03-04 prefix ipnetdb_prefix_2025-03-04.mmdb
SHA256:84f07a6ccd05c59575a957154df95fc1d7d2ed64cf8557539207426f11fdd800
2025-03-04 asn ipnetdb_asn_2025-03-04.mmdb
SHA256:e6195f4f732dcda8831b67f52e06d5bdfb29c78b81d642a6a2ac3ac6323d1d4a
2025-03-03 asn ipnetdb_asn_2025-03-03.mmdb
SHA256:ab610c115804580de47740eb17dc5f895369029db9add40f7d876adf8b0a188b
2025-03-03 prefix ipnetdb_prefix_2025-03-03.mmdb
SHA256:f55210945dd88977c5e48ecdc2c2fbaee9b98315d3cca286562ad62b51a54ad1
2025-03-02 prefix ipnetdb_prefix_2025-03-02.mmdb
SHA256:09b816760fc9e80eb305daf8368639945bc903376696e6e3f69f2a738eca1fde
2025-03-02 asn ipnetdb_asn_2025-03-02.mmdb
SHA256:eb463be69cba47e4bcce90d14e62214817de991a0f0ac5e7fe98afeb827754b9
2025-03-01 asn ipnetdb_asn_2025-03-01.mmdb
SHA256:d94d28b49ac8d759167e9f000c6478dab2cf2d077afda15081f69c5f47a84f93
2025-03-01 prefix ipnetdb_prefix_2025-03-01.mmdb
SHA256:3650f553245ff48a0f69dd3bb287722a75a90b17bccc831b385e07deda037bbb
2025-02-28 prefix ipnetdb_prefix_2025-02-28.mmdb
SHA256:a0b7242de031f81c2e641d79163b25dca67b3d72cf2e643fea4b0a43fc44b086
2025-02-28 asn ipnetdb_asn_2025-02-28.mmdb
SHA256:c2fd99d1489bb764cc7fd1be4e510e3bc39c26f851cd1277c1331560f4d9b7dc
2025-02-27 asn ipnetdb_asn_2025-02-27.mmdb
SHA256:03ede4e83917bca61ca8986c3b7f608579e5b41dd4eee340148b88f674981ea9
2025-02-27 prefix ipnetdb_prefix_2025-02-27.mmdb
SHA256:c3a3e117a10658ea57177545bec9022ad89f2e9d799138ae6c86f7a386b54573
2025-02-26 asn ipnetdb_asn_2025-02-26.mmdb
SHA256:f2855d2e7cad1905065a08535efaa19842c7fbb45ea20f8b5e0e2a484e87f69a
2025-02-26 prefix ipnetdb_prefix_2025-02-26.mmdb
SHA256:455d4914f14b56814325ae32058f8daf8dd9d828acce853fc4fe2cbdeccf7ee5
2025-02-25 asn ipnetdb_asn_2025-02-25.mmdb
SHA256:a5ad680ed4f58b955ccb322933643dc59a3151bee9d2b061f2206053f7894419
2025-02-25 prefix ipnetdb_prefix_2025-02-25.mmdb
SHA256:d3ef1d01ea41d77fa12946cceeb3876b356f059c70ac89327571492d362c06e5
2025-02-24 asn ipnetdb_asn_2025-02-24.mmdb
SHA256:9594430da4e453851d5f3b933af63f59e626d4068eeb0a26a4f6fffd418489b7
2025-02-24 prefix ipnetdb_prefix_2025-02-24.mmdb
SHA256:a056fcdd88b378add629b6a4cac35b91ba8cba1c71679adba676c61df1618a72
2025-02-22 prefix ipnetdb_prefix_2025-02-22.mmdb
SHA256:7f31e3d74e82b401607d3e60f4ae62e1eb648ef8fffb1c2e81c3c919c305fc3e
2025-02-22 asn ipnetdb_asn_2025-02-22.mmdb
SHA256:e978f73e4fbde2500aa8a25aedd208fe0ca5bf8dadcc105a4e2a598047b9270f
2025-02-21 asn ipnetdb_asn_2025-02-21.mmdb
SHA256:25d69b7a1d4f89838feef2e634fe6ae63fcf2aa4cfbeed8b0835a149b784de0a
2025-02-21 prefix ipnetdb_prefix_2025-02-21.mmdb
SHA256:cfe05ca23f95af1be6ff05c299d17aaaa42557456a877302754dc72b3b52fc39
2025-02-20 asn ipnetdb_asn_2025-02-20.mmdb
SHA256:ceb508366e86c8844051dd62046cf378bfe674cc7e8e218f26c54ce6d5a543fb
2025-02-20 prefix ipnetdb_prefix_2025-02-20.mmdb
SHA256:27b1d98b0543fab51f0b1335eb1ea64ca41d86803d134df73179fb86db5985d2
2025-02-19 prefix ipnetdb_prefix_2025-02-19.mmdb
SHA256:46dd4c0e3a3a390067beb727abb49719d566f2c6e586d214b59e164649a9649b
2025-02-19 asn ipnetdb_asn_2025-02-19.mmdb
SHA256:0096b01eb9c78998b01c82f01ae72fba315ee6fc5990a2dcdc491a89917fc187
2025-02-18 prefix ipnetdb_prefix_2025-02-18.mmdb
SHA256:e69a356af57ad970385a17eb2cb2635a6055df5f1b72d1392f89feb536985da4
2025-02-18 asn ipnetdb_asn_2025-02-18.mmdb
SHA256:a3eba180ed723d35f5503a6fde16db8f492aa48d8c0a50fcc5e6b2779950f411
2025-02-17 prefix ipnetdb_prefix_2025-02-17.mmdb
SHA256:b8d1f1fbe27dc331dbf2435fe4b4b4a1af22f7c8c8bdaf43de07e0b996c5e624
2025-02-17 asn ipnetdb_asn_2025-02-17.mmdb
SHA256:558bb3d16c7827782490f6c0f65ebcd671628d1ee795a96d34b310cff6fe1962

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.