Map any IP address to a location
One REST call returns where an IP address is, from country to city and postal code with local time and flag, and what it is: the network, ISP, and whether it is a proxy or a data centre. Send an IP, or leave it blank to locate the caller. Built for developers.
What comes back
Location data for the IP, from country down to city and postal code where available, plus country facts derived from it at no extra cost: flag, currency, calling code, capital, languages, borders, EU membership, and the current local time. The network behind the address comes too: ASN, ISP and organisation, whether it is a mobile carrier, a known proxy or VPN exit, or a data centre, its reverse DNS name, and a confidence score for the city.
What you can do with it
Enough location signal to personalize, route, and analyze by geography.
Country down to city
Coordinates and timezone
IPv4 and IPv6
Look up the caller
Common use cases
A single GET request
Send an IP, get its location back. No SDK required.
# IP in, location out curl "https://api.sthan.io/IpGeolocation/8.8.8.8" \ -H "Authorization: Bearer YOUR_API_KEY"
{
"ipAddress": "8.8.8.8",
"country": "United States",
"countryCode": "US",
"region": "California",
"city": "Mountain View",
"latitude": 37.422,
"longitude": -122.085,
"continent": "North America",
"timezone": "America/Los_Angeles",
"postalCode": "94043",
"type": "IPv4",
"precision": "city",
"continentCode": "NA",
"regionCode": "CA",
"countryNativeName": "United States",
"isEu": false,
"callingCode": "+1",
"capital": "Washington, D.C.",
"borders": ["CA", "MX"],
"currency": { "code": "USD", "name": "United States dollar", "symbol": "$" },
"languages": ["English"],
"tld": ".us",
"flag": { "emoji": "πΊπΈ", "svg": "https://sthan.io/flags/us.svg" },
"timezoneDetail": { "id": "America/Los_Angeles", "utcOffset": "-07:00", "offsetSeconds": -25200, "isDst": true, "currentLocalTime": "2026-10-19T20:08:42-07:00" },
"asn": 15169,
"asName": "GOOGLE",
"isp": "Google LLC",
"organization": "Google Public DNS",
"isMobile": false,
"isProxy": true,
"isHosting": true,
"reverseDns": "dns.google",
"confidence": 0.78
}
Start free, scale when you need to
A generous free tier, then plans by request volume. Annual saves up to 50%.
Higher volumes and annual discounts on the plans page.
Questions developers ask
What data does it return?
Country, region, city and postal code where available, plus latitude, longitude, continent, timezone with the current local time, and country facts such as the flag, currency and calling code. It also returns the network behind it (ASN, ISP, organisation), mobile, proxy and hosting flags, reverse DNS and a confidence score. The confidence score says how strongly independent checks agreed on the city; it is absent for an address we have not seen before (ask again in a few seconds) or when they did not agree.
Does it accept IPv4 and IPv6?
Yes. Send either format. Leave the input blank and it geolocates the caller's own IP.
How precise is the location?
IP geolocation resolves to a city or region, not a street address. Some IPs, such as large infrastructure ranges, resolve only to a country.
What do I need to get started?
An email address. Sign up, grab your API key, and send your first request. The free tier gives you 50,000 lookups a month with no card on file.
Locate your first IP in two minutes
Sign up, copy your key, make the call. 50,000 lookups a month, free.
Get your free API key