While working on a recent project for a client, I found myself in the need of a good and reasonably reliable Geolocation API to find out more about a user that visits your site.
So, I did a little research for currently available APIs and came up with somewhat an exhaustive list. That is what I plan to share today.
I would use a web service that can return JSON data. Below are all the free *active* IP lookup services I could find and the information they return. If you know of any more, then do add a comment below. If you own one, reach out to me through the contact form, I’d love to talk.
Remember FreeGEOIP.net? Well, it is now called IPStack. It has much better offerings, good enough free package, and affordable premium packages.
IPStack offers so much more inside the API response that has made me not only use IPStack for personal use but I also recommend you to take a look:
✅ Standard/Bulk/Requester lookups
💵 Currency-related data (name, symbol)
🌐 Connection-related data (Internet service provider)
🕖 Timezone-related data (daylight saving, GMT Offset)
📍 Comprehensive location-related data (languages, calling code)
⚙ Specify fields to only get the data you want and save bandwidth
💂♂️ Security-related data (Info on proxy, crawler, tor, threat level/type)
Just use this link https://api.ipstack.com/check?access_key=YOUR_ACCESS_KEY with the language of your choice to get all the details for more details, read the documentation →
100% uptime as reported by UpTimeRobot which is another signal of a good IP to GEO API service. API speed is pretty much unmatchable.
Extra data points:Location (languages, country flag SVG/emoji, calling code, also helps with GDPR by reporting is_eu as true/false), timezone (daylight saving, GMT Offset), currency (name, symbol), connection (ISP), and much more.
Security Module: Which can be used to assess risks and threats originating from certain IP addresses before any harm can be done to a website or web application. Info about proxy, crawler, tor, threat level/type — makes this service great at many levels.
SMB + Enterprise: IPStack is backed by a company named apilayer I already use their invoicing SaaS and a couple of other API services. It’s also trusted by enterprise companies like Microsoft, Airbnb, Samsung, and more. They can support millions of request per day.
Remember GeoIP Nekudo that used to require an IP Address parameter? Well, it is now ipapi.com — a fully-fledged IP Geolocation API platform capable of offering more than 45 data points for each processed IP address, including Time Zone data, Currency data, Language data, Connection data, and Risk Assessment data.
ipapi.com offers a vast range of features which puts it alongside the top recommendations I have for GEO IP API Location finding services. Let’s take a look:
🗃️ Bulk IP Requests
👀 Advanced IP Data
✅ ASN & ISP Lookup
💲 Currency Detection
🗣️ Language Detection
⏰ Timezone Detection
🏇 Faster Response Times
😎 Security & Fraud Prevention
Just use this link https://api.ipapi.com/api/check?access_key=YOUR_ACCESS_KEY with the language of your choice to get all the details for more details, read the documentation →
Extra data points:Location (languages, country flag SVG/emoji, calling code, timezone (daylight saving, GMT Offset), currency (name, symbol), connection (ISP), and much more.
Security Module: Which can be used to assess risks and threats originating from certain IP addresses before any harm can be done to a website or web application. Info about proxy, crawler, tor, threat level/type — makes this service great at many levels.
SMB + Enterprise: ipapi is trusted by some impressive enterprise companies like Wix, Gengo, uberflip, Obey and more.
IPInfo is another major player in the IP information niche. Since 2013 they have built a customer base of over 100,000 including npm, CBS, Dell, Vodafone and serve 12 Billion IP API requests per month. The company was founded by a former Facebook engineer Ben Dowling. IPInfo boasts an incredible amount of data sets and features as listed below:
Standard/Bulk/Requester lookups
Connection, Carrier related data
🏛️ ASN IP Operator related proprietary data
Comprehensive GeoIP data form an IPInfo self-built solution
Specify fields to only get the data you want and save bandwidth
100% uptime since it’s based on top of Amazon Web Services. The deployments are on a daily basis with Elastic Beanstalk. The API speed is pretty much unmatchable.
Data: Huge data sets for ASN, Carrier, etc can be very helpful in building content customization. Imagine targeting AT&T and T-Mobile users differently for your next ad campaign.
Enterprise Tested: IPInfo’s data has been sought by several enterprise companies, e.g. Tesla, Dell, TripAdvisor, and Xerox — which is a testament to how far they have come. Many SMB to Large-scale enterprise companies listed on the about page.
{
"geoplugin_request": "119.152.180.314",
"geoplugin_status": 200,
"geoplugin_credit": "Some of the returned data includes GeoLite data created by MaxMind, available from http://www.maxmind.com.",
"geoplugin_city": "Pakistan",
"geoplugin_region": "Pakistan ( general )",
"geoplugin_areaCode": "0",
"geoplugin_dmaCode": "0",
"geoplugin_countryCode": "PK",
"geoplugin_countryName": "Pakistan",
"geoplugin_continentCode": "AS",
"geoplugin_latitude": "31.5497",
"geoplugin_longitude": "103.855797",
"geoplugin_regionCode": "00",
"geoplugin_regionName": "Pakistan ( general )",
"geoplugin_currencyCode": "PKD",
"geoplugin_currencySymbol": "Rs.",
"geoplugin_currencySymbol_UTF8": "Rs.",
"geoplugin_currencyConverter": 1.4239
}
11 endpoints around the world, 4 in the US, 1 in Canada, 2 in Europe (London and Frankfurt), Mumbai, Seoul, Sydney and Sao Paulo. Being this global is a big plus.
2x Speed as compared to others. If you take a look at this data you can see that IPData.co is quite fast as compared to other IP API Services — this matters a lot if you’re building a commercial site.
Extra data points i.e. calling code, currency code, name, symbol, time_zone data, current time, UTC offset and the flag file & emoji flag.
Enterprise level threat data – Only for paid users but have pretty great threat intelligence data to check if an IP is a proxy, a known attacker, abuser, tor user or a bogon.
var ip = "39.45.220.245";
var api_key = "your_api_key";
$(function () {
$.ajax({
url: "https://geoipify.whoisxmlapi.com/api/v1",
dataType: "jsonp",
data: {
apiKey: api_key,
ipAddress: ip
},
success: function (data) {
console.log(JSON.stringify(data, "", 2));
}
});
});
Returns:
Result for 39.45.220.245
Country: PK
Region: Punjab
City: Sialkot
Latitude: 32.5101
Longitude: 74.54313
Postal code: 51260
Time zone offset by UTC: +05:00
Keep in mind that since these are all free services, your mileage may vary in terms of exceeding quota and uptime, and who knows when/if they will be taken offline down the road. Most of these services also offer a paid tier in case you want something more robust.
Takeaway my professional opinion about Open Source, JavaScript/Cloud, Full Stack Development, building a business, growing a family, and everything in between! Delivered to your inbox once a month. 🤣 I'm even funny some times. 👻 I hate spam! Pinky Promise!