GET/api/ip
Returns the caller's public IP address.
{
"ipv4": "5.50.177.22",
"timestamp": "2026-10-06T13:27:40.560Z"
}IP lookup, reverse DNS and VPN or proxy detection over a plain JSON API. No key, no signup.
Send a GET request. No key, no signup. CORS is open, so you can call the API straight from the browser.
curl https://api.ippriv.com/api/geo/8.8.8.8100 requests per hour per IP address, over a sliding window. Every response carries the current state:
X-RateLimit-Limit requests allowed per windowX-RateLimit-Remaining requests leftX-RateLimit-Reset Unix time when the window frees upAbove the limit, the API answers 429 with a Retry-After header in seconds.
/api/ipReturns the caller's public IP address.
{
"ipv4": "5.50.177.22",
"timestamp": "2026-10-06T13:27:40.560Z"
}/api/geo/:ipGeolocation and ISP for an IPv4 or IPv6 address. Try 8.8.8.8 in the lookup tool
{
"ip": "8.8.8.8",
"country": "United States",
"countryCode": "US",
"region": "Virginia",
"city": "Ashburn",
"lat": 39.03,
"lon": -77.5,
"timezone": "America/New_York",
"isp": "Google LLC"
}/api/dns/:ipReverse DNS: hostname and PTR records. Try 1.1.1.1 in the lookup tool
{
"ip": "1.1.1.1",
"hostname": "one.one.one.one",
"ptrRecords": [
"one.one.one.one"
]
}/api/security/:ipVPN, proxy, Tor and hosting detection, with ASN and organization. Try 8.8.8.8 in the lookup tool
{
"ip": "8.8.8.8",
"isVPN": false,
"isProxy": true,
"isTor": false,
"isHosting": true,
"asn": "AS15169 Google LLC",
"org": "Google Public DNS"
}/api/headersHTTP headers of your request, as the API received them.
{
"user-agent": "Mozilla/5.0...",
"accept-language": "en-US,en;q=0.9",
"cf-connecting-ip": "5.50.177.22"
}# Your IP
curl https://api.ippriv.com/api/ip
# Geolocation
curl https://api.ippriv.com/api/geo/8.8.8.8
# Reverse DNS
curl https://api.ippriv.com/api/dns/1.1.1.1
# VPN, proxy and Tor detection
curl https://api.ippriv.com/api/security/8.8.8.8Errors use standard HTTP status codes and a JSON body:
{
"error": "IP address is required"
}