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 22nd of February 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-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 asn ipnetdb_asn_2025-02-18.mmdb
SHA256:a3eba180ed723d35f5503a6fde16db8f492aa48d8c0a50fcc5e6b2779950f411
2025-02-18 prefix ipnetdb_prefix_2025-02-18.mmdb
SHA256:e69a356af57ad970385a17eb2cb2635a6055df5f1b72d1392f89feb536985da4
2025-02-17 asn ipnetdb_asn_2025-02-17.mmdb
SHA256:558bb3d16c7827782490f6c0f65ebcd671628d1ee795a96d34b310cff6fe1962
2025-02-17 prefix ipnetdb_prefix_2025-02-17.mmdb
SHA256:b8d1f1fbe27dc331dbf2435fe4b4b4a1af22f7c8c8bdaf43de07e0b996c5e624
2025-02-16 asn ipnetdb_asn_2025-02-16.mmdb
SHA256:37f69185be925953f6fbb074b65f28129fa503b714b5e713fd86c58763e5468f
2025-02-16 prefix ipnetdb_prefix_2025-02-16.mmdb
SHA256:c6b366538dd4d9c677877007ea2d0fbf964c53c04e35c85e0693b095b63403db
2025-02-15 asn ipnetdb_asn_2025-02-15.mmdb
SHA256:785d60a5588757a31db55eb0b2a90fde7247475cae27929f6d7907c9b0318d47
2025-02-15 prefix ipnetdb_prefix_2025-02-15.mmdb
SHA256:1540b5298fd007b85c8a931afef6f171e88377e6ba7aee90e38e6151448f0eaa
2025-02-14 asn ipnetdb_asn_2025-02-14.mmdb
SHA256:3518f369b792efe4a53ef05f443576d1d83666b3a479741e4f71255cb4272eac
2025-02-14 prefix ipnetdb_prefix_2025-02-14.mmdb
SHA256:a6c7088d0617afc6d0e013629866703258330b0598e52c14632bc90a155da66e
2025-02-13 asn ipnetdb_asn_2025-02-13.mmdb
SHA256:7db8bedb91b899a2f0a38e8e8ee1ac2fc5de79e8f008fb4b8b3179577c828029
2025-02-13 prefix ipnetdb_prefix_2025-02-13.mmdb
SHA256:490399d75724b0a3524299bbf0f4776d72b2773233effc7601821fd971e6e578
2025-02-12 prefix ipnetdb_prefix_2025-02-12.mmdb
SHA256:79ca46d27574e4613963cda013d64c0870785b6a2bb195ac2dfc0401ebd44bcb
2025-02-12 asn ipnetdb_asn_2025-02-12.mmdb
SHA256:ba13c51655b69a10bf1eaca1bbb4fbcc97bff2e6cb1d87e1fc39788ae53fec37
2025-02-11 asn ipnetdb_asn_2025-02-11.mmdb
SHA256:a83ed968cd180ee5ac5cc1eef08910921735c4b1843043be2f081b383d7fd490
2025-02-11 prefix ipnetdb_prefix_2025-02-11.mmdb
SHA256:aec6379c9f7dde3b63b135ce1c40e3924825fb3968b387df0e505d8b13ed1ce5
2025-02-09 prefix ipnetdb_prefix_2025-02-09.mmdb
SHA256:a19db20757f074982b9b6ed665fbca6f42ba31b6b5caad2636937347efea0e02
2025-02-09 asn ipnetdb_asn_2025-02-09.mmdb
SHA256:e3410e397b6d51c8ead0c46d527feb005130d6be68fcb007702caa6b46f29bc8
2025-02-08 prefix ipnetdb_prefix_2025-02-08.mmdb
SHA256:894cecec16ff101ad4dbd4be0e016f41b68eb88625b62f2277ef22e6f4cf401f
2025-02-08 asn ipnetdb_asn_2025-02-08.mmdb
SHA256:cd44b5562ec90e2e2e618b94845524926dab5e459b874dc5ca909cc698e4cbf4
2025-02-07 asn ipnetdb_asn_2025-02-07.mmdb
SHA256:0e300f81f2c98f18b52d77b0aa5abb9e2b886b6545f8dc8de2dff22e324f67f8
2025-02-07 prefix ipnetdb_prefix_2025-02-07.mmdb
SHA256:7e399fd9937cfc34b1bac2a5c5682f6824f7667ae6d64ecb0386ec9ed1533264
2025-02-06 asn ipnetdb_asn_2025-02-06.mmdb
SHA256:c0c3a17356f2688aa97cc12491a1ac4eadfc01a80bd8ccf3e22aba813ab1cedc
2025-02-06 prefix ipnetdb_prefix_2025-02-06.mmdb
SHA256:1ba04a6612a046ddc62f9aba4d909fe615265ce2f5fa3ae22990e6c6b672cae7
2025-02-05 prefix ipnetdb_prefix_2025-02-05.mmdb
SHA256:334751dfddcdb2fa61cd910f884e70d0fb391adca725dcc6b751a2242561d29e
2025-02-05 asn ipnetdb_asn_2025-02-05.mmdb
SHA256:5dce2440a1f2e5968b157b08c46b3cf088bb6f763220b1a58394ca31ba6074d6
2025-02-03 prefix ipnetdb_prefix_2025-02-03.mmdb
SHA256:5114c430afb020c7f20758495415c2f779b9e8d9c7732892dcb15ee12f766554
2025-02-03 asn ipnetdb_asn_2025-02-03.mmdb
SHA256:7e2049d9770b74848801f8e26f1f5b68d368fbc2b49348ada92401e03963880d
2025-02-02 asn ipnetdb_asn_2025-02-02.mmdb
SHA256:7bc8cc47532a64d350312df611e1b53889837cb87395cddfb47cb72e5c8cbfe7
2025-02-02 prefix ipnetdb_prefix_2025-02-02.mmdb
SHA256:66d2c8e485f5b087cde4d684f3904dd7c1b985be32f745b30f7cd3426c52f4f9
2025-02-01 asn ipnetdb_asn_2025-02-01.mmdb
SHA256:7db77281eaa2410758c63e2d1589ad7bc1afb7af3b9811956afc7a9cfaf3c5a1
2025-02-01 prefix ipnetdb_prefix_2025-02-01.mmdb
SHA256:abdacf6636c8f3fc552ff9a7e3204b14033bf603bf54fc0472b233e584dd1bc2
2025-01-31 prefix ipnetdb_prefix_2025-01-31.mmdb
SHA256:0f8a12ada8dbb645b9346a6bb22cc9fda473d31cafc3e92b19f700979da7267e
2025-01-31 asn ipnetdb_asn_2025-01-31.mmdb
SHA256:9969c6f9c09fbb3e9c3ac78faca604f238f15c8a427786bf5b990b44e82d4edd
2025-01-30 prefix ipnetdb_prefix_2025-01-30.mmdb
SHA256:8c85e01b34ffea5629e6269e13bba835f7c3f29313db9841ce077b6292696617
2025-01-30 asn ipnetdb_asn_2025-01-30.mmdb
SHA256:79225afbe59c4d2cc27dd44344505520fe3c0d0c578a87999fb6d07abab002e0
2025-01-29 prefix ipnetdb_prefix_2025-01-29.mmdb
SHA256:771adcc086ac01ac28f19f310cc5e4256107e1eb3fdc63e7331078582ac33ea9
2025-01-29 asn ipnetdb_asn_2025-01-29.mmdb
SHA256:2c53b42e72c26c0965f9eec31910a6c1190e398e7d88522e0aefa5b6f89693cf
2025-01-28 prefix ipnetdb_prefix_2025-01-28.mmdb
SHA256:a4e7e2c4e21b7543c4ca98959e07d2f6fed95878d33a1d4c12f33e08085ecd68
2025-01-28 asn ipnetdb_asn_2025-01-28.mmdb
SHA256:c4250630861657e923b8fc094e6b70dd80c5cb17d06c9200b2441eb9fc5a70c3
2025-01-27 asn ipnetdb_asn_2025-01-27.mmdb
SHA256:7ea2e5de61bf7e50a0d36966d8fed6735836656ddebac438a00723d230cebe9a
2025-01-27 prefix ipnetdb_prefix_2025-01-27.mmdb
SHA256:b4640d46d8ce7e9a27178ea7283c48b76c63a7cf1fa3e8ba820aba5e1b1b674e
2025-01-26 asn ipnetdb_asn_2025-01-26.mmdb
SHA256:6fe4a80351264bbfe8c11aa79f8a3066e94d68d7efbf05d5e5bb1352e9a3fe3b
2025-01-26 prefix ipnetdb_prefix_2025-01-26.mmdb
SHA256:b1888da517fa077df4e42a14bbbbfa3131291b1d92ac2084ddc6ad9799ae9362
2025-01-25 asn ipnetdb_asn_2025-01-25.mmdb
SHA256:c18895d5a6a7aa68fb92cc2585c107e45fdba574d7e9f5b8127564d7ac281b6f
2025-01-25 prefix ipnetdb_prefix_2025-01-25.mmdb
SHA256:4963c581a84c1f17976cc65efc704d4eb48a3c9443d1fdb1527b42ca18cff8d8
2025-01-24 asn ipnetdb_asn_2025-01-24.mmdb
SHA256:1b8e838b65a113204ceeba5e5f01d97bf69b12a0d0d2bc9b0afc124a539e229f
2025-01-24 prefix ipnetdb_prefix_2025-01-24.mmdb
SHA256:85658799c7876c0e7bee82e7e1fee9ec8f9a4098d8227330ed0b867a8b61b91b

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.