Sample code for 30+ languages & platforms
VB.NET

ipdata.co IPv4 Geolocation Lookup

See more Geolocation Examples

Demonstrates how to lookup Geolocation data for an IPv4 address using the ipdata.co API.

Chilkat VB.NET Downloads

VB.NET
Dim success As Boolean = False

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

Dim http As New Chilkat.Http

Dim jsonStr As String = http.QuickGetStr("https://api.ipdata.co/149.250.207.170?api-key=MY_API_KEY")
If (http.LastMethodSuccess = False) Then
    Debug.WriteLine(http.LastErrorText)
    Exit Sub
End If


Dim json As New Chilkat.JsonObject
json.EmitCompact = False
success = json.Load(jsonStr)

Debug.WriteLine(json.Emit())

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

' {
'   "ip": "149.250.207.170",
'   "is_eu": true,
'   "city": null,
'   "region": null,
'   "region_code": null,
'   "country_name": "Germany",
'   "country_code": "DE",
'   "continent_name": "Europe",
'   "continent_code": "EU",
'   "latitude": 51.2993,
'   "longitude": 9.491,
'   "asn": "AS15854",
'   "organisation": "EntServ Deutschland GmbH",
'   "postal": null,
'   "calling_code": "49",
'   "flag": "https://ipdata.co/flags/de.png",
'   "emoji_flag": "\ud83c\udde9\ud83c\uddea",
'   "emoji_unicode": "U+1F1E9 U+1F1EA",
'   "languages": [
'     {
'       "name": "German",
'       "native": "Deutsch"
'     }
'   ],
'   "currency": {
'     "name": "Euro",
'     "code": "EUR",
'     "symbol": "\u20ac",
'     "native": "\u20ac",
'     "plural": "euros"
'   },
'   "time_zone": {
'     "name": "Europe/Berlin",
'     "abbr": "CEST",
'     "offset": "+0200",
'     "is_dst": true,
'     "current_time": "2019-04-20T23:54:30.715507+02:00"
'   },
'   "threat": {
'     "is_tor": false,
'     "is_proxy": false,
'     "is_anonymous": false,
'     "is_known_attacker": false,
'     "is_known_abuser": false,
'     "is_threat": false,
'     "is_bogon": false
'   },
'   "count": "2"
' }

Dim ip As String
Dim is_eu As Boolean
Dim city As String
Dim region As String
Dim region_code As String
Dim country_name As String
Dim country_code As String
Dim continent_name As String
Dim continent_code As String
Dim latitude As String
Dim longitude As String
Dim asn As String
Dim organisation As String
Dim postal As String
Dim calling_code As String
Dim flag As String
Dim emoji_flag As String
Dim emoji_unicode As String
Dim currencyName As String
Dim currencyCode As String
Dim currencySymbol As String
Dim currencyNative As String
Dim currencyPlural As String
Dim time_zoneName As String
Dim time_zoneAbbr As String
Dim time_zoneOffset As String
Dim time_zoneIs_dst As Boolean
Dim time_zoneCurrent_time As String
Dim threatIs_tor As Boolean
Dim threatIs_proxy As Boolean
Dim threatIs_anonymous As Boolean
Dim threatIs_known_attacker As Boolean
Dim threatIs_known_abuser As Boolean
Dim threatIs_threat As Boolean
Dim threatIs_bogon As Boolean
Dim count As String
Dim i As Integer
Dim count_i As Integer
Dim name As String
Dim native As String

ip = json.StringOf("ip")
is_eu = json.BoolOf("is_eu")
city = json.StringOf("city")
region = json.StringOf("region")
region_code = json.StringOf("region_code")
country_name = json.StringOf("country_name")
country_code = json.StringOf("country_code")
continent_name = json.StringOf("continent_name")
continent_code = json.StringOf("continent_code")
latitude = json.StringOf("latitude")
longitude = json.StringOf("longitude")
asn = json.StringOf("asn")
organisation = json.StringOf("organisation")
postal = json.StringOf("postal")
calling_code = json.StringOf("calling_code")
flag = json.StringOf("flag")
emoji_flag = json.StringOf("emoji_flag")
emoji_unicode = json.StringOf("emoji_unicode")
currencyName = json.StringOf("currency.name")
currencyCode = json.StringOf("currency.code")
currencySymbol = json.StringOf("currency.symbol")
currencyNative = json.StringOf("currency.native")
currencyPlural = json.StringOf("currency.plural")
time_zoneName = json.StringOf("time_zone.name")
time_zoneAbbr = json.StringOf("time_zone.abbr")
time_zoneOffset = json.StringOf("time_zone.offset")
time_zoneIs_dst = json.BoolOf("time_zone.is_dst")
time_zoneCurrent_time = json.StringOf("time_zone.current_time")
threatIs_tor = json.BoolOf("threat.is_tor")
threatIs_proxy = json.BoolOf("threat.is_proxy")
threatIs_anonymous = json.BoolOf("threat.is_anonymous")
threatIs_known_attacker = json.BoolOf("threat.is_known_attacker")
threatIs_known_abuser = json.BoolOf("threat.is_known_abuser")
threatIs_threat = json.BoolOf("threat.is_threat")
threatIs_bogon = json.BoolOf("threat.is_bogon")
count = json.StringOf("count")
i = 0
count_i = json.SizeOfArray("languages")
While i < count_i
    json.I = i
    name = json.StringOf("languages[i].name")
    native = json.StringOf("languages[i].native")
    i = i + 1
End While