Full support for both IPv4 and IPv6 addresses with dedicated endpoints
JSON, XML, CSV, and YAML response formats for maximum compatibility
Resolve hostnames to IP addresses and get geolocation data
Works with PHP, JavaScript, Node.js, Python, Java, and more
High-performance API with multiple data providers
No signup required, 100 requests per minute per IP
Simple REST API calls return comprehensive geolocation data
{
"ip": "8.8.8.8",
"continent": "North America",
"country": "United States",
"countryCode": "US",
"region": "California",
"city": "Mountain View",
"lat": 37.4056,
"lon": -122.0775,
"timezone": "America/Los_Angeles",
"isp": "Google LLC",
"org": "Google Public DNS",
"as": "AS15169 Google LLC"
}
<geoip>
<ip>8.8.8.8</ip>
<continent>North America</continent>
<country>United States</country>
<countryCode>US</countryCode>
<region>California</region>
<city>Mountain View</city>
<lat>37.4056</lat>
<lon>-122.0775</lon>
<timezone>America/Los_Angeles</timezone>
<isp>Google LLC</isp>
</geoip>
Real-time database status and record counts
Loading database statistics...
Complete REST API reference
Method | Endpoint | Description | Parameters | Example |
---|---|---|---|---|
GET | /geoip | Get GeoIP for any IP address | ip, format, provider, callback | /geoip?ip=8.8.8.8 |
GET | /geoip/ipv4 | IPv4 addresses only | ip, format, provider, callback | /geoip/ipv4?ip=8.8.8.8&callback=myCallback |
GET | /geoip/ipv6 | IPv6 addresses only | ip, format, provider, callback | /geoip/ipv6?ip=2001:4860:4860::8888 |
GET | /geoip/stats | Database statistics | provider | /geoip/stats |
GET | /geoip/health | API health check | provider | /geoip/health |
GET | /geoip/providers | Available providers | - | /geoip/providers |
POST | /geoip/switch-provider | Switch data provider | provider (maxmind|dbip) | POST /geoip/switch-provider?provider=dbip |
POST | /geoip/update | Update databases | provider, force, no-backup | POST /geoip/update?provider=all&force=1 |
100 requests per minute per IP address. Response headers include:
X-RateLimit-Limit
: Maximum requests allowed
X-RateLimit-Remaining
: Requests remaining in current window
X-RateLimit-Reset
: Unix timestamp when rate limit resets
Test the API with live requests
Leave empty to use your current IP
Only for JSON format
Ready-to-use code snippets for popular languages
curl -s "https://geoip.vuiz.net/geoip?ip=8.8.8.8" | jq
fetch('https://geoip.vuiz.net/geoip?ip=8.8.8.8')
.then(r => r.json())
.then(d => console.log(d.country, d.city));
const r = await fetch('https://geoip.vuiz.net/geoip?ip=8.8.8.8');
console.log(await r.json());
import requests
r = requests.get('https://geoip.vuiz.net/geoip',
params={'ip': '8.8.8.8'})
print(r.json())
<?php
$ch = curl_init('https://geoip.vuiz.net/geoip?ip=8.8.8.8');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
echo curl_exec($ch);
?>
var client = java.net.http.HttpClient.newHttpClient();
var request = java.net.http.HttpRequest.newBuilder(
java.net.URI.create("https://geoip.vuiz.net/geoip?ip=8.8.8.8"))
.build();
var response = client.send(request,
java.net.http.HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
<script>
function myCallback(data) {
console.log(data);
}
</script>
<script src="https://geoip.vuiz.net/geoip?ip=8.8.8.8&callback=myCallback"></script>
# XML format
curl "https://geoip.vuiz.net/geoip?ip=8.8.8.8&format=xml"
# CSV format
curl "https://geoip.vuiz.net/geoip?ip=8.8.8.8&format=csv"
# YAML format
curl "https://geoip.vuiz.net/geoip?ip=8.8.8.8&format=yaml"
Common applications for IP geolocation
Start free, scale as needed
Everything you need to know about our API
Yes, our GeoIP API is completely free with no signup required. Rate limit: 100 requests per minute per IP address with fair-use policy.
Yes, we fully support both IPv4 and IPv6 addresses.
Use the general /geoip
endpoint for
automatic detection, or specific
/geoip/ipv4
and
/geoip/ipv6
endpoints.
100 requests per minute per IP address. Every
response includes headers:
X-RateLimit-Limit
(max requests),
X-RateLimit-Remaining
(requests left),
and X-RateLimit-Reset
(Unix timestamp
when limit resets).
JSON (default), XML, CSV, and YAML. Use the
format
parameter:
?format=json|xml|csv|yaml
. JSONP is
supported for JSON format with the
callback
parameter.
Pass a hostname instead of an IP address to the
/geoip
endpoint. The API will resolve
the hostname to an IP address and return geolocation
data for the resolved IP.
No API key required. Simply make HTTP GET requests to our endpoints. No authentication or registration needed to start using the service.
Yes, you can use our API in commercial projects under our fair-use policy. For higher volumes or SLA requirements, please contact us for enterprise options.
We support MaxMind and DB-IP providers. Check
available providers with
GET /geoip/providers
. Switch providers
using
POST
/geoip/switch-provider?provider=maxmind|dbip
or use the provider
parameter for
per-request selection.
Start using our free GeoIP API in seconds. No registration required.
Start Free — No API Key