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 21st of October 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-10-21 prefix ipnetdb_prefix_2024-10-21.mmdb
SHA256:c79ea04956124205db8c7794bfadd5cf566b42cf5cf73b35b2ef829bc2ca6ea2
2024-10-21 asn ipnetdb_asn_2024-10-21.mmdb
SHA256:a7cb7b78c587b79015365002085fa4b3f740a4d5ffe4d698add444733e90c198
2024-10-20 asn ipnetdb_asn_2024-10-20.mmdb
SHA256:3cd17a62d6819538363b51aa97daf7a9694eaef7107b22997e1b5cf9c0cfd489
2024-10-20 prefix ipnetdb_prefix_2024-10-20.mmdb
SHA256:8f7abeaead8bb5f25d8a3a271b68caf342ce7a227d82298694ef659d4defe8f6
2024-10-19 prefix ipnetdb_prefix_2024-10-19.mmdb
SHA256:826b93eec241534cc9327f7596c62a0704459d22b05d4f5728c2bac3415dc622
2024-10-19 asn ipnetdb_asn_2024-10-19.mmdb
SHA256:17e2572032ccdebba68b444e958308fed1574b03375320d1cd335dc2e07daa06
2024-10-18 prefix ipnetdb_prefix_2024-10-18.mmdb
SHA256:cf821f25e03b235bc036734dad8659fe43bd900e8ab21ece2264dc83ac610da3
2024-10-18 asn ipnetdb_asn_2024-10-18.mmdb
SHA256:7ac247e784fbbed59eaef78c1ed38276113de2a578b62e2e01c27f8990644ee4
2024-10-17 asn ipnetdb_asn_2024-10-17.mmdb
SHA256:b6c0366bf9a2af7a01d21391db2aba14a2b964891ad1ab15c3d6c8b7ea504cf4
2024-10-17 prefix ipnetdb_prefix_2024-10-17.mmdb
SHA256:a205ccbe76953c498848fd6c3ae353cd2e40fcd5d840b10994a74be8ab0ab6e1
2024-10-16 prefix ipnetdb_prefix_2024-10-16.mmdb
SHA256:2dec9c06d9f2c8f4b80dbee5be52abb7705898ffcc4bf930ea4b44a1aa44812d
2024-10-16 asn ipnetdb_asn_2024-10-16.mmdb
SHA256:938fd41ea915d7baa4c6da56e8bfe2a9a3e2a12d372f8ab038baa31f47bc9a7a
2024-10-15 prefix ipnetdb_prefix_2024-10-15.mmdb
SHA256:8cea356d99989803e3d64c6b711d93e3205e696389bb2888d1967e97a4bd5548
2024-10-15 asn ipnetdb_asn_2024-10-15.mmdb
SHA256:b27e0b81e5152d22b4998b290021d6ed4f3d8a495705a9144db085afdaf4b23e
2024-10-14 asn ipnetdb_asn_2024-10-14.mmdb
SHA256:b1c5255e9cffca02545968e030ee47a39a8756d27e108104b2923ba1e3bb1928
2024-10-14 prefix ipnetdb_prefix_2024-10-14.mmdb
SHA256:19706936c1d144afad2908694c21dfaa29b44158ce21613880ae768d0ea740e8
2024-10-13 prefix ipnetdb_prefix_2024-10-13.mmdb
SHA256:42ff7faeadcfb55305a2ad7e6bedc9b6e1fed3b5bdce9de64c897dfe3f24bc5d
2024-10-13 asn ipnetdb_asn_2024-10-13.mmdb
SHA256:aff02ed845fcf174e706f0ab86504618e24d9e5326a788ce7d4e06e8f0091f6e
2024-10-12 prefix ipnetdb_prefix_2024-10-12.mmdb
SHA256:71da57279b1ad7d2827509729d054fbe73267cc831227bcdfc639f36d837a079
2024-10-12 asn ipnetdb_asn_2024-10-12.mmdb
SHA256:5c409ef72564df5f35753d49047ae49abe0fe03bd89c7f1b7fe23afdabfc7ed4
2024-10-11 asn ipnetdb_asn_2024-10-11.mmdb
SHA256:de3395c6fb7a2db1b7055ee194987a7f0a0f9fb88595e00fc557c5d4793f85db
2024-10-11 prefix ipnetdb_prefix_2024-10-11.mmdb
SHA256:456362f924900a8d74351cae5598d8b1d7e2bfeaceaa1d0fb25e895f8211e1e6
2024-10-10 prefix ipnetdb_prefix_2024-10-10.mmdb
SHA256:ef35a8ae4709185758dfb8bdcdbcedd1c065ceaf8cecc77aec05073590a26e24
2024-10-10 asn ipnetdb_asn_2024-10-10.mmdb
SHA256:c2766582da831d899729bfbfe9ea0ee608d7778b343b85365fef8416d5d3d768
2024-10-09 asn ipnetdb_asn_2024-10-09.mmdb
SHA256:59d23451eb0eef2d965305810bdad6c500d6fe0f06f4a7840194a485e44cca48
2024-10-09 prefix ipnetdb_prefix_2024-10-09.mmdb
SHA256:1ad2fabff5bc0b628836fafa0d02df244f99560d34cf74f3af2d6aa903074361
2024-10-08 prefix ipnetdb_prefix_2024-10-08.mmdb
SHA256:811cf01bb9db0a9741d8e569a9116eebcebd201345732b1608c1771f8e519737
2024-10-08 asn ipnetdb_asn_2024-10-08.mmdb
SHA256:d1797fdea2bd5b4e1f0ac89b6deb858a5aafdb600944e2d6c6a71ca3acec92f2
2024-10-07 prefix ipnetdb_prefix_2024-10-07.mmdb
SHA256:e40f32e1e4ea3bee71fe97a7a5bb602d65c29c9b97fa982c8a6fc5311d445f84
2024-10-07 asn ipnetdb_asn_2024-10-07.mmdb
SHA256:366fa9c0e82f1e49240eff19219429dfa9431fed4090657988483daabc3e4545
2024-10-06 asn ipnetdb_asn_2024-10-06.mmdb
SHA256:262e5396457d1e323eeb56180254471df15d0f67dd05a673952cc9ae0385044c
2024-10-06 prefix ipnetdb_prefix_2024-10-06.mmdb
SHA256:8a7a528d72622cd0bb766461a87a8c4c86ffd1c498c9a9c90d845d0e0c9cc1b3
2024-10-05 prefix ipnetdb_prefix_2024-10-05.mmdb
SHA256:d3645dacdd2bbed680524bd865f54ee80a9def8b1dd368ba58c94d53faf14732
2024-10-05 asn ipnetdb_asn_2024-10-05.mmdb
SHA256:02b6f490d752c9f5f34bbe71874455f95ad86ceda7a950889528b998055b3753
2024-10-04 asn ipnetdb_asn_2024-10-04.mmdb
SHA256:e00f1b0694ebffe016ddfdba90539ee53d3ed45eca49d070d6d959786ffb01b6
2024-10-04 prefix ipnetdb_prefix_2024-10-04.mmdb
SHA256:016ef6d4d405ccc93d65d3a4a88aa361f969b1eddd8d4c2e9adc4e7b08338636
2024-10-03 prefix ipnetdb_prefix_2024-10-03.mmdb
SHA256:7422093dc0542d3c50eff903501a00a70bb9d49e4ac794434c49d4d80b18018e
2024-10-03 asn ipnetdb_asn_2024-10-03.mmdb
SHA256:e23fe55634a4d59d524f2fda15551a4542a3e2a1c1213085ab5737c3f9edeeef
2024-10-02 asn ipnetdb_asn_2024-10-02.mmdb
SHA256:be87afa1be4e245edcf84704410a8da120612ea673e5cacba4d73204b223d485
2024-10-02 prefix ipnetdb_prefix_2024-10-02.mmdb
SHA256:891e226e9624af465a1de2b04495943783adf6cf1fdacf445d21da4b118b2b93
2024-10-01 asn ipnetdb_asn_2024-10-01.mmdb
SHA256:0b51f337020ff8f1d63a89e520791ed2e11aab121b35b4bb9d7ad9241ce74f19
2024-10-01 prefix ipnetdb_prefix_2024-10-01.mmdb
SHA256:eb26bf8f00a3e2a633118829edbef088123bade3bf27eb6f0f88470e9435a04f

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.