The public API has been permanently shut down on November 15th, 2015. More information can be found here.
To continue using Telize after this date, please spin up your own instance or subscribe to a paid plan.
This service offers a REST API allowing to get a visitor IP address and to query location information from any IP address. It outputs JSON-encoded IP geolocation data, and supports both Cross-origin resource sharing (CORS) and JSONP.
For updates, follow Frederic on Twitter
The API powering this site is open source, and can be downloaded here or on GitHub
Returns the visitor IP address (IPv4 or IPv6) in plain text, useful for shell scripts or to find the external Internet routable address.
Alternatively, for more granularity when querying from a dual-stack environments, the following endpoints are available:
#!/bin/sh
ip=$(curl -s https://www.telize.com/ip)
echo "My IP address is: $ip"
IPv4 address:
46.19.37.108
IPv6 address:
2a02:2770::21a:4aff:feb3:2ee
Returns the visitor IP address (IPv4 or IPv6) in a JSON object.
<script type="application/javascript">
function getip(json){
document.write("My IP address is: ", json.ip);
}
</script>
<script type="application/javascript" src="https://www.telize.com/jsonip?callback=getip"></script>
<script type="application/javascript">
$(document).ready(function() {
$.getJSON("https://www.telize.com/jsonip?callback=?",
function(json) {
document.write("My IP address is: ", json.ip);
}
);
});
</script>
Calling the API endpoint without any parameter will return location information for the visitor IP address:
Appending an IP address as parameter will return location information for this IP address:
Example (JSONP): https://www.telize.com/geoip/46.19.37.108?callback=getgeoip
<script type="application/javascript">
function getgeoip(json){
document.write("Geolocation information for IP address: ", json.ip);
document.write("Country: ", json.country);
document.write("Latitude: ", json.latitude);
document.write("Longitude: ", json.longitude);
}
</script>
<script type="application/javascript" src="https://www.telize.com/geoip?callback=getgeoip"></script>
<script type="application/javascript">
$(document).ready(function() {
$.getJSON("https://www.telize.com/geoip?callback=?",
function(json) {
document.write("Geolocation information for IP address: ", json.ip);
document.write("Country: ", json.country);
document.write("Latitude: ", json.latitude);
document.write("Longitude: ", json.longitude);
}
);
});
</script>
The output is a JSON object containing the following elements:
Please note that the IP location database may not contain all information about a given IP. In this case, only the available data is displayed.
{
"ip": "193.0.6.139",
"continent_code": "EU",
"country": "Netherlands",
"country_code": "NL",
"country_code3": "NLD",
"is_in_european_union": true,
"region": "North Holland",
"region_code": "NH",
"city": "Amsterdam",
"postal_code": "1012",
"latitude": 52.3735,
"longitude": 4.8951,
"timezone": "Europe/Amsterdam",
"offset": 3600,
"asn": 3333,
"organization": "Reseaux IP Europeens Network Coordination Centre (RIPE NCC)"
}
When incorrect user input is entered, the server returns an HTTP 400 Error (Bad Request), along with a JSON-encoded error message.
HTTP Error | Code | Message |
---|---|---|
400 | 401 | Input string is not a valid IP address |