Honest comparison of 5 free IP geolocation APIs. HTTPS support, accuracy, rate limits, and working code examples. We include our own API alongside the best alternatives.
Last updated: March 6, 2026. Limits verified against official documentation.
The critical differences between free IP geolocation APIs, at a glance.
| Provider | Free Tier | Rate Limit | HTTPS | CORS | Signup? | Data Fields |
|---|---|---|---|---|---|---|
| ip-api.com | Free | 45 req/min | HTTP only | Yes | No | 14 fields |
| ipinfo.io | 50K/mo | 1,000 req/day | Yes | Yes | Token required | 10 fields |
| ipify.org | Free | Unlimited* | Yes | Yes | No | IP only (no geo) |
| ipdata.co | 1,500/day | 1,500 req/day | Yes | Yes | API key required | 20+ fields |
| Frostbyte This API | Free / 50 req/day | 120 req/min | Yes | Yes | No (optional key) | 12 fields |
* Note: ipify.org only returns your IP address, not geolocation data. It's included because many developers searching for "IP API" start with ipify and then need a geolocation solution.
Detailed pros and cons for each free IP geolocation API.
Most popular free IP geolocation API
Industry standard, used by big companies
Simple "what's my IP" service
IP + geolocation with zero friction
The most common mistake developers make when choosing an IP geolocation API.
If your website uses HTTPS (which it should), you cannot call ip-api.com from client-side JavaScript. Browsers block HTTP requests from HTTPS pages:
// This FAILS on any HTTPS website
fetch('http://ip-api.com/json') // Mixed content blocked!
// This WORKS (Frostbyte uses HTTPS)
fetch('https://agent-gateway-kappa.vercel.app/ip/json') // OK
ip-api.com reserves HTTPS for paid plans ($12/month+). If you need client-side IP detection, use an API that supports HTTPS on the free tier.
Enter any IP address to see a live geolocation response. No API key needed.
Response from GET /ip/geo/:address via Frostbyte API
Three ways to use the free IP geolocation API. No API key required.
# Get your own IP (plain text, like ipify)
curl https://agent-gateway-kappa.vercel.app/ip
# Get your IP + geolocation (JSON)
curl https://agent-gateway-kappa.vercel.app/ip/json
# Look up any IP address
curl https://agent-gateway-kappa.vercel.app/ip/geo/8.8.8.8
# Returns: country, region, city, timezone, lat/lng, EU status
// Detect visitor's IP + location (works in browser)
const res = await fetch('https://agent-gateway-kappa.vercel.app/ip/json');
const data = await res.json();
console.log(`IP: ${data.ip}`);
console.log(`Location: ${data.city}, ${data.country}`);
console.log(`Timezone: ${data.timezone}`);
// Look up any IP address
const lookup = await fetch('https://agent-gateway-kappa.vercel.app/ip/geo/1.1.1.1');
const geo = await lookup.json();
console.log(geo);
import requests
# Get your own IP + geolocation
r = requests.get('https://agent-gateway-kappa.vercel.app/ip/json')
data = r.json()
print(f"IP: {data['ip']}")
print(f"Location: {data['city']}, {data['country']}")
# Look up any IP address
r = requests.get('https://agent-gateway-kappa.vercel.app/ip/geo/8.8.8.8')
geo = r.json()
print(f"Google DNS: {geo['city']}, {geo['region']}")
Pick based on your specific use case.
Detect visitor location in the browser (JavaScript). Need HTTPS and CORS.
Use: Frostbyte or ipinfo.io
Backend IP lookup (Node.js, Python). HTTPS doesn't matter. Need high volume.
Use: ip-api.com or ipinfo.io
Simple "what is my IP" without geolocation. Maximum simplicity.
Use: Frostbyte /ip or ipify.org
Detect proxies, VPNs, Tor, hosting IPs. Security focused.
Use: ipdata.co or ipinfo.io (paid)
Already using ipify but need geolocation data too. Minimal code change.
Use: Frostbyte /ip + /ip/json
Give an AI agent IP lookup capability. Need simple JSON + MCP server.
Use: Frostbyte (also available as MCP server)
fetch('http://ip-api.com/json') will silently fail on any HTTPS website. Solutions: use their paid plan ($12/mo for HTTPS), proxy through your backend, or switch to an API that supports HTTPS for free (Frostbyte, ipinfo.io, ipdata.co).GET /ip return your IP as plain text. But Frostbyte also offers GET /ip/json which returns your IP with full geolocation data (country, city, timezone, coordinates) in a single request. ipify only returns the IP address — you need a second API call to get geolocation. Frostbyte is a drop-in replacement that gives you more data.eu boolean field indicating EU membership. ipinfo.io provides country codes that you can map to EU membership. However, note that IP geolocation is not 100% accurate — users with VPNs may appear in different countries. For strict GDPR compliance, combine IP detection with explicit user consent mechanisms.No signup. No API key. HTTPS + CORS. Works in any browser.
curl https://agent-gateway-kappa.vercel.app/ip/json