Country.is
App · 5 actions
Find the country behind an IP address with Country.is, the free, keyless IP geolocation API: the country and continent of any IPv4 or IPv6 address, with the city, region, postal code, coordinates, time zone and network where known, for up to 100 addresses in one step. Check whether an address is in the countries you name, to branch a workflow on where a sign-up, an order or a visitor comes from, and see which country Lodol itself calls out from. The data is MaxMind's GeoLite2, updated daily. No account or API key required.
Actions
| Action | What it does |
|---|---|
| Check whether an IP address is in a country | Answer whether an IPv4 or IPv6 address is used in one of the countries you name, as a plain true or false to branch on, with the country it is in. |
| Get data freshness | Get Country.is's version, the data sources it answers from (MaxMind, and Cloudflare for the address Lodol calls from) and when its data was last updated, with that age in hours, so a workflow can tell when the daily update has stopped arriving. |
| Look up an IP address | Find where an IPv4 or IPv6 address is used: its country and continent, and where MaxMind knows them, the city, region, postal code, coordinates with their accuracy, time zone, and the network's AS number and organization. |
| Look up IP addresses in bulk | Find where up to 100 IPv4 or IPv6 addresses are used in one request, each with the same details as Look up an IP address, in the order given. |
| Look up the address Lodol calls from | Find the public IP address Lodol's servers call out from and the country it is in, as Country.is sees the request, with the same details as Look up an IP address. |
Check whether an IP address is in a country
Answer whether an IPv4 or IPv6 address is used in one of the countries you name, as a plain true or false to branch on, with the country it is in. Pick countries from the list, or pass two-letter codes or English names from an earlier step. Use it to flag a sign-up or an order from outside the countries you serve, or to send a visitor to the right regional site.
Inputs
- IP address
ip_addresstextRequired - The IPv4 or IPv6 address to look up, such as 8.8.8.8 or 2001:4860:4860::8888. A domain name is not accepted.
- Countries
countrieslistRequired - The countries to check the address against. Pick from the list, or pass two-letter codes or names such as Germany, DE or UK from an earlier step, as a list or separated by commas.One or more of:
AF(Afghanistan),AX(Åland Islands),AL(Albania),DZ(Algeria),AD(Andorra),AO(Angola),AI(Anguilla),AQ(Antarctica),AG(Antigua & Barbuda),AR(Argentina), and 239 more.
Outputs
continenttext- The two-letter code of its continent: 'AF', 'AN', 'AS', 'EU', 'NA', 'OC' or 'SA'. Null when unknown.
continent_nametext- The continent's name, e.g. 'North America'. Null when unknown.
countrieslist- The countries checked against, as two-letter codes in the order given, repeats removed.
countrytext- The two-letter ISO 3166-1 code of the country the address is used in, e.g. 'US'. Null when Country.is cannot place it.
country_nametext- The country's English name, e.g. 'United States'. Null when there is no country.
iptext- The address looked up, as Country.is read it, e.g. '8.8.8.8'.
matchedtrue/false- True when the address is in one of the countries listed.
matched_countrytext- The two-letter code of the listed country it is in, e.g. 'DE'. Null when it is in none of them.
Example output
{
"continent": "EU",
"continent_name": "Europe",
"countries": [
"DE",
"FR"
],
"country": "DE",
"country_name": "Germany",
"ip": "77.1.2.3",
"matched": true,
"matched_country": "DE"
}Get data freshness
Get Country.is's version, the data sources it answers from (MaxMind, and Cloudflare for the address Lodol calls from) and when its data was last updated, with that age in hours, so a workflow can tell when the daily update has stopped arriving.
Inputs
None.
Outputs
data_age_hoursnumber- How many hours ago that was, to one decimal, e.g. 25.8. Null when Country.is did not say.
data_sourceslist- Where the answers come from, e.g. 'maxmind' and 'cloudflare'.
last_updatedtext- When the data was last updated, as an ISO 8601 time in UTC, e.g. '2026-10-13T17:25:50.000Z'.
versiontext- The version of Country.is answering, e.g. '4.2.3'.
Example output
{
"data_age_hours": 25.8,
"data_sources": [
"maxmind",
"cloudflare"
],
"last_updated": "2026-10-13T17:25:50.000Z",
"version": "4.2.3"
}Look up an IP address
Find where an IPv4 or IPv6 address is used: its country and continent, and where MaxMind knows them, the city, region, postal code, coordinates with their accuracy, time zone, and the network's AS number and organization. The country comes with its English name. A private or reserved address, such as 192.168.1.1, has no country and fails with the reason, as does a public address Country.is has no record of.
Inputs
- IP address
ip_addresstextRequired - The IPv4 or IPv6 address to look up, such as 8.8.8.8 or 2001:4860:4860::8888. A domain name is not accepted.
Outputs
accuracy_radiusnumber- How far, in kilometres, the real location may be from the coordinates, e.g. 10 for a city, 1000 for a country. Null when unknown.
asnnumber- The number of the autonomous system that announces the address, e.g. 15169 for Google. Null when unknown.
asn_organizationtext- The organization that runs that network, e.g. 'Google LLC'. Null when unknown.
citytext- The city, e.g. 'Hamburg'. Null when MaxMind has none.
continenttext- The two-letter code of its continent: 'AF', 'AN', 'AS', 'EU', 'NA', 'OC' or 'SA'. Null when unknown.
continent_nametext- The continent's name, e.g. 'North America'. Null when unknown.
countrytext- The two-letter ISO 3166-1 code of the country the address is used in, e.g. 'US'. Null when Country.is cannot place it.
country_nametext- The country's English name, e.g. 'United States'. Null when there is no country.
iptext- The address looked up, as Country.is read it, e.g. '8.8.8.8'.
latitudenumber- The latitude of the address's approximate location, e.g. 37.751. Null when unknown.
longitudenumber- The longitude of the address's approximate location, e.g. -97.822. Null when unknown.
postaltext- The postal code, e.g. '94043'. Null when MaxMind has none.
subdivisiontext- The code of the region, state or province, e.g. 'CA' for California or 'HH' for Hamburg. Null when MaxMind has none.
time_zonetext- The IANA time zone at that location, e.g. 'Europe/Berlin'. Null when unknown.
Example output
{
"accuracy_radius": 10,
"asn": 6805,
"asn_organization": "Telefonica Germany",
"city": "Hamburg",
"continent": "EU",
"continent_name": "Europe",
"country": "DE",
"country_name": "Germany",
"ip": "77.1.2.3",
"latitude": 53.5774,
"longitude": 10.0785,
"postal": "22041",
"subdivision": "HH",
"time_zone": "Europe/Berlin"
}Look up IP addresses in bulk
Find where up to 100 IPv4 or IPv6 addresses are used in one request, each with the same details as Look up an IP address, in the order given. A repeated address is looked up once. An address with no country, such as a private one, is not an error: it is listed under not found, and the rest are still answered.
Inputs
- IP addresses
ip_addresseslistRequired - The addresses to look up, as a list or separated by commas: up to 100 IPv4 or IPv6 addresses.
Outputs
countnumber- How many different addresses were looked up, repeats counted once.
foundnumber- How many of them Country.is placed in a country.
not_foundlist- The addresses Country.is has no country for, such as private ones. Empty when every address was placed.
resultslist- One record per address Country.is placed, in the order the addresses were given.
Example output
{
"count": 3,
"found": 2,
"not_found": [
"192.168.1.1"
],
"results": [
{
"accuracy_radius": 1000,
"asn": 15169,
"asn_organization": "Google LLC",
"city": null,
"continent": "NA",
"continent_name": "North America",
"country": "US",
"country_name": "United States",
"ip": "8.8.8.8",
"latitude": 37.751,
"longitude": -97.822,
"postal": null,
"subdivision": null,
"time_zone": "America/Chicago"
},
{
"accuracy_radius": 10,
"asn": 6805,
"asn_organization": "Telefonica Germany",
"city": "Hamburg",
"continent": "EU",
"continent_name": "Europe",
"country": "DE",
"country_name": "Germany",
"ip": "77.1.2.3",
"latitude": 53.5774,
"longitude": 10.0785,
"postal": "22041",
"subdivision": "HH",
"time_zone": "Europe/Berlin"
}
]
}Look up the address Lodol calls from
Find the public IP address Lodol's servers call out from and the country it is in, as Country.is sees the request, with the same details as Look up an IP address. The address and the country are Lodol's, not yours or your visitors'.
Inputs
None.
Outputs
accuracy_radiusnumber- How far, in kilometres, the real location may be from the coordinates, e.g. 10 for a city, 1000 for a country. Null when unknown.
asnnumber- The number of the autonomous system that announces the address, e.g. 15169 for Google. Null when unknown.
asn_organizationtext- The organization that runs that network, e.g. 'Google LLC'. Null when unknown.
citytext- The city, e.g. 'Hamburg'. Null when MaxMind has none.
continenttext- The two-letter code of its continent: 'AF', 'AN', 'AS', 'EU', 'NA', 'OC' or 'SA'. Null when unknown.
continent_nametext- The continent's name, e.g. 'North America'. Null when unknown.
countrytext- The two-letter ISO 3166-1 code of the country the address is used in, e.g. 'US'. Null when Country.is cannot place it.
country_nametext- The country's English name, e.g. 'United States'. Null when there is no country.
iptext- The address looked up, as Country.is read it, e.g. '8.8.8.8'.
latitudenumber- The latitude of the address's approximate location, e.g. 37.751. Null when unknown.
longitudenumber- The longitude of the address's approximate location, e.g. -97.822. Null when unknown.
postaltext- The postal code, e.g. '94043'. Null when MaxMind has none.
subdivisiontext- The code of the region, state or province, e.g. 'CA' for California or 'HH' for Hamburg. Null when MaxMind has none.
time_zonetext- The IANA time zone at that location, e.g. 'Europe/Berlin'. Null when unknown.
Example output
{
"accuracy_radius": 1000,
"asn": 15169,
"asn_organization": "Google LLC",
"city": null,
"continent": "NA",
"continent_name": "North America",
"country": "US",
"country_name": "United States",
"ip": "203.0.113.7",
"latitude": 37.751,
"longitude": -97.822,
"postal": null,
"subdivision": null,
"time_zone": "America/Chicago"
}