PUBLIC API — NO KEY REQUIRED

Free IP Address API

Get your public IP as plain text or JSON with geolocation. No signup, no API key, no rate limit headaches. Just curl and go.

Your IP Address
Detecting...
Detected in real-time using our free API

Quick Start

Three endpoints. No authentication. Works from terminal, browser, or any programming language.

curl
JavaScript
Python
Go
# Get your IP as plain text curl https://agent-gateway-kappa.vercel.app/ip # Get your IP with 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
// Get your IP as text const ip = await fetch('https://agent-gateway-kappa.vercel.app/ip') .then(r => r.text()); console.log(ip); // "203.0.113.42" // Get your IP with geolocation const data = await fetch('https://agent-gateway-kappa.vercel.app/ip/json') .then(r => r.json()); console.log(data.country, data.city); // "US" "San Francisco" // Look up any IP const geo = await fetch('https://agent-gateway-kappa.vercel.app/ip/geo/8.8.8.8') .then(r => r.json());
import requests # Get your IP as text ip = requests.get('https://agent-gateway-kappa.vercel.app/ip').text print(ip) # "203.0.113.42" # Get your IP with geolocation data = requests.get('https://agent-gateway-kappa.vercel.app/ip/json').json() print(data['country'], data['city']) # "US" "San Francisco" # Look up any IP geo = requests.get('https://agent-gateway-kappa.vercel.app/ip/geo/8.8.8.8').json()
package main import ( "fmt" "io" "net/http" ) func main() { resp, _ := http.Get("https://agent-gateway-kappa.vercel.app/ip") body, _ := io.ReadAll(resp.Body) fmt.Println(string(body)) // "203.0.113.42" }

API Endpoints

EndpointReturnsAuth
GET /ipYour IP as plain textNone
GET /ip?format=jsonYour IP + geolocation as JSONNone
GET /ip/jsonYour IP + full geolocation as JSONNone
GET /ip/geo/:addressGeolocation for any IP addressNone

Example Response /ip/json

{ "ip": "203.0.113.42", "found": true, "country": "US", "region": "CA", "city": "San Francisco", "timezone": "America/Los_Angeles", "latitude": 37.7749, "longitude": -122.4194, "eu": false }

How It Compares

Frostbyte

Free
HTTPS
No key needed
Includes geo data
CORS enabled
120 req/min

ipify.org

Free
HTTPS
No key needed
IP only, no geo
CORS enabled
Unlimited

ip-api.com

Free*
HTTP only (free)
No key needed
Full geo data
No CORS
45 req/min

ipinfo.io

Free*
HTTPS
Key required
Full geo data
CORS enabled
50K/month limit

Common Use Cases

🌐

Geo-Personalization

Show local content, currency, or language based on visitor location. One API call in your frontend.

🛡

Security & Logging

Log visitor IPs with geolocation for audit trails, rate limiting, or fraud detection.

🤖

AI Agent Tools

Give your AI agent location awareness. Works with LangChain, CrewAI, Claude MCP, and any HTTP-capable agent.

Need More? Get 200 Free API Credits

The public /ip endpoints are free forever. For batch lookups, distance calculations, timezone data, and 40+ more APIs, get a free API key.

Get Free API Key API Documentation

FAQ

Is this IP API really free?
Yes. The /ip endpoint is completely free with no API key required. It is rate-limited to 120 requests per minute to prevent abuse, which is more than enough for any typical application.
Do I need an API key?
No. The /ip, /ip/json, and /ip/geo/:address endpoints are completely public. No signup, no API key, no authentication. Just send a request and get a response.
Can I use this as a drop-in replacement for ipify?
Yes. GET /ip returns your IP as plain text, just like ipify.org. GET /ip?format=json returns JSON. Additionally, /ip/json includes geolocation data that ipify doesn't provide.
Does this API support CORS?
Yes. The API returns Access-Control-Allow-Origin: * headers, so you can use it directly from browser JavaScript with fetch() or XMLHttpRequest.
What geolocation data is included?
The /ip/json endpoint returns: IP address, country code, region, city, timezone, latitude, longitude, and EU membership status.
How does this compare to ip-api.com?
Unlike ip-api.com, this API uses HTTPS on the free tier (ip-api requires a paid plan for HTTPS). Our rate limit is also higher at 120 req/min vs their 45 req/min.
Can I look up any IP, not just my own?
Yes. Use GET /ip/geo/8.8.8.8 (replace with any IP) to look up geolocation for any IPv4 or IPv6 address. For batch lookups of up to 100 IPs, get a free API key and use the full geolocation API.