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 1st of December 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-12-01 prefix ipnetdb_prefix_2024-12-01.mmdb
SHA256:2ae2f9312321534fa8df5f0036e1096753bcd09926286f5033a89f5d37836f80
2024-12-01 asn ipnetdb_asn_2024-12-01.mmdb
SHA256:4687dc6b88c960bcc709428e7c16e6a1fd64860a800c5fefb0eed77ed29797ec
2024-11-30 asn ipnetdb_asn_2024-11-30.mmdb
SHA256:a67bcf56eba4cac66b9ee637f678cb026c4e8ea1a22e43fdd248acf5426ede24
2024-11-30 prefix ipnetdb_prefix_2024-11-30.mmdb
SHA256:7fb8727840d20b863d214cb152faf82e19f928ab35a7457adfc8c4fbe4a76268
2024-11-29 asn ipnetdb_asn_2024-11-29.mmdb
SHA256:fdbb4c3d8a87c76231f039b244a0d772bfa2ce7b1264ab7581a131f34b441ba9
2024-11-29 prefix ipnetdb_prefix_2024-11-29.mmdb
SHA256:b732844f0fad83d022b981463dbe697bd18d318281a67fbe37bde039ee32db7a
2024-11-28 prefix ipnetdb_prefix_2024-11-28.mmdb
SHA256:e31709efc24d2685a03496394180bfaa9e2167fcd2ee74ff529ecf41dff4c1f8
2024-11-28 asn ipnetdb_asn_2024-11-28.mmdb
SHA256:072df3bc56b801ea0383df67f51c6d93559f128d7c75736e902680eb2ab3749a
2024-11-27 asn ipnetdb_asn_2024-11-27.mmdb
SHA256:e7193e8dfce6ada050cf09d7f8ff582c05896f48a36942e596f8e6f791ed4cc4
2024-11-27 prefix ipnetdb_prefix_2024-11-27.mmdb
SHA256:6118a141d96deb881e020ce595d5c9ef76695a5c4d1743a2898eab1751de6d6a
2024-11-26 prefix ipnetdb_prefix_2024-11-26.mmdb
SHA256:4b031cb37bd57ad7dd7f2d446b50a72b6606d0ea81f8363dfe13c67d6394780c
2024-11-26 asn ipnetdb_asn_2024-11-26.mmdb
SHA256:2b4ce8740543bd59cb13f666ddd6175691886d01c4c59b2fc6ab9d3ec845ba40
2024-11-25 prefix ipnetdb_prefix_2024-11-25.mmdb
SHA256:9b84f147d06cd55d65b766abf89c20207122f0c2b435521607c84c242076e615
2024-11-25 asn ipnetdb_asn_2024-11-25.mmdb
SHA256:96618c38351a84c98fbccbab74769ea4d47ea991725f38f46c02da4a78503108
2024-11-24 asn ipnetdb_asn_2024-11-24.mmdb
SHA256:7da353dd4b268a40a944ae69113027e2ddfcbfc45b7ef8d2aa004229b4d2f591
2024-11-24 prefix ipnetdb_prefix_2024-11-24.mmdb
SHA256:3bb517df6bc7656ed22a6b42bdca299f2b029e10f557df246a5cd69b7830a0a5
2024-11-23 asn ipnetdb_asn_2024-11-23.mmdb
SHA256:ae203f666c943ad45193d73d9788af88fc6b176655cc1b66ad2b456b539ecafc
2024-11-23 prefix ipnetdb_prefix_2024-11-23.mmdb
SHA256:eb94b3a6fb673e7e31d618d21035d06f2a95f46c7bd134be54ec407aec1d9de8
2024-11-21 prefix ipnetdb_prefix_2024-11-21.mmdb
SHA256:584cbcdadcd422c27eb1c72d2378c8bec31febdfc9227c190ecdd9ffda1c93d1
2024-11-21 asn ipnetdb_asn_2024-11-21.mmdb
SHA256:1bdc401be01132114347d0ae0bd276bca87ef9c31cad14737ab43eeddd66518a
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 prefix ipnetdb_prefix_2024-11-18.mmdb
SHA256:4cc1752f89bf340deda9be08639ec7b1cbb787417a09ada8a79210a045b6e99c
2024-11-18 asn ipnetdb_asn_2024-11-18.mmdb
SHA256:a6f2043e3441c9dc0a3932924c95f6d1631cd547f9dc42a12036e5f1f7bb4dba
2024-11-16 prefix ipnetdb_prefix_2024-11-16.mmdb
SHA256:8f02082a9f6dc2b7f2b26a61d95bb7d12835f7a59186fac44983fc8bf88a207c
2024-11-16 asn ipnetdb_asn_2024-11-16.mmdb
SHA256:9462c8a267a5a2cd7bc50106ecb4ad82dc63dc5688e577df812b300a13978275
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 asn ipnetdb_asn_2024-11-14.mmdb
SHA256:f4e2a659f458db61493b9a769fca623f24a22bc24621096572f31da6515077ac
2024-11-14 prefix ipnetdb_prefix_2024-11-14.mmdb
SHA256:c30b87cb7cdfb372513783c4244ed378b7fe255ac81a208a27ef6c1c22de88c8
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 prefix ipnetdb_prefix_2024-11-11.mmdb
SHA256:40096ebdf4a3963b246b2ca4c6d07ddfe93384fbade1c34541d149b8d8226d5c
2024-11-11 asn ipnetdb_asn_2024-11-11.mmdb
SHA256:90303c314c6df5b00d792851111aee3f339c936a592595c85a3c8af68c2395a3
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 asn ipnetdb_asn_2024-11-07.mmdb
SHA256:e9556dd0c55fe4b4c752dd2441544277dc7f45360b9531e107d81659f2300a27
2024-11-07 prefix ipnetdb_prefix_2024-11-07.mmdb
SHA256:87adfba7d344fbe060787ec80b57a4b08d99f04a03f15373c926d2d9fd15bcf5
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 prefix ipnetdb_prefix_2024-11-05.mmdb
SHA256:255ad52307c481404d5997f62ddc583740ab60f0fa891e95812cbe8207928bb1
2024-11-05 asn ipnetdb_asn_2024-11-05.mmdb
SHA256:94adc2581760196306ecd46d88e277bbdc06a921614c6c8f25d6e87cf6167498
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 prefix ipnetdb_prefix_2024-11-03.mmdb
SHA256:f5b79c5fafa43a694b0518f75a07f56e5df57deee51cb938964db3b9f0aac703
2024-11-03 asn ipnetdb_asn_2024-11-03.mmdb
SHA256:e67c0f7005183763c727fff290ff62f6cfbb638c5ce5105236816ea3338974e9
2024-11-02 asn ipnetdb_asn_2024-11-02.mmdb
SHA256:b96f02625b3818f1229b9bd878dd3b9f58244dd81783f197fe0a8368b082f51f
2024-11-02 prefix ipnetdb_prefix_2024-11-02.mmdb
SHA256:fa22c7c1760a2378ab9f4268129e2138f0352fd14ac7e824539e155811021f3d

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.