Country is an IP-to-country geolocation API that returns a user’s country based on their IP address.
We run a free instance—no API key needed. You can also self-host if preferred.
The API has a minimal interface.
Returns the country of the IP making the request, typically the user’s browser or app.
/* https://api.country.is/ */
{
"ip": "77.249.1.1",
"country": "NL"
}
Returns the country of any given IP. The API supports both with IPv4 and IPv6.
/* https://api.country.is/77.1.2.3 */
{
"ip": "77.1.2.3",
"country": "DE"
}
Provides metadata about the API, including when the data sources were last updated.
/* https://api.country.is/info */
{
"dataSources": ["maxmind", "cloudflare"],
"lastUpdated": "2024-08-20T18:34:36.000Z"
}
The API automatically updates MaxMind data every 24 hours in the background.
If you prefer not to use our hosted service, you can self-host with Docker.
docker run -d -p 3000:3000 -e ACCOUNT_ID=YOUR_MAXMIND_ACCOUNT_ID -e LICENSE_KEY=YOUR_MAXMIND_LICENSE_KEY hakanensari/country
Replace YOUR_MAXMIND_ACCOUNT_ID
and YOUR_LICENSE_KEY
with your MaxMind account ID and the license key associated with it.