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
| Action | What it does |
|---|---|
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| Look up this workflow's IP address | Look up the address this workflow's requests go out from, and where it is. |
| 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. |
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 address
ip_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.
- Countries
countrieslistRequired - 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 address
ip_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 address
ip_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 address
ip_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 address
ip_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 address
ip_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 address
ip_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.
- Language
languagetext - 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 addresses
ip_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.
- Language
languagetext - 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
- Language
languagetext - 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 address
ip_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 from
latitudenumberRequired - The latitude of the place to measure from, between -90 and 90.From -90 to 90.
- Longitude to measure from
longitudenumberRequired - 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"
}