IPInfoDB offer a wide range of free services, Web based IP geolocation lookup.
This Lookup displays the location of an IP address: city, state, country, latitude, longitude and timezone.
Click here to run this code.
Output:
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Ip>74.125.45.100</Ip>
<Status>OK</Status>
<CountryCode>US</CountryCode>
<CountryName>United States</CountryName>
<RegionCode>06</RegionCode>
<RegionName>California</RegionName>
<City>Mountain View</City>
<ZipPostalCode>94043</ZipPostalCode>
<Latitude>37.4192</Latitude>
<Longitude>-122.057</Longitude>
<Timezone>-5</Timezone>
<Gmtoffset>-4</Gmtoffset>
<Isdst>0</Isdst>
</Response>
Example of use:
<CFPARAM Name="ip" default="#CGI.REMOTE_ADDR#">
<cfhttp url="http://www.ipinfodb.com/ip_query.php?ip=#ip#" method="post">
<cfhttpparam type="formField" name="timezone" value="true">
</cfhttp>
<cfset strXML=cfhttp.fileContent>
<cfset XMLData = XmlParse(strXML)>
<cfset XMLHead = XMLData.Response>
<cfif XMLHead.Status.xmltext eq 'OK'>
<cfset ip = XMLHead.Ip.xmltext>
<cfset CountryCode = XMLHead.CountryCode.xmltext>
<cfset CountryName = XMLHead.CountryName.xmltext>
<cfset RegionCode = XMLHead.RegionCode.xmltext>
<cfset RegionName = XMLHead.RegionName.xmltext>
<cfset City = XMLHead.City.xmltext>
<cfset ZipPostalCode = XMLHead.ZipPostalCode.xmltext>
<cfset Latitude = XMLHead.Latitude.xmltext>
<cfset Longitude = XMLHead.Longitude.xmltext>
<cfset Timezone = XMLHead.Timezone.xmltext>
<cfset Gmtoffset = XMLHead.Gmtoffset.xmltext>
</cfif>

IP GeoLocation, API