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.
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 'https://ipwho.is/8.8.8.8'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);import requests
res = requests.get("https://ipwho.is/8.8.8.8", timeout=20)
res.raise_for_status()
print(res.json()){
"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
| Parameter | Type | Required | Description |
|---|---|---|---|
<ip> | path | Optional | IP address to look up. Omit to geolocate the caller. 8.8.8.8 |
fields | string | Optional | Comma-separated list to limit the returned fields. country,city,currency |
lang | string | Optional | Language 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.