Have you ever wondered how profitable websites and apps you use regularly or every once in a while can give you ads, suggestions, and content that is strangely specific to your location without you ever providing them with that information? Don’t worry; you didn’t get hacked and are not being followed. Those websites and apps can obtain your location thanks to something called geolocation.
Sometimes, when your geolocation is being obtained, you will be asked to give your consent first. Sometimes you won’t, it all depends on the technique that was used to get it. We will talk about the different methods a bit later. First, we’ll start by talking about what exactly is geolocation.
What is GeoLocation?
Geolocation, as its name suggests, is a geographical location of a device connected to the internet like a laptop, desktop, phone, smartwatch, etc. Although it might seem like something a bit intrusive, geolocation services weren’t intended to be used for any malicious purposes. Geolocation services are used almost every industry from retail and travel to government, law enforcement, banking, cybersecurity, and so many more. To give you a better understanding of how and why it’s used in all these industries, here are a few specific use cases.
Geolocation services could be used by businesses that are dealing with customer service to personalize and improve the user experience for their customer. For example, having a customer redirected to a product page that has been modified specifically to their location by converting the prices to the local currency, changing the display language to the local language, and showing them notifications for sales and discounts at stores close to them. Using geolocation browsers can display location-specific content and ads in the search results. News sites can send updates on local events, weather alerts, and other location-specific notifications.
While you’re traveling, geolocation services are what helps you find your way in a new setting and allows tourism-related sites/apps to give you more relevant suggestions for places to stay at and visit. All the check-ins and tags you make on social media during your travels are possible thanks to geolocation.
The more serious uses of geolocation include flying drones, tracking individuals on house arrest, monitoring suspicious online transactions like money laundering, illegal trade, credit card theft, and so on.
Geolocation is also a precious asset for cybersecurity experts who use it for locating the source of a cybersecurity attack or data breach. Now, how do all these businesses, organizations, and services get ahold of this information? In two ways.
Server-based and device-based data collection.
Server-based data collection is buying geolocation information from third-party services that have acquired databases full of it through years of mapping IP address to specific geographical locations.
Device-based data collection is done through GPS, Network-based Geolocation, and HTML Geolocation.
GPS uses a chip in your device that communicates with satellites orbiting Earth and can guess a location up to 5 meters of precision.
HTML GeoLocation is an API within the HTML language through which a developer can obtain the geolocation of a device.
Network-based geolocation is a method of getting an estimated location of a device by pinging nearby cell towers.
If you’re asking yourself whether you can incorporate geolocation services in your website or app, yes, you can, and straightforwardly, using a geolocation API. A geolocation API is a toolset that will enable you to configure your website or app based on the location of each user. Most APIs use server-based data collection for obtaining geolocation information. Then, it presents that information to you in a JSON or XML format. Since the market for geolocation APIs is pretty significant, you might have a hard time knowing which API is worth an investment.
To help you at least narrow down your list of possible choices, we will dedicate the rest of this article to presenting you with the ten best Geolocation APIs you might want to check out. So let’s start.
Geolocation API by WhoAPI
The Geolocation API by WhoAPI is a service with access to the biggest geolocation databases in the world. This is why it firmly holds the number one spot on this list. When you insert an IP address into this API, you will receive all the necessary geolocation information for that IP address. Still, if you enter a domain name, you will also get the geolocation information for the server that hosts that domain.
This API will enable you to tailor the offers and the display language of your site/app based on the location the API got from the user’s IP address. It can also help to stop credit card fraud from ever happening on the site/app. The results of a request made using this API can be in either JSON or XML format, and to make a request, the only necessary parameters are the request type, your API key, and an IP address or domain name (including its TLD).
To start using this API service, you can choose between 5 different price plans, which all come with the same features, just different request limits. The cheapest plan allows 20,000 requests a month for only $9. If none of these suit your needs, WhoAPI is willing to upgrade their services for you so they can become a better fit. Also, all longtime users are eligible to receive a discount for WhoAPI’s services.
IPInfo.io is an API service used by over 100,000 businesses and developers who make around 12 billion API requests a month. The response you get after making a request using IPInfo.io will, by default, contain the latitude and longitude, region, country, city, and zip code. Still, this location information is not the only thing you can find out using the IPInfo.io API.
You can find out network information like the Autonomous System Number and the ISP for which they claim to have the most accurate lookup service with data that is updated daily. A company’s name, type, and range of IP addresses can also be identified using this API based on just the company’s domain name. For IP addresses belonging to mobile devices, you will also get the name of the mobile carrier and country network code from a mobile network IP database, which is updated monthly. If you want to know the user type behind an IP, whether it’s a consumer, business, or hosting provider, that is possible as well.
While very powerful, this API is fast and easy to use. All the data you send to it is secured, and all of its information is regularly updated and backed up. The API can be used for free if the use is non-commercial and under 50,000 requests a month. If you want to use it for commercial purposes, you have three price plans to choose from, with the basic one starting at $49 a month and having a monthly request limit of 250,000.
IP2Location.com is a geolocation API service that boasts over 1 billion API calls thus far. It can be integrated into any software platform very quickly and will let you decide how detailed you want your IP geolocation database to be based on the service plan you choose. Its IP location lookup technology will not require any user permission for obtaining the data and will work for both IPv4 and IPv6 IP addresses.
For one IP address, this service will return the country, city, region, zip code, latitude and longitude, time zone, country code, area code, and weather station information. When it comes to network-specific details, it can find out the ISP, connection speed, domain name, mobile network code, carrier, and mobile country code. IP2Location also has a bulk service that will allow you to look up the geolocation info for more than one IP address at a time.
Its free demo account allows 200 requests a day, but to use the API on a larger scale, you can purchase it in the form of a web service, software component, or buy access to its database.
Ipgeolocation.io’s API has a database that contains 25 million IP blocks, and that is updated daily. The API itself can be divided into four modules.
- The IP location module
- Currency module
- Time zone module,
- The connection info module.
The IP location module provides you with the continent, country, county, capital, calling code, TDL, city, state zip code, local languages, latitude and longitude, and even the country flag info for one IP address. The currency module with the currency name, symbol, and code. The time zone module with the current date and time, time zone name, UCT/GMT offset, the activity status of daylight savings time, and the daylight saving in hours.
Finally, the connection info module with the ISP, type of connection, and the name of the company that bought the license for the IP address. Since this API also supports bulk lookup, using it, you can get information on up to 50 IPv4 or IPv6 IP addresses at once. The info the API provides you with can be in 6 different languages.
Six is also the number of different price plans this API comes in, all with different fees and request limits. The plan which allows free use, limits you to 30,000 requests a month.
Unlike other data providers, MaxMind collects its geolocation information, which is also why they can distribute it in downloadable databases. For looking up geolocations of IP addresses, they have four different database packages. The packages are:
- GeoIP2 Anonymous IP Database package (for detecting proxies, VPNs, and other anonymizers)
- Standard GeoIP2 database package
- GeoLite2 database package (a lite version of the standard package)
- GeoIP2 enterprise database package.
MaxMind also has a service called the GeoIP2 Precision Services that is supposed to give geolocation data for 7% more IPs on a postal code level and 3% more on a US city level than the databases we just mentioned, along with other information exclusive to this service. All the databases are high in volume, low in latency, automatically updated, and include localized names for selected locations.
In the GeoIP2 database package, better known as the standard package, you get the country, city, city by continent, ISP, domain name, and connection type databases. With this package, you also get a license for distributing the GeoLite2 database for one year without any fees. If you don’t want to purchase an entire database package, you don’t have to. You can buy any database you want individually or even set up a special licensing agreement that is suited to your needs.
This API gets over 100,000 clients and covers 2 million unique locations in more than 200,000 cities. It works in collaboration with large ISPs, which is how it can provide very current and accurate information for IPv4 and IPv6 IP addresses. This API can supposedly handle up to 1 million requests a month per user.
All the data you send to the API is, of course, protected by SSL encryption, and all the request results it sends you can be in JSON or XML format, whichever you prefer. This API is also divided into modules:
- Location module, which alone returns around 20 geolocation-related data points,
- Currency module,
- Time zone module,
- Connection module for ASN and ISP information,
- Security module for detecting proxies, for users and crawlers.
The lookup can be done in three methods, standard, bulk, and the lookup for the IP that is making the API request. The API comes in a free plan which allows 10,000 request per month and three other paid plans with request limits ranging from 50,000 to 2 million requests per month.
Besides being a geolocation API service for IPv4 and IPv6 IP addresses, ipapi.com is also a reverse API lookup service used by over 30,000 businesses all over the world. It can support up to several million requests a day, and all the data it returns for the requests is accurate data provided by some of the largest ISPs out there.
Each request can return more than 45 data points for one IP address. The data points can be divided into the location, time zone, currency, connection, and security categories with each category containing at least 5 data points each. Using the data received from ipapi.com, you can do content personalization, language redirection, currency detection, time zone lookup, and fraud prevention on your app or site.
Also, setting up this API won’t take longer than 10 minutes, thanks to its super simple design. For free, you can make 10,000 requests per month on ipapi.com. If you want to make more requests, you have three price plans available, the cheapest one starting at $10, and allowing 50,000 requests a month.
This API uses large databases that are updated in real-time and hold data in 7 different languages. Its servers are high-speed and secure. Secure is also all the data you send to the API thanks to SSL encryption.
Geolocation information can be obtained, individually or in bulk, for both IPv4 and IPv6 IP addresses as well as domain names. The results from the requests can be in XML, JSON, or newline format, and you can make 10,000 requests per month for absolutely free (for non-commercial purposes). Besides the location data, using ipwhois.io, you can get time zone and currency data too.
To use this API for commercial purposes or to make more than 10,000 requests a month, you can choose one of the three price plans. The least expensive plan has a monthly fee of $10 and allows a whopping 1 million requests a month.
The db-ip.com claims to have had over 121 billion requests made to its geolocation API thus far, with that number continuously growing. Every request you make to the API is sent to the nearest server thanks to anycast routing, so the results are delivered in the shortest time possible. All the results come from databases that hold data from several reliable sources a.k.a. large ISPs.
Their geolocation API has data for both IPv4 and IPv6 IP addresses covering over 1.5 million locations in approx. 200,000 cities. The API supports localization in more than 50 languages and conversion to over 50 currencies. Besides location information, this API will give you a threat level assessment for every IP address so you can stop cyberattacks from ever happening on your site/app. The API comes with the option to download geolocation data in a CSV format and a dashboard through which you can monitor your API usage and analyze historical data.
For free, you can make 1000 requests a day, but if you want to use the API to make even more requests, you have to purchase the API in one of the three following versions. The IP Address Geolocation API for detailed geolocation data, the Core IP API, for detailed geolocation and connection data, and the Extended IP Geolocation API, for detailed geolocation, connection data, and sensitive security data.
Just like the majority of the APIs we mentioned thus far, this one can give you more than just geolocation data. It can give you valuable security data by checking if the IP is present on any OSINT threat feed or if a VPN or proxy is being used, as well as basic company and usage type data.
The data this API uses is updated every 15 minutes and comes from hundreds of different sources. API requests can be made for IPv4 and IPv6 IP addresses and will return around 40 data points. For non-commercial use, you are allowed to make 1500 requests a day. For more requests and commercial use, there are four price plans available with request limits ranging from 2500 to 100,000 requests a day and an Enterprise plan, which is a solution you can tailor specifically to your needs.
Hopefully, by reading this article you got a better understanding of what geolocation is, how it’s used, when it’s used, and that it is a service that will help any online business make their site/app more personalized for their consumers and better protected against fraud attempts and cybersecurity attacks.
In this article, we presented you with 10 great geolocation API options, but if you want to know which one we would go for, it would be the Geolocation API by WhoAPI. We found that out of all the mentioned APIs, this one is the most easy-to-use, covers both IP address and domain names, provides you with detailed documentation, and gives you access to all the same features regardless if you pick the least expensive or most expensive price plan. So when it comes to our honest recommendation, Geolocation API by WhoAPI it is.