In January 2024, we began using R2 presigned URLs for all database downloads. Make sure that your servers can make HTTPS connections to the following hostname:
There are two methods for automatically updating GeoIP2 and GeoIP Legacy binary databases:
- Using MaxMind's GeoIP Update program.
- Directly downloading the database.
For clients using our binary database format, we highly recommend using GeoIP Update, but the direct download method is available if necessary. Clients using the CSV-format databases must use the direct download method.
MaxMind provides the GeoIP Update program, which performs automatic updates for both GeoIP2, GeoIP Legacy, and GeoLite2 binary databases.
MaxMind uses R2 presigned URLs for database downloads. Make sure that your servers can make HTTPS connections to the following hostname:
If you are using an older version of GeoIP Update, you may need to upgrade to GeoIP Update 4.x or later version. The 4.x and later versions meet our requirement for using TLS 1.2 or greater for all requests to our servers to keep your data secure.
Please see our upgrade guide for more information on upgrading from an older version of GeoIP Update.
Log in to your account portal to download a partially
pre-filled configuration file
and save it in your configuration directory (e.g.,
GeoIP.conf. You will need to replace the
with an active license key associated with your MaxMind account. You can see
your license key information on
your account License Keys page.
You may also write this file by hand using the template below (not recommended).
Note that for
geoipupdate versions less than 2.5.0, use
UserId instead of
ProductIds instead of
geoipupdate. To fully automate this process on Linux or Unix, use a
crontab file like:
This crontab file would run twice a week, and it would email you the results.
If you are running a firewall,
geoipupdate requires that the DNS and HTTPS
(443) ports be open.
If you receive an error when running GeoIP Update, you can use the verbose
option by adding the
-v flag. This will print out each step taken as it runs.
The information provided can often help to clarify issues. Additional
instructions for GeoIP Update can be viewed when running
man geoipupdate on
the command line.
Please note that GeoIP Update requires current access to database updates to run properly. If your subscription needs to be renewed, updates can be purchased while logged into your Account Summary page.
Updating to the latest release of GeoIP Update may be required to resolve some errors. If you are not currently using version 4 or higher of GeoIP Update and would like to learn about upgrading to the current version of the program, read our guide on how to upgrade to GeoIP Update version 4.x.
Starting in 2024, MaxMind began using R2 presigned URLs for database downloads. If your server is refusing the connection during download, make sure that your servers can make HTTPS connections to the following hostname:
This is only recommended for systems unable to use GeoIP Update or for clients using the CSV-format databases.
In order to download the databases from a script or program, please use the permalinks found on the GeoIP download page. Please note that you will be redirected from these permalinks because MaxMind uses R2 presigned URLs for database downloads. You should make sure that your servers can make HTTPS connections to the following hostname:
To directly download databases, follow these steps:
- In the “Download Links” column, click “Get Permalink(s)” for the desired database.
- Copy the permalink(s) provided in the modal window.
- Provide your account ID and your license key using Basic Authentication to authenticate.
- If you are using
curlfrom a shell script, please be sure to quote the URL.
You can check the date of a given database’s latest release by issuing a HEAD request for that database’s download permalink URL. The download permalink can be found in the Download Databases section of your account portal.
For example, using the permalink for the GeoIP2 City CSV database, you can issue
curl command like the following:
wget command like the following:
YOUR_ACCOUNT_ID is a placeholder for your account’s actual account ID
YOUR_LICENSE_KEY is a placeholder for your account’s actual license key.
Learn more about license keys on our knowledge base.
In the response, you can check the
last-modified header for the file’s build
date, or you can check the
content-disposition header for the date that would
appear in the file name. These checks can be incorporated into your own script
or program, according to your needs.
This method only issues a HEAD request, rather than a download request, so running this check won’t count against your daily database download limit.
Use at your own risk. MaxMind does not offer support for these tools and has not reviewed the code.
The following tools have been developed by the community of GeoIP users. MaxMind does not offer support for these integrations, or maintain them. See our guide on developing for the community if you have questions about creating or sharing your own unofficial tools.
- Geoip2 Update - A PHP tool for updating MaxMind GeoLite2 and GeoIP2 databases from your script or via Composer.
It is expected for database files to increase or decrease in size from time to time between releases. As we incorporate data corrections and new data sources, we will add entries to our databases. Sometimes IP ranges are taken out of use and removed. You should develop your integration with the expectation that changes to the size of our databases will occur.
When we anticipate significant changes to the size of our databases, we will notify customers by posting a release note.
MaxMind reserves the right to limit the number of downloads made within a limited period of time.
This page was last updated on February 13, 2024.