Providers
ipwhoami normalizes the response from each provider into a consistent format:
{ "ip": "...", "city": "...", "region": "...", "country": "...", "org": "...", "location": "lat, lon", "timezone": "..."}ipinfo.io
Section titled “ipinfo.io”| Flag value | ipinfo |
| Default | Yes |
| HTTPS | Yes |
| Free tier | 50,000 requests/month |
| API docs | ipinfo.io/developers |
ipwhoami -p ipinfo 8.8.8.8Returns IP, city, region, country (ISO code), org (ASN + name), coordinates as lat,lon, and timezone.
ipapi.co
Section titled “ipapi.co”| Flag value | ipapi |
| HTTPS | Yes |
| Free tier | 1,000 requests/day |
| API docs | ipapi.co |
ipwhoami -p ipapi 8.8.8.8Returns IP, city, region, country (full name), org, separate lat/lon (combined by ipwhoami), and timezone.
ip-api.com
Section titled “ip-api.com”| Flag value | ip-api |
| HTTPS | No (HTTP only on free tier) |
| Free tier | 45 requests/minute |
| API docs | ip-api.com/docs |
ipwhoami -p ip-api 8.8.8.8Returns query IP, city, region name, country, ISP (mapped to org), separate lat/lon, and timezone.
Rate Limits
Section titled “Rate Limits”All third-party providers have rate limits on their free tiers. If you hit a limit, you’ll see an error like:
error: request to https://ipapi.co/8.8.8.8/json failed: HTTP 429Wait a moment and retry, or switch to a different provider with -p.
Self-Hosted Alternative
Section titled “Self-Hosted Alternative”To avoid rate limits entirely, ipwhoami includes a self-hosted API powered by offline databases. It runs on your own infrastructure with zero third-party calls and no rate limits.