Sample code for 30+ languages & platforms
Swift

ipapi.co IPv4 Geolocation Lookup

See more Geolocation Examples

Demonstrates how to lookup Geolocation data for an IPv4 address using the ipapi.co REST 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: "https://ipapi.co/149.250.207.170/json")
    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

    // {
    //   "ip": "149.250.207.170",
    //   "city": "B�blingen",
    //   "region": "Baden-W�rttemberg",
    //   "region_code": null,
    //   "country": "DE",
    //   "country_name": "Germany",
    //   "continent_code": "EU",
    //   "in_eu": true,
    //   "postal": null,
    //   "latitude": null,
    //   "longitude": null,
    //   "timezone": null,
    //   "utc_offset": null,
    //   "country_calling_code": "+49",
    //   "currency": "EUR",
    //   "languages": "de",
    //   "asn": "AS15854",
    //   "org": "EntServ Deutschland GmbH"
    // }

    var ip: String?
    var city: String?
    var region: String?
    var region_code: String?
    var country: String?
    var country_name: String?
    var continent_code: String?
    var in_eu: Bool
    var postal: String?
    var latitude: String?
    var longitude: String?
    var timezone: String?
    var utc_offset: String?
    var country_calling_code: String?
    var currency: String?
    var languages: String?
    var asn: String?
    var org: String?

    ip = json.string(of: "ip")
    city = json.string(of: "city")
    region = json.string(of: "region")
    region_code = json.string(of: "region_code")
    country = json.string(of: "country")
    country_name = json.string(of: "country_name")
    continent_code = json.string(of: "continent_code")
    in_eu = json.bool(of: "in_eu")
    postal = json.string(of: "postal")
    latitude = json.string(of: "latitude")
    longitude = json.string(of: "longitude")
    timezone = json.string(of: "timezone")
    utc_offset = json.string(of: "utc_offset")
    country_calling_code = json.string(of: "country_calling_code")
    currency = json.string(of: "currency")
    languages = json.string(of: "languages")
    asn = json.string(of: "asn")
    org = json.string(of: "org")

}