Sample code for 30+ languages & platforms
Lianja

ip2location.io GeoLocation API

See more Geolocation Examples

Demonstrates how to lookup Geolocation data for an IPv4 address using the ip2location.io GeoLocation API.

Chilkat Lianja Downloads

Lianja
llSuccess = .F.

// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

loHttp = createobject("CkHttp")

// Note: This is not a real API key.  Replace with your own...
loHttp.SetUrlVar("api_key","2C312FBC9E667E5A0211F5152E5A1333")
loHttp.SetUrlVar("ip_address","8.8.8.8")

// Note: When first creating an ip2location.io account, make sure to at least subscribe to the free access.
// Otherwise your API key will not yet work..
lcJsonStr = loHttp.QuickGetStr("https://api.ip2location.io/?key={$api_key}&ip={$ip_address}&format=json")
if (loHttp.LastMethodSuccess = .F.) then
    ? loHttp.LastErrorText
    release loHttp
    return
endif

loJson = createobject("CkJsonObject")
loJson.EmitCompact = .F.
llSuccess = loJson.Load(lcJsonStr)

? loJson.Emit()

// Sample output:
// Use this online tool to generate parsing code from sample JSON: 
// Generate Parsing Code from JSON

// {
//   "ip": "8.8.8.8",
//   "country_code": "US",
//   "country_name": "United States of America",
//   "region_name": "California",
//   "city_name": "Mountain View",
//   "latitude": 37.405992,
//   "longitude": -122.078515,
//   "zip_code": "94043",
//   "time_zone": "-07:00",
//   "asn": "15169",
//   "as": "Google LLC",
//   "is_proxy": false
// }

lcIp = loJson.StringOf("ip")
lcCountry_code = loJson.StringOf("country_code")
lcCountry_name = loJson.StringOf("country_name")
lcRegion_name = loJson.StringOf("region_name")
lcCity_name = loJson.StringOf("city_name")
lcLatitude = loJson.StringOf("latitude")
lcLongitude = loJson.StringOf("longitude")
lcZip_code = loJson.StringOf("zip_code")
lcTime_zone = loJson.StringOf("time_zone")
lcAsn = loJson.StringOf("asn")
lcV_as = loJson.StringOf("as")
llIs_proxy = loJson.BoolOf("is_proxy")


release loHttp
release loJson