Sample code for 30+ languages & platforms
C#

ipinfo.io IPv4 Geolocation Lookup

See more Geolocation Examples

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

Chilkat C# Downloads

C#
bool success = false;

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

Chilkat.Http http = new Chilkat.Http();

http.Login = "ACCESS_TOKEN";
http.Password = "";
http.Accept = "application/json";

// Lookup an IPv4 address: 149.250.207.170  (this was a randomly chosen address)
string jsonStr = http.QuickGetStr("https://ipinfo.io/149.250.207.170");
if (http.LastMethodSuccess == false) {
    Debug.WriteLine(http.LastErrorText);
    return;
}

Chilkat.JsonObject json = 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

// Note: This is the output for the free trial account.
// 
// {
//   "ip": "149.250.207.170",
//   "city": "",
//   "region": "",
//   "country": "DE",
//   "loc": "51.2993,9.4910",
//   "org": "AS15854 EntServ Deutschland GmbH"
// }

// A full response would look like this:

// {
//   "ip": "66.87.125.72",
//   "hostname": "66-87-125-72.pools.spcsdns.net",
//   "city": "Southbridge",
//   "region": "Massachusetts",
//   "country": "US",
//   "loc": "42.0707,-72.0440",
//   "postal": "01550",
//   "asn": {
//     "asn": "AS10507",
//     "name": "Sprint Personal Communications Systems",
//     "domain": "spcsdns.net",
//     "route": "66.87.125.0/24",
//     "type": "isp"
//   },
//   "company": {
//     "name": "Sprint Springfield POP",
//     "domain": "sprint.com",
//     "type": "isp"
//   },  
//   "carrier": {
//     "name": "Sprint",
//     "mcc": "310",
//     "mnc": "120"
//   }
// }
// 
string ip;
string hostname;
string city;
string region;
string country;
string loc;
string postal;
string asnAsn;
string asnName;
string asnDomain;
string asnRoute;
string asnType;
string companyName;
string companyDomain;
string companyType;
string carrierName;
string carrierMcc;
string carrierMnc;

ip = json.StringOf("ip");
hostname = json.StringOf("hostname");
city = json.StringOf("city");
region = json.StringOf("region");
country = json.StringOf("country");
loc = json.StringOf("loc");
postal = json.StringOf("postal");
asnAsn = json.StringOf("asn.asn");
asnName = json.StringOf("asn.name");
asnDomain = json.StringOf("asn.domain");
asnRoute = json.StringOf("asn.route");
asnType = json.StringOf("asn.type");
companyName = json.StringOf("company.name");
companyDomain = json.StringOf("company.domain");
companyType = json.StringOf("company.type");
carrierName = json.StringOf("carrier.name");
carrierMcc = json.StringOf("carrier.mcc");
carrierMnc = json.StringOf("carrier.mnc");