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:
      
      
        
          
          
            
              $ 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'}
             
           
        
       
      
        
          
          
            
              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.
      
      
      
        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.