BYTETOOLS

ipwho.is API

Free IP geolocation API with HTTPS and no API key. Returns country, city, coordinates, timezone, currency and connection data. 10,000 requests/month free.

No API key requiredCORS enabledHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-19

What is the ipwho.is API?

ipwho.is is a free IP geolocation API that works over HTTPS with no API key, returning country, city, coordinates, timezone, currency, calling code and connection details for any IP address.

ipwho.is fills the gap left by ip-api's HTTP-only free tier: it serves the same class of data over HTTPS without a key, which means you can call it from browser JavaScript on a secure page without mixed-content problems.

The response is noticeably richer than most free alternatives, bundling currency, calling code and flag emoji alongside the usual geography. That makes it a one-request solution for localising a checkout page — currency symbol, country flag and phone prefix all arrive together.

Quick facts

Base URL
https://ipwho.is
Authentication
No key required on the free tier.
Rate limit
10,000 requests per month on the free tier.
Pricing
Free up to 10,000 monthly requests; paid plans raise the cap.
CORS
Enabled — callable directly from browser JavaScript
Official docs
Read the docs

How to use the ipwho.is API

Every request below was executed against the live API on 2026-08-19, and the response shown is the real body it returned — not an illustration.

1. Geolocate an IP over HTTPS

GET https://ipwho.is/8.8.8.8

curl
curl 'https://ipwho.is/8.8.8.8'
JavaScript (fetch)
const res = await fetch("https://ipwho.is/8.8.8.8");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://ipwho.is/8.8.8.8", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200
{
  "ip": "8.8.8.8",
  "success": true,
  "type": "IPv4",
  "continent": "North America",
  "continent_code": "NA",
  "country": "United States",
  "country_code": "US",
  "region": "California",
  "region_code": "CA",
  "city": "San Jose",
  "latitude": 37.3361663,
  "longitude": -121.8905913,
  "is_eu": false,
  "postal": "95113",
  "calling_code": "1",
  "capital": "Washington D.C.",
  "borders": "CA,MX",
  "flag": {
    "img": "https://cdn.ipwhois.io/flags/us.svg",
    "emoji": "🇺🇸",
    "emoji_unicode": "U+1F1FA U+1F1F8"
  },
  "connection": {
    "asn": 15169,
    "org": "Google LLC",
    "isp": "Google LLC",
    "domain": "google.com"
  },
  "timezone": {
    "id": "America/Los_Angeles",
    "abbr": "PDT",
    "is_dst": true,
    "offset": -25200,
    "utc": "-07:00"
  },
  "readme": "https://ipwhois.io/docs"
}

Parameters

ParameterTypeRequiredDescription
<ip>pathOptionalIP address to look up. Omit to geolocate the caller. 8.8.8.8
fieldsstringOptionalComma-separated list to limit the returned fields. country,city,currency
langstringOptionalLanguage for localised names. en

Response fields

successboolean
False when the lookup failed — check this before anything else.
country / country_codestring
Country name and ISO alpha-2 code.
city / regionstring
Approximate city and administrative region.
latitude / longitudefloat
Approximate coordinates at city level.
timezoneobject
Nested object with IANA id, abbreviation, UTC offset and current time.
currencyobject
Currency name, code and symbol for the country.
connectionobject
ASN, ISP, organisation and domain of the network operator.

What you can build with the ipwho.is API

  • Localise currency, language and phone prefix at checkout in one request
  • Call IP geolocation from front-end JavaScript over HTTPS without a proxy
  • Detect the visitor's country to satisfy regional compliance rules
  • Enrich signup records with approximate geography and ISP

Common errors and how to fix them

success: false

Invalid, reserved or private IP address.

Fix: Read the nested `message` field for the specific reason before surfacing anything to the user.

Quota exhausted

The 10,000 monthly free requests are used up.

Fix: Cache results per IP; geolocation for an address is stable for weeks.

ipwho.is API — frequently asked questions

Is there a free IP geolocation API that supports HTTPS?

Yes — ipwho.is serves geolocation over HTTPS with no API key on its free tier, which makes it usable from browser JavaScript where ip-api's HTTP-only free tier is blocked as mixed content.

How many free requests does ipwho.is allow?

10,000 per month on the free tier, with no key required. Paid plans lift the limit.

What extra data does ipwho.is return compared to other free IP APIs?

Currency name, code and symbol, international calling code, country flag emoji and image URLs, plus detailed connection data including ASN and ISP — all in the same response.

Should I trust the city returned by an IP lookup?

Treat it as a hint, not a fact. City-level IP geolocation is frequently wrong, especially on mobile networks and VPNs, and the coordinates are a regional centroid rather than an actual position.

Tools that pair with this API

ipwho.is is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-19; always check the official documentation before relying on this API in production, as terms and limits can change.