๐Ÿพ
I can haz Geo?
You are visiting from Columbus, Ohio, United States, You are located within a radius of 20 meters to 39.9625, -83.0061, Your postal code is 43215, Your timezone is America/New_York, you are using a VPN, you aren't using Tor, your currency is USD, and the exchange rate is 1.000000 to 1 USD and 0.875000 to 1 EUR. All this information was fetched in 686 microseconds!

๐Ÿ”Œ API:

Lookup an IP address:

GET https://icanhazgeo.com/api/lookup/8.8.8.8

๐Ÿ“Š Rate limit: Unauthenticated users get 10,000 requests per day, max burst 1,000 per hour. Check out our pricing plans for higher limits.

๐Ÿš€ Response time: Sub-millisecond lookups + network time.

Here's what a successful response looks like:

{
    "success": true,
    "data": {
        "country_code": "DE",
        "country": "Germany",
        "city": "Berlin",
        "lat": 52.5200,
        "lng": 13.4050,
        "postal": "10178",
        "accuracy": 1000,
        "timezone": "Europe/Berlin",
        "continent_code": "EU",
        "continent": "Europe",
        "region": "Berlin",
        "subregion": "",
        "is_proxy": false,
        "is_vpn": false,
        "is_tor_exit": false,
        "is_tor": false,
        "currency": "EUR",
        "usd_rate": "1.150748",
        "eur_rate": "1.000000"
    },
    "meta": {
        "ip": "188.24.4.187",
        "rate_limit": {
            "limit": 10000,
            "remaining": 9995,
            "reset_time": 1754265600
        },
        "response_time": "743.521ยตs"
    }
}

Here's what an unsuccessful response looks like:

{
    "success": false,
    "error": "IP not found: 192.168.1.999",
    "meta": {
        "ip": "188.24.4.187",
        "rate_limit": {
            "limit": 10000,
            "remaining": 9994,
            "reset_time": 1754265600
        },
        "response_time": "1.234ms"
    }
}