IPWHOIS.io

App · Utilities · 10 actions

Find out where an IP address is and who runs it, from IPWHOIS.io's free keyless endpoint. Locate one address, a list of addresses, or the address this workflow itself calls out from. Check whether a visitor is in a country you serve or inside the EU, what time it is where they are, which network and company the address belongs to, and how far away they are - along with the country's capital, dialling code, neighbours and flag. No account or API key required.

Actions

ActionWhat it does
Check an IP address's countryAnswer whether an address is in one of the countries you name - the check behind sending someone to the right regional site, gating a feature by market, or flagging a sign-up from outside the countries you sell in.
Check whether an IP address can be locatedAnswer whether an address can be located at all, and say why not when it cannot: a typo, or an address in a range reserved by the IANA such as a private network or a loopback.
Check whether an IP address is in the EUAnswer whether an address is in the European Union - the check behind showing a cookie banner, applying VAT, choosing where to store someone's data, or routing a request to an EU region.
Get an IP address's country detailsGet the country behind an address and the reference data that goes with it: its capital, its international dialling code, the countries it borders, its flag as an emoji and as an SVG, and whether it is in the EU.
Get an IP address's network operatorGet who runs an address: its autonomous system number, the internet provider, the organization the block is registered to, and that organization's domain name.
Get an IP address's time zoneGet the time zone an address sits in and the time there right now, so a message goes out in someone's working hours rather than the middle of their night.
Look up an IP addressGeolocate an IP address: the continent, country, region and city it is in, its coordinates, postal code and time zone, the network that runs it, and the country reference data that comes with it - capital, dialling code, flag and EU membership.
Look up several IP addressesGeolocate a list of addresses in one step - a column of sign-up addresses, the addresses in a log - and get a row for each with where it is and who runs it.
Look up this workflow's IP addressLook up the address this workflow's requests go out from, and where it is.
Measure the distance to an IP addressMeasure how far an address is from a point you name, in kilometres and miles - which office, store or region a visitor is nearest.

Check an IP address's country

Answer whether an address is in one of the countries you name - the check behind sending someone to the right regional site, gating a feature by market, or flagging a sign-up from outside the countries you sell in. Answers with a plain true or false to branch on, plus where the address actually is.

Inputs

IP addressip_addresstextRequired
The IPv4 or IPv6 address to look up. The free ipwho.is endpoint takes an address, not a domain name. A whole URL is accepted too: only the address in it is used.
CountriescountrieslistRequired
The countries to test the address against. Pick from the list, or pass country names or two-letter codes from an earlier step: either is matched.One or more of: AF (Afghanistan), AL (Albania), DZ (Algeria), AD (Andorra), AO (Angola), AI (Anguilla), AQ (Antarctica), AG (Antigua & Barbuda), AR (Argentina), AM (Armenia), and 239 more.

Outputs

citytext
The city, e.g. 'San Francisco'.
continenttext
The continent's name, e.g. 'North America'.
continent_codetext
The continent's two-letter code, e.g. 'NA'.
countrieslist
The countries that were tested against.
countrytext
The country's name, e.g. 'United States', in the language that was asked for.
country_codetext
The country's ISO 3166-1 alpha-2 code, e.g. 'US'. The same in every language, so this is what to branch on.
iptext
The IP address ipwho.is answered about.
is_eutrue/false
Whether the country is in the European Union, as ipwho.is has it. Null when the service reported nothing, which is not the same as false.
location_labeltext
The place in one line, e.g. 'San Francisco, California, United States', ready to put in a message.
matchedtrue/false
True when the address is in one of the countries named.
matched_countrytext
Which of them it matched, written the way it was given. Empty when none matched.
querytext
What this step looked up, exactly as it was given. Empty for the step that asks about this server's own address.
regiontext
The region or state's name, e.g. 'California'.
Example output
{
  "city": "Ashburn",
  "continent": "North America",
  "continent_code": "NA",
  "countries": [
    "US",
    "CA"
  ],
  "country": "United States",
  "country_code": "US",
  "ip": "8.8.4.4",
  "is_eu": false,
  "location_label": "Ashburn, Virginia, United States",
  "matched": true,
  "matched_country": "US",
  "query": "8.8.4.4",
  "region": "Virginia"
}

Check whether an IP address can be located

Answer whether an address can be located at all, and say why not when it cannot: a typo, or an address in a range reserved by the IANA such as a private network or a loopback. It answers no rather than failing, so it is what to branch on before spending a step on an address someone typed in.

Inputs

IP addressip_addresstextRequired
The IPv4 or IPv6 address to look up. The free ipwho.is endpoint takes an address, not a domain name. A whole URL is accepted too: only the address in it is used.

Outputs

citytext
The city, e.g. 'San Francisco'.
countrytext
The country's name, e.g. 'United States', in the language that was asked for.
country_codetext
The country's ISO 3166-1 alpha-2 code, e.g. 'US'. The same in every language, so this is what to branch on.
explanationtext
The same reason written out, ready to show someone who typed the address in. Empty when it was located.
iptext
The IP address ipwho.is answered about.
ip_versiontext
Whether the address is 'ipv4' or 'ipv6'. The service writes it as 'IPv4'/'IPv6'; it is lowercased here so a condition can match it.
locatedtrue/false
Whether ipwho.is could locate the address at all.
location_labeltext
The place in one line, e.g. 'San Francisco, California, United States', ready to put in a message.
querytext
What this step looked up, exactly as it was given. Empty for the step that asks about this server's own address.
reasontext
Why it could not be located, in ipwho.is's own words: 'invalid ip address' or 'reserved range'. Empty when it was located.
Example output
{
  "city": "",
  "country": "",
  "country_code": "",
  "explanation": "That address is in a range reserved by the IANA - a private network (10.x.x.x, 172.16-31.x.x, 192.168.x.x or fc00::/7), a loopback, a link-local, multicast or documentation address. It belongs to no network operator and has no public location. Public traffic arrives from the network's own public address instead.",
  "ip": "",
  "ip_version": "ipv4",
  "located": false,
  "location_label": "",
  "query": "192.168.1.1",
  "reason": "reserved range"
}

Check whether an IP address is in the EU

Answer whether an address is in the European Union - the check behind showing a cookie banner, applying VAT, choosing where to store someone's data, or routing a request to an EU region. ipwho.is keeps the membership list itself, so a workflow does not have to: a hand-written list would still be counting the United Kingdom.

Inputs

IP addressip_addresstextRequired
The IPv4 or IPv6 address to look up. The free ipwho.is endpoint takes an address, not a domain name. A whole URL is accepted too: only the address in it is used.

Outputs

citytext
The city, e.g. 'San Francisco'.
continenttext
The continent's name, e.g. 'North America'.
continent_codetext
The continent's two-letter code, e.g. 'NA'.
countrytext
The country's name, e.g. 'United States', in the language that was asked for.
country_codetext
The country's ISO 3166-1 alpha-2 code, e.g. 'US'. The same in every language, so this is what to branch on.
explanationtext
The finding in a sentence, e.g. 'Germany is a member state of the European Union.'
in_eutrue/false
Whether the country is in the European Union, as ipwho.is has it. Null when the service reported nothing, which is not the same as false.
iptext
The IP address ipwho.is answered about.
location_labeltext
The place in one line, e.g. 'San Francisco, California, United States', ready to put in a message.
querytext
What this step looked up, exactly as it was given. Empty for the step that asks about this server's own address.
Example output
{
  "city": "Ashburn",
  "continent": "North America",
  "continent_code": "NA",
  "country": "United States",
  "country_code": "US",
  "explanation": "United States is not a member state of the European Union.",
  "in_eu": false,
  "ip": "8.8.4.4",
  "location_label": "Ashburn, Virginia, United States",
  "query": "8.8.4.4"
}

Get an IP address's country details

Get the country behind an address and the reference data that goes with it: its capital, its international dialling code, the countries it borders, its flag as an emoji and as an SVG, and whether it is in the EU. Where the geolocation actions answer 'where is this?', this answers 'what is that place?' - which is what a greeting, a form or an invoice needs.

Inputs

IP addressip_addresstextRequired
The IPv4 or IPv6 address to look up. The free ipwho.is endpoint takes an address, not a domain name. A whole URL is accepted too: only the address in it is used.

Outputs

border_countnumber
How many countries it borders, which is 0 for an island and is what to branch on.
borderslist
The two-letter codes of the countries this one borders on land, e.g. ['CA', 'MX']. Empty for an island. The service sends these as one comma-separated string; they are split here.
calling_codetext
The country's international dialling code, without the plus, e.g. '1'. A string rather than a number because some of them begin with a zero.
capitaltext
The country's capital city, e.g. 'Washington D.C.'.
continenttext
The continent's name, e.g. 'North America'.
continent_codetext
The continent's two-letter code, e.g. 'NA'.
countrytext
The country's name, e.g. 'United States', in the language that was asked for.
country_codetext
The country's ISO 3166-1 alpha-2 code, e.g. 'US'. The same in every language, so this is what to branch on.
flag_emojitext
The country's flag as an emoji, ready to put in a message.
flag_emoji_unicodetext
The same flag as its Unicode code points, e.g. 'U+1F1FA U+1F1F8', for somewhere the emoji itself will not survive.
flag_image_urltext
A link to an SVG of the country's flag, hosted by ipwhois.io.
iptext
The IP address ipwho.is answered about.
is_eutrue/false
Whether the country is in the European Union, as ipwho.is has it. Null when the service reported nothing, which is not the same as false.
querytext
What this step looked up, exactly as it was given. Empty for the step that asks about this server's own address.
Example output
{
  "border_count": 2,
  "borders": [
    "CA",
    "MX"
  ],
  "calling_code": "1",
  "capital": "Washington D.C.",
  "continent": "North America",
  "continent_code": "NA",
  "country": "United States",
  "country_code": "US",
  "flag_emoji": "\ud83c\uddfa\ud83c\uddf8",
  "flag_emoji_unicode": "U+1F1FA U+1F1F8",
  "flag_image_url": "https://cdn.ipwhois.io/flags/us.svg",
  "ip": "8.8.4.4",
  "is_eu": false,
  "query": "8.8.4.4"
}

Get an IP address's network operator

Get who runs an address: its autonomous system number, the internet provider, the organization the block is registered to, and that organization's domain name. The domain is the useful one for sales and screening - it is what tells you a visitor is browsing from a company's own network.

Inputs

IP addressip_addresstextRequired
The IPv4 or IPv6 address to look up. The free ipwho.is endpoint takes an address, not a domain name. A whole URL is accepted too: only the address in it is used.

Outputs

asnnumber
The autonomous system number the address is announced from, e.g. 7018. Null for an address block that is not announced in BGP.
autonomous_systemtext
The AS number written the way it is usually quoted, e.g. 'AS15169'. Empty when there is none.
countrytext
The country's name, e.g. 'United States', in the language that was asked for.
country_codetext
The country's ISO 3166-1 alpha-2 code, e.g. 'US'. The same in every language, so this is what to branch on.
domaintext
The domain name of the organization that owns the address, e.g. 'att.com'. This is what to match a sign-up's email domain against.
iptext
The IP address ipwho.is answered about.
ip_versiontext
Whether the address is 'ipv4' or 'ipv6'. The service writes it as 'IPv4'/'IPv6'; it is lowercased here so a condition can match it.
isptext
The internet provider serving the address.
location_labeltext
The place in one line, e.g. 'San Francisco, California, United States', ready to put in a message.
organizationtext
The organization that owns the autonomous system, which is often the business behind the address rather than the provider.
querytext
What this step looked up, exactly as it was given. Empty for the step that asks about this server's own address.
Example output
{
  "asn": 15169,
  "autonomous_system": "AS15169",
  "country": "United States",
  "country_code": "US",
  "domain": "google.com",
  "ip": "8.8.4.4",
  "ip_version": "ipv4",
  "isp": "Google LLC",
  "location_label": "Ashburn, Virginia, United States",
  "organization": "Google LLC",
  "query": "8.8.4.4"
}

Get an IP address's time zone

Get the time zone an address sits in and the time there right now, so a message goes out in someone's working hours rather than the middle of their night. The local time comes from ipwho.is itself, with daylight saving already applied, and the step says whether daylight saving is in force.

Inputs

IP addressip_addresstextRequired
The IPv4 or IPv6 address to look up. The free ipwho.is endpoint takes an address, not a domain name. A whole URL is accepted too: only the address in it is used.

Outputs

citytext
The city, e.g. 'San Francisco'.
countrytext
The country's name, e.g. 'United States', in the language that was asked for.
country_codetext
The country's ISO 3166-1 alpha-2 code, e.g. 'US'. The same in every language, so this is what to branch on.
iptext
The IP address ipwho.is answered about.
is_dsttrue/false
Whether daylight saving is in force there right now. Null when the service reported nothing.
local_timetext
The time it is at that address right now, as the service reports it, e.g. '2026-08-27T00:52:16-07:00'.
location_labeltext
The place in one line, e.g. 'San Francisco, California, United States', ready to put in a message.
querytext
What this step looked up, exactly as it was given. Empty for the step that asks about this server's own address.
timezonetext
The IANA time zone, e.g. 'America/Los_Angeles'.
timezone_abbreviationtext
The time zone's abbreviation as it stands today, e.g. 'PDT'.
utc_offsettext
The same offset written the usual way, e.g. '-07:00'.
utc_offset_secondsnumber
How far the time zone is from UTC in seconds right now, daylight saving already applied, e.g. -25200.
utc_timetext
The same moment in UTC, for comparison.
Example output
{
  "city": "Ashburn",
  "country": "United States",
  "country_code": "US",
  "ip": "8.8.4.4",
  "is_dst": true,
  "local_time": "2026-08-27T03:52:16-04:00",
  "location_label": "Ashburn, Virginia, United States",
  "query": "8.8.4.4",
  "timezone": "America/New_York",
  "timezone_abbreviation": "EDT",
  "utc_offset": "-04:00",
  "utc_offset_seconds": -14400,
  "utc_time": "2026-08-27T07:52:16Z"
}

Look up an IP address

Geolocate an IP address: the continent, country, region and city it is in, its coordinates, postal code and time zone, the network that runs it, and the country reference data that comes with it - capital, dialling code, flag and EU membership. One step for everything ipwho.is knows about an address. No API key required.

Inputs

IP addressip_addresstextRequired
The IPv4 or IPv6 address to look up. The free ipwho.is endpoint takes an address, not a domain name. A whole URL is accepted too: only the address in it is used.
Languagelanguagetext
The language to return the city, region, country, capital and continent names in. English by default. Codes such as the two-letter country code are the same in every language.One of: en (English), de (German (Deutsch)), es (Spanish (Espanol)), pt-BR (Portuguese, Brazil (Portugues)), fr (French (Francais)), ja (Japanese), zh-CN (Chinese, simplified), ru (Russian). Default: en.

Outputs

asnnumber
The autonomous system number the address is announced from, e.g. 7018. Null for an address block that is not announced in BGP.
borderslist
The two-letter codes of the countries this one borders on land, e.g. ['CA', 'MX']. Empty for an island. The service sends these as one comma-separated string; they are split here.
calling_codetext
The country's international dialling code, without the plus, e.g. '1'. A string rather than a number because some of them begin with a zero.
capitaltext
The country's capital city, e.g. 'Washington D.C.'.
citytext
The city, e.g. 'San Francisco'.
continenttext
The continent's name, e.g. 'North America'.
continent_codetext
The continent's two-letter code, e.g. 'NA'.
countrytext
The country's name, e.g. 'United States', in the language that was asked for.
country_codetext
The country's ISO 3166-1 alpha-2 code, e.g. 'US'. The same in every language, so this is what to branch on.
domaintext
The domain name of the organization that owns the address, e.g. 'att.com'. This is what to match a sign-up's email domain against.
flag_emojitext
The country's flag as an emoji, ready to put in a message.
flag_emoji_unicodetext
The same flag as its Unicode code points, e.g. 'U+1F1FA U+1F1F8', for somewhere the emoji itself will not survive.
flag_image_urltext
A link to an SVG of the country's flag, hosted by ipwhois.io.
iptext
The IP address ipwho.is answered about.
ip_versiontext
Whether the address is 'ipv4' or 'ipv6'. The service writes it as 'IPv4'/'IPv6'; it is lowercased here so a condition can match it.
is_dsttrue/false
Whether daylight saving is in force there right now. Null when the service reported nothing.
is_eutrue/false
Whether the country is in the European Union, as ipwho.is has it. Null when the service reported nothing, which is not the same as false.
isptext
The internet provider serving the address.
latitudenumber
The latitude of the area the address is in. It locates the network, not a person: treat it as a neighbourhood, not a street address.
local_timetext
The time it is at that address right now, as the service reports it, e.g. '2026-08-27T00:52:16-07:00'.
location_labeltext
The place in one line, e.g. 'San Francisco, California, United States', ready to put in a message.
longitudenumber
The longitude of the area the address is in.
map_urltext
A link showing the located point on OpenStreetMap.
organizationtext
The organization that owns the autonomous system, which is often the business behind the address rather than the provider.
postal_codetext
The postal or ZIP code for the area, e.g. '94102'. Often only the first part of one, since an address covers an area.
querytext
What this step looked up, exactly as it was given. Empty for the step that asks about this server's own address.
regiontext
The region or state's name, e.g. 'California'.
region_codetext
The region or state's ISO 3166-2 code where there is one, e.g. 'CA'. Empty for countries the service holds no subdivision code for.
timezonetext
The IANA time zone, e.g. 'America/Los_Angeles'.
timezone_abbreviationtext
The time zone's abbreviation as it stands today, e.g. 'PDT'.
utc_offsettext
The same offset written the usual way, e.g. '-07:00'.
utc_offset_secondsnumber
How far the time zone is from UTC in seconds right now, daylight saving already applied, e.g. -25200.
Example output
{
  "asn": 7018,
  "borders": [
    "CA",
    "MX"
  ],
  "calling_code": "1",
  "capital": "Washington D.C.",
  "city": "San Francisco",
  "continent": "North America",
  "continent_code": "NA",
  "country": "United States",
  "country_code": "US",
  "domain": "att.com",
  "flag_emoji": "\ud83c\uddfa\ud83c\uddf8",
  "flag_emoji_unicode": "U+1F1FA U+1F1F8",
  "flag_image_url": "https://cdn.ipwhois.io/flags/us.svg",
  "ip": "2600:1700:9da1:af60:d8bd:a509:c846:d0fb",
  "ip_version": "ipv6",
  "is_dst": true,
  "is_eu": false,
  "isp": "AT&T Enterprises, LLC",
  "latitude": 37.7749113,
  "local_time": "2026-08-27T00:52:16-07:00",
  "location_label": "San Francisco, California, United States",
  "longitude": -122.4185412,
  "map_url": "https://www.openstreetmap.org/?mlat=37.7749113&mlon=-122.4185412#map=10/37.7749113/-122.4185412",
  "organization": "AT&T Enterprises, LLC",
  "postal_code": "94102",
  "query": "2600:1700:9da1:af60:d8bd:a509:c846:d0fb",
  "region": "California",
  "region_code": "CA",
  "timezone": "America/Los_Angeles",
  "timezone_abbreviation": "PDT",
  "utc_offset": "-07:00",
  "utc_offset_seconds": -25200
}

Look up several IP addresses

Geolocate a list of addresses in one step - a column of sign-up addresses, the addresses in a log - and get a row for each with where it is and who runs it. Addresses that cannot be located are reported alongside the ones that can, so one private address in the list does not fail the step.

Inputs

IP addressesip_addresseslistRequired
The addresses to look up, as a list or separated by commas. At most 25 in one step: each one is a separate request against ipwho.is's free allowance of 1,000 a day, which every workflow in this workspace shares. Repeats are looked up once.
Languagelanguagetext
The language to return the city, region, country, capital and continent names in. English by default. Codes such as the two-letter country code are the same in every language.One of: en (English), de (German (Deutsch)), es (Spanish (Espanol)), pt-BR (Portuguese, Brazil (Portugues)), fr (French (Francais)), ja (Japanese), zh-CN (Chinese, simplified), ru (Russian). Default: en.

Outputs

countnumber
How many addresses were asked about.
failedlist
The addresses ipwho.is refused.
failed_countnumber
How many ipwho.is refused - reserved, private or unreadable.
locatedlist
The addresses that were located.
located_countnumber
How many of them were located.
not_checkedlist
The addresses left untried. Run the step again for these once the allowance resets.
not_checked_countnumber
How many were left untried because the daily allowance ran out mid-list.
requests_madenumber
How many requests this step made to ipwho.is.
resultslist
One row per address that was tried, in the order given.
seconds_until_resetnumber
How many seconds until the daily allowance resets, from ipwho.is's Retry-After header. Null unless this step was actually turned away.
Example output
{
  "count": 2,
  "failed": [
    "192.168.1.1"
  ],
  "failed_count": 1,
  "located": [
    "8.8.4.4"
  ],
  "located_count": 1,
  "not_checked": [],
  "not_checked_count": 0,
  "requests_made": 2,
  "results": [
    {
      "asn": 15169,
      "city": "Ashburn",
      "country": "United States",
      "country_code": "US",
      "ip": "8.8.4.4",
      "is_eu": false,
      "isp": "Google LLC",
      "latitude": 39.0437567,
      "located": true,
      "location_label": "Ashburn, Virginia, United States",
      "longitude": -77.4874416,
      "query": "8.8.4.4",
      "reason": "",
      "region": "Virginia",
      "timezone": "America/New_York"
    },
    {
      "asn": null,
      "city": "",
      "country": "",
      "country_code": "",
      "ip": "",
      "is_eu": null,
      "isp": "",
      "latitude": null,
      "located": false,
      "location_label": "",
      "longitude": null,
      "query": "192.168.1.1",
      "reason": "reserved range",
      "region": "",
      "timezone": ""
    }
  ],
  "seconds_until_reset": null
}

Look up this workflow's IP address

Look up the address this workflow's requests go out from, and where it is. That is Lodol's own outbound address, not the address of whoever is watching the workflow, which is what you need when a third-party API asks you to allow-list the address your calls arrive from.

Inputs

Languagelanguagetext
The language to return the city, region, country, capital and continent names in. English by default. Codes such as the two-letter country code are the same in every language.One of: en (English), de (German (Deutsch)), es (Spanish (Espanol)), pt-BR (Portuguese, Brazil (Portugues)), fr (French (Francais)), ja (Japanese), zh-CN (Chinese, simplified), ru (Russian). Default: en.

Outputs

asnnumber
The autonomous system number the address is announced from, e.g. 7018. Null for an address block that is not announced in BGP.
borderslist
The two-letter codes of the countries this one borders on land, e.g. ['CA', 'MX']. Empty for an island. The service sends these as one comma-separated string; they are split here.
calling_codetext
The country's international dialling code, without the plus, e.g. '1'. A string rather than a number because some of them begin with a zero.
capitaltext
The country's capital city, e.g. 'Washington D.C.'.
citytext
The city, e.g. 'San Francisco'.
continenttext
The continent's name, e.g. 'North America'.
continent_codetext
The continent's two-letter code, e.g. 'NA'.
countrytext
The country's name, e.g. 'United States', in the language that was asked for.
country_codetext
The country's ISO 3166-1 alpha-2 code, e.g. 'US'. The same in every language, so this is what to branch on.
domaintext
The domain name of the organization that owns the address, e.g. 'att.com'. This is what to match a sign-up's email domain against.
flag_emojitext
The country's flag as an emoji, ready to put in a message.
flag_emoji_unicodetext
The same flag as its Unicode code points, e.g. 'U+1F1FA U+1F1F8', for somewhere the emoji itself will not survive.
flag_image_urltext
A link to an SVG of the country's flag, hosted by ipwhois.io.
iptext
The IP address ipwho.is answered about.
ip_versiontext
Whether the address is 'ipv4' or 'ipv6'. The service writes it as 'IPv4'/'IPv6'; it is lowercased here so a condition can match it.
is_dsttrue/false
Whether daylight saving is in force there right now. Null when the service reported nothing.
is_eutrue/false
Whether the country is in the European Union, as ipwho.is has it. Null when the service reported nothing, which is not the same as false.
isptext
The internet provider serving the address.
latitudenumber
The latitude of the area the address is in. It locates the network, not a person: treat it as a neighbourhood, not a street address.
local_timetext
The time it is at that address right now, as the service reports it, e.g. '2026-08-27T00:52:16-07:00'.
location_labeltext
The place in one line, e.g. 'San Francisco, California, United States', ready to put in a message.
longitudenumber
The longitude of the area the address is in.
map_urltext
A link showing the located point on OpenStreetMap.
organizationtext
The organization that owns the autonomous system, which is often the business behind the address rather than the provider.
postal_codetext
The postal or ZIP code for the area, e.g. '94102'. Often only the first part of one, since an address covers an area.
querytext
What this step looked up, exactly as it was given. Empty for the step that asks about this server's own address.
regiontext
The region or state's name, e.g. 'California'.
region_codetext
The region or state's ISO 3166-2 code where there is one, e.g. 'CA'. Empty for countries the service holds no subdivision code for.
timezonetext
The IANA time zone, e.g. 'America/Los_Angeles'.
timezone_abbreviationtext
The time zone's abbreviation as it stands today, e.g. 'PDT'.
utc_offsettext
The same offset written the usual way, e.g. '-07:00'.
utc_offset_secondsnumber
How far the time zone is from UTC in seconds right now, daylight saving already applied, e.g. -25200.
Example output
{
  "asn": 7018,
  "borders": [
    "CA",
    "MX"
  ],
  "calling_code": "1",
  "capital": "Washington D.C.",
  "city": "San Francisco",
  "continent": "North America",
  "continent_code": "NA",
  "country": "United States",
  "country_code": "US",
  "domain": "att.com",
  "flag_emoji": "\ud83c\uddfa\ud83c\uddf8",
  "flag_emoji_unicode": "U+1F1FA U+1F1F8",
  "flag_image_url": "https://cdn.ipwhois.io/flags/us.svg",
  "ip": "2600:1700:9da1:af60:d8bd:a509:c846:d0fb",
  "ip_version": "ipv6",
  "is_dst": true,
  "is_eu": false,
  "isp": "AT&T Enterprises, LLC",
  "latitude": 37.7749113,
  "local_time": "2026-08-27T00:52:16-07:00",
  "location_label": "San Francisco, California, United States",
  "longitude": -122.4185412,
  "map_url": "https://www.openstreetmap.org/?mlat=37.7749113&mlon=-122.4185412#map=10/37.7749113/-122.4185412",
  "organization": "AT&T Enterprises, LLC",
  "postal_code": "94102",
  "query": "2600:1700:9da1:af60:d8bd:a509:c846:d0fb",
  "region": "California",
  "region_code": "CA",
  "timezone": "America/Los_Angeles",
  "timezone_abbreviation": "PDT",
  "utc_offset": "-07:00",
  "utc_offset_seconds": -25200
}

Measure the distance to an IP address

Measure how far an address is from a point you name, in kilometres and miles - which office, store or region a visitor is nearest. It is a straight line over the globe, not a route, and it measures to the area the address is in rather than to a street.

Inputs

IP addressip_addresstextRequired
The IPv4 or IPv6 address to look up. The free ipwho.is endpoint takes an address, not a domain name. A whole URL is accepted too: only the address in it is used.
Latitude to measure fromlatitudenumberRequired
The latitude of the place to measure from, between -90 and 90.From -90 to 90.
Longitude to measure fromlongitudenumberRequired
The longitude of the place to measure from, between -180 and 180.From -180 to 180.

Outputs

citytext
The city, e.g. 'San Francisco'.
countrytext
The country's name, e.g. 'United States', in the language that was asked for.
country_codetext
The country's ISO 3166-1 alpha-2 code, e.g. 'US'. The same in every language, so this is what to branch on.
distance_kmnumber
The straight-line distance in kilometres, to one decimal place.
distance_milesnumber
The same distance in miles.
from_latitudenumber
The latitude that was measured from.
from_longitudenumber
The longitude that was measured from.
iptext
The IP address ipwho.is answered about.
latitudenumber
The latitude of the area the address is in. It locates the network, not a person: treat it as a neighbourhood, not a street address.
location_labeltext
The place in one line, e.g. 'San Francisco, California, United States', ready to put in a message.
longitudenumber
The longitude of the area the address is in.
map_urltext
A link showing the located point on OpenStreetMap.
querytext
What this step looked up, exactly as it was given. Empty for the step that asks about this server's own address.
timezonetext
The IANA time zone, e.g. 'America/Los_Angeles'.
Example output
{
  "city": "Ashburn",
  "country": "United States",
  "country_code": "US",
  "distance_km": 42.2,
  "distance_miles": 26.2,
  "from_latitude": 38.8977,
  "from_longitude": -77.0365,
  "ip": "8.8.4.4",
  "latitude": 39.0437567,
  "location_label": "Ashburn, Virginia, United States",
  "longitude": -77.4874416,
  "map_url": "https://www.openstreetmap.org/?mlat=39.0437567&mlon=-77.4874416#map=10/39.0437567/-77.4874416",
  "query": "8.8.4.4",
  "timezone": "America/New_York"
}

On this page