Migrating from MaxMind: Geolite2 Country to IPinfo Country | MMDB Edition

If you want better accuracy, higher update frequency, an enterprise-ready solution, and more lenient license and copyright terms, you might be interested in our open-access database solutions. This guide showcases how to migrate from MaxMind’s Geolite™ Country database to IPinfo’s IP to Country database.

Installation Process

Compared to the MaxMind database, migrating to IPinfo’s country database is a breeze.

Factors MaxMind IPinfo
Download link https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-Country&license_key=YOUR_LICENSE_KEY&suffix=tar.gz https://ipinfo.io/data/free/country.mmdb?token=YOUR_TOKEN
Token Get your license key from your profile page. Remember the license key only is viewable once after it is generated. So you need to make a note of it or else you have re-generate another license key. You can use your IPinfo access token to download your accessible databases. You can view it any time you want from your account dashboard: Log in to your account - IPinfo.io
Compression The downloaded database is tar-compressed and then gzipped compressed. IPinfo’s MMDB file is relatively small (~20 MB), so we didn’t intentionally compress the file.
Files The unzipped database contains a directory that contains the database and 2 license files. You are presented with only the MMDB database as you download it. There is no directory, just the file.
License You must be conscious of the license agreement of MaxMind that grants you limited usage. IPinfo’s license agreement is a simple CC BY SA 4.0 and requires only an attribution statement. Our open-access database grants both personal and commercial use.

IPinfo MMDB Output

IPinfo returns a more simplified response to an IP lookup

JSON response:

{
  "continent": "NA",
  "continent_name": "North America",
  "country": "US",
  "country_name": "United States"
}

MaxMind MMDB Output

MaxMind provides its data in multiple language translations and the database is a nested format, which makes data queries difficult.

{
  "continent": {
    "code": "NA",
    "geoname_id": 6255149,
    "names": {
      "de": "Nordamerika",
      "en": "North America",
      "es": "Norteamérica",
      "fr": "Amérique du Nord",
      "ja": "北アメリカ",
      "pt-BR": "América do Norte",
      "ru": "Северная Америка",
      "zh-CN": "北美洲"
    }
  },
  "country": {
    "geoname_id": 6252001,
    "iso_code": "US",
    "names": {
      "de": "Vereinigte Staaten",
      "en": "United States",
      "es": "Estados Unidos",
      "fr": "États Unis",
      "ja": "アメリカ",
      "pt-BR": "EUA",
      "ru": "США",
      "zh-CN": "美国"
    }
  },
  "registered_country": {
    "geoname_id": 6252001,
    "iso_code": "US",
    "names": {
      "de": "Vereinigte Staaten",
      "en": "United States",
      "es": "Estados Unidos",
      "fr": "États Unis",
      "ja": "アメリカ",
      "pt-BR": "EUA",
      "ru": "США",
      "zh-CN": "美国"
    }
  }
}

Migration to IPinfo Country from Geolite2™ Country (Value Access)

To migrate from MaxMind to IPinfo, you must be aware of how information is structured in these databases. In MaxMind DBs, core information is stored 2-3 levels deep. On the other hand, IPinfo’s tabular structure makes the database accessible through a single query.

Value IPinfo MaxMind Output
Continent Code response["continent"] response["continent"]["code"] NA
Continent Name response["continent_name"] response["continent"]["names"]["en"] North America
Country Code response["country"] response["country"]["iso_code"] US
Country Name response["country_name"] response["country"]["names"]["en"] United States

If you are using an MMDB reader library, please note that most, if not all, MMDB reader libraries are schema agnostic. This means that the library you used to parse MaxMind’s MMDB files would work the same with IPinfo’s database. All you need to do is account for the schema differences and access the correct keys to get the values you need.

If you need further assistance feel free to open a thread in our community support channel.