Sample code for 30+ languages & platforms
Java

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 Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.Http;
import com.chilkatsoft.chilkat2.JsonObject;

public class ChilkatExample {

    public static void main(String[] args) {
        // This example requires the Chilkat API to have been previously unlocked.
        // See Global Unlock Sample for sample code.

        Http http = new Http();

        http.setLogin("ACCESS_TOKEN");
        http.setPassword("");
        http.setAccept("application/json");

        // Lookup an IPv4 address: 149.250.207.170  (this was a randomly chosen address)
        String jsonStr;
        try {
            jsonStr = http.quickGetStr("https://ipinfo.io/149.250.207.170");
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        JsonObject json = new JsonObject();
        json.setEmitCompact(false);
        json.load(jsonStr);

        System.out.println(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 = json.stringOf("ip");
        String hostname = json.stringOf("hostname");
        String city = json.stringOf("city");
        String region = json.stringOf("region");
        String country = json.stringOf("country");
        String loc = json.stringOf("loc");
        String postal = json.stringOf("postal");
        String asnAsn = json.stringOf("asn.asn");
        String asnName = json.stringOf("asn.name");
        String asnDomain = json.stringOf("asn.domain");
        String asnRoute = json.stringOf("asn.route");
        String asnType = json.stringOf("asn.type");
        String companyName = json.stringOf("company.name");
        String companyDomain = json.stringOf("company.domain");
        String companyType = json.stringOf("company.type");
        String carrierName = json.stringOf("carrier.name");
        String carrierMcc = json.stringOf("carrier.mcc");
        String carrierMnc = json.stringOf("carrier.mnc");
    }
}