9 best IP geolocation APIs for Apple developers
IP geolocation is widely used to support a wide variety of use cases, from content localization to e-commerce and cybersecurity. By matching an IP address with data provided by ISPs (Internet Service Providers) using IP lookup, it becomes possible to locate the physical location of a user. It may not be 100% accurate in all cases, but it should be very close. Some IP geolocation services can also detect attempts to bypass this location by using proxies, VPNs (Virtual Private Networks), and TOR (anonymizers). This can be important because, while these tools have legitimate purposes, they can also be used in cybercrime.
While Safari is an HTML5 compatible browser, there are nuances to Safari that other browsers may not have:
- Only Safari 5 or higher (2010) is compatible with HTML5
- iOS has a privacy option that can limit location accuracy:
- If activated, a general location is provided
- A user can be asked to provide their specific location, but does not have to consent
- The app can explain why it is asking for the exact location
- If permission has been granted, this can expire in 1 – 7 days
- In MacOS and iOS, Java has to be activated by the user or content that depends on it will not be loaded
All of this needs to be taken into account when developing your product. We also recommend choosing one of the top 9 IP geolocation APIs for Apple developers.
Abstract can obtain geospatial data from IPv4 and IPv6 addresses in real time. This includes the country, latitude / longitude, time zone and currency. It is able to output the data in XML format or JSON. The free API can support up to 20,000 API calls per month, with all functions available at all product levels. Higher levels support more calls and provide more data. A custom enterprise tier can support heavier use cases and provides SLAs for uptime. It has threat detection capabilities that make it possible to detect proxies, VPNs and TOR.
This is a REST API that can be implemented in Python, PHP and Ruby. All of these appear to be compatible with Apple operating systems, but take the time to review before implementing.
Big data cloud can obtain location data from visitors with fast response times. The data includes country and country code, currency, city, latitude / longitude, and more. All tiers support up to 10,000 free IP geolocation API returns per month. The price for additional blocks of 10,000 requests is 2-3 Australian dollars. Although only the top tier has threat detection, it detects a wide variety of threats including TOR, proxies, VPNs, BOGON (illegitimate IP addresses), and more.
ipdata can provide geolocation information including country code and country flag, region code, calling code, and ASN (ISP) code. The free plan supports up to 1,500 API requests per day for non-commercial use cases. Location data and threat data are available in all five paid tiers. Threats such as TOR, proxies, BOGON, VPNs and known threats can be detected.
ipstack can detect a user’s location by obtaining geospatial data such as city, latitude / longitude, time zone and currency. However, some data is not available on the free plan, which supports 5,000 API requests per month. Off-site data is only available in the paid tiers starting at $ 9.99 per month. The ability to detect proxies, crawlers, TOR and assign threat levels is available in the top two levels.
This web service is able to obtain geolocation data including post code or post code, latitude / longitude, local weather station and altitude. This API lets you buy credits and then assign them as you see fit. A free trial is available. It can detect VPNs, TOR, and proxies, although the full suite of threat detection features requires a separate product.
This RESTful API can be implemented in PHP, Python, Ruby, and more. Java is also available, but the standard boilerplate warning about using Java on Apple applies.
This IP geolocation database API can determine a visitor’s location including continent, country name, currency and phone code. A limited trial version is available. Each of the three fee-based levels is divided into three levels that offer increasing functionality. Location data and the ability to discover proxies, crawlers, TOR, VPN and bots seem to be available at all levels.
Positionstack is able to obtain location information including country flag, currency, latitude / longitude and language. It can also provide embeddable cards from the first paid tier. The free plan supports up to 25,000 API requests per month. Paid tiers offer more and more data and API calls. It is not immediately clear which threat detection is supported, so you may need to inquire.
PHP, Python, Ruby and other code examples are available on the website and show the range of language options for implementing Positionstack. NodeJS and jQuery can prove to be unsuitable.
This IP geolocation API can specify city, zip code or zip code, connection type, latitude / longitude and more. The free API key supports up to 50,000 API requests per month. Paid tiers provide more and more data, with threat detection becoming available in the second paid tier. Full threat detection capabilities are included in a separate product.
This can be implemented in PERL, Python, Rust, and more. Java and NodeJS are also available, but the standard warning applies.
Maxmind’s GeoIP2 Precision Services can detect a visitor’s geographic location, including continent, country, city, ISP, and time zone. There is a free plan, but its functionality is limited and the data is less accurate. Each of the three paid levels costs a fraction of a US cent per API call. Unfortunately, location data that are more detailed than the country are only available in the second paid tier. Full threat detection capabilities are also included in a separate product.
Whether an IP geolocation API can provide the data you need for your business needs is rarely the issue. It is more likely that the amount of data is available at a reasonable price level and that related features such as threat detection are also available.
As you develop your website, service, or app, don’t forget the limitations with Safari and Apple operating systems. A user must and does not have to consent to the availability of their exact location. Even though we apologize if we hit the java drum too hard, it is important to understand. If a user never uses Java, they will never use a Java-dependent product. While a user may be asked to allow Java in any case, having to address another popup is a bad user experience.