Sample code for 30+ languages & platforms
Swift

ip-api.com IPv4 Geolocation Lookup

See more Geolocation Examples

Demonstrates how to lookup Geolocation data for an IPv4 address using the ip-api.com API.

Chilkat Swift Downloads

Swift

func chilkatTest() {
    var success: Bool = false

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

    let http = CkoHttp()!

    // Lookup an IPv4 address: 149.250.207.170  (this was a randomly chosen address)
    var jsonStr: String? = http.quickGetStr(url: "http://ip-api.com/json/149.250.207.170")
    if http.lastMethodSuccess == false {
        print("\(http.lastErrorText!)")
        return
    }

    let json = CkoJsonObject()!
    json.emitCompact = false
    success = json.load(json: jsonStr)

    print("\(json.emit()!)")

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

    // {
    //   "as": "AS15854 Hewlett Packard GmbH",
    //   "city": "B�blingen",
    //   "country": "Germany",
    //   "countryCode": "DE",
    //   "isp": "Triaton Frankfurt",
    //   "lat": 48.6779,
    //   "lon": 8.97297,
    //   "org": "EntServ Deutschland GmbH",
    //   "query": "149.250.207.170",
    //   "region": "BW",
    //   "regionName": "Baden-W�rttemberg",
    //   "status": "success",
    //   "timezone": "Europe/Berlin",
    //   "zip": "71034"
    // }

    var as: String?
    var city: String?
    var country: String?
    var countryCode: String?
    var isp: String?
    var lat: String?
    var lon: String?
    var org: String?
    var query: String?
    var region: String?
    var regionName: String?
    var status: String?
    var timezone: String?
    var zip: String?

    as = json.string(of: "as")
    city = json.string(of: "city")
    country = json.string(of: "country")
    countryCode = json.string(of: "countryCode")
    isp = json.string(of: "isp")
    lat = json.string(of: "lat")
    lon = json.string(of: "lon")
    org = json.string(of: "org")
    query = json.string(of: "query")
    region = json.string(of: "region")
    regionName = json.string(of: "regionName")
    status = json.string(of: "status")
    timezone = json.string(of: "timezone")
    zip = json.string(of: "zip")

}