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");