IMPORTANT INFORMATION

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

Connect on RapidAPI

API Endpoints

IP (Get IP address in plain text format)

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:

Usage example (Shell script):
#!/bin/sh

ip=$(curl -s https://www.telize.com/ip)
echo "My IP address is: $ip"
Output example:

IPv4 address:

46.19.37.108

IPv6 address:

2a02:2770::21a:4aff:feb3:2ee

JSON IP (Get IP address in JSON format):

Returns the visitor IP address (IPv4 or IPv6) in a JSON object.

Usage example:
<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>
Usage example (jQuery):
<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>

GeoIP (Get IP address location in JSON format):

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:

Usage example:
<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>
Usage example (jQuery):
<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>

JSON Output Schema

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.

Output example:
{
  "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)"
}

Errors

Client Errors

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

This site is valid HTML5 and CSS 3