hakanensari / country

IP-to-country geolocation API
http://country.is/
173 stars 20 forks source link
geoip geolocation ip-to-country

Country

Build

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.

Usage

The API has a minimal interface.

GET /

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"
}

GET /{ip}

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"
}

GET /info

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.

Deployment

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.