Free & Paid GeoIP Services Comparison With Accuracy Tests – Updated for 2021

Once a novelty or even a fad, GeoIP services are now a must-have for any decent web-service. Although still far from something you can rely on 100% they are a great way to personalise content for users

There used to be only a few IP Address Geolocation – GeoIP services available, but as with everything these days we have choices. A lot of them. That’s great but does leave you with the question “Which GeoIP service should I choose? Which one is best for me”. You’ll have to answer that for your self, but our handy comparison table should help ease the pain. Don’t be blinded with “free”. Think a few steps ahead when choosing. The service should support you for at least a few months. Implementing a new one is far more costly than paying $19 per month.

Why (if at all) do I need a GeoIP service?

Since you’re reading this article, you obviously have some ideas on how to utilize the GeoIP data in your site or app. If you don’t and are just learning, we recommend looking into segmenting and personalization.

When someone visits your site, you don’t know anything about them. Besides the technical data describing their browser and its details, you don’t know anything about the user’s preferences, gender, age or anything similar that would give you a chance to offer a more personalized experience. That leads to a conclusion that the factor of metrics remains of essential importance through customizing your campaigns, tracking engagements and boosting your conversions, which is much more approachable if you have a tool like Hey Oliver by your side.

But in those beginning stages, you don’t have much except GeoIP data! With it, you can adjust a lot of things on the site to make the user feel more “at home”. This trend is growing and will become a norm in a year or two for all sites.

GeoIP services are a great way to turn boring data, and IPs really are boring, into something much more interesting. For instance; a table containing log data about who logged in and when is as boring as they get. But with the right GeoIP service, you can easily add information such as the country flag, location, browser info. A huge difference in user experience with just a few hours of work. WP Reset recently wrote a great article on how to use GeoIP to transform boring data, so check it out.

How do I implement these services into my app?

Sorry, not that kind of article – no code snippets here. But, we did include a link to the documentation of every service. Some are better than others, but all have various SDKs and response formats which ease implementation.

Still, before you start implementing any code to your site, make sure that you have the free Emergency Recovery Script ready. Just in case you do something wrong, you will be able to restore your site quickly. And instead of panicking, you’ll get a new chance to fix the mess before happening again.

We recommend JSON as the response format. It’s lightweight, universally supported, used by many and (more-less) human-readable which eases debugging.

Your programming language of choice is defined by other things so don’t change it just for the sake of an SDK being available or not. As for the response format, we recommend JSON. It’s lightweight, universally supported, used by many and (more-less) human-readable which eases debugging. Examples are available for almost all services so have a look before you make a final decision. If you’re using PHP, IP Geolocation may be the easiest solution as they have a PHP SDK, jQuery SDK and a dedicated Laravel SDK as well.

Service Free Limit Requires Registration Response Formats SDK / Libraries Documentation IP ver PRO DB Download
IP Geolocation 50,000 per month JSON PHP, jQuery, Laravel, JavaScript, TypeScript, Java and C# open IPv4 & IPv6 from $10 per month for 150,000 requests/month
Abstract IP Geolocation API 20,000 per month JSON cURL, Javascript, jQuery, NodeJS, Python, Ruby, Java, PHP, Go, Postman open IPv4 & IPv6 from $9 per month for 200,000 requests per month
IP Find 300 per day JSON Curl, Ruby, PHP, C#(.Net), Python open IPv4 from $10 per month for 5,000 requests/day
GeoIP Nekudo no limit JSON, JSONP n/a open IPv4 & IPv6
IP-API 150 per minute XML, JSON, CSV, Newline Separated, Serialized PHP n/a open IPv4 & IPv6 from $45 for 3 months for unlimited queries
DB IP 2,500 per day JSON PHP, Java open IPv4 & IPv6 from $12.5 per month for 50,000 queries
ipstack 10,000 per month JSON and JSONP PHP, JavaScript open IPv4 & IPv6 from $9.99 per month
Snoopi 1 per second JSON PHP, Python open n/a from $4.95
The Easy API 50 per day n/a CURL, PHP, JAVA open n/a $5 per month for 500 per day
PetaByet n/a JSON n/a open IPv4 & IPv6
IPinfo.io 50,000 per day JSON, JSONP, CSV, TXT CLI, PHP, Python, Perl, Java, C#, Ruby, Go, Rust, NodeJS, Erland, Django, Laravel, Rails open IPv4 & IPv6 From $49 per month for 250,000 requests
GeoIP DB n/a JSON, JSONP jQuery, PHP, C# .NET open n/a
IP Info DB 2 per second Raw, JSON, XML PHP, Javascript, Ruby, Python and ASP. open IPv4 & IPv6
GEO Plugin 120 per minute JSON, XML JS, PHP, ASP open n/a
GeoIP Fair use policy JSON and JSONP n/a open IPv4 & IPv6
Smart IP 5,000 per day XML, JSON n/a open IPv4 & IPv6 contact for more options
MaxMind free trial JSON PHP, Python, Perl, Java, JS, C# .NET open IPv4 & IPv6 from $0.0001 per request
IP2Location 200 per day JSON, XML, text C, PHP, Perl, Ruby, Phython. Apache, Nginx, Node.js, Cocoa open IPv4 & IPv6 from $49 for 100,000 requests
VPN Mentor n/a n/a n/a n/a IPv4, IPv6, domain name n/a

How accurate is the data? Can I trust it?

Accuracy of GeoIP services varies a lot! Have that in mind before you completely depend on data they provide.

GeoIP services’ accuracy ranges from “wow, how do they know” to “are you stupid, I’m nowhere close to that” – as confirmed by our tiny test. Although some services gloat with various (high) accuracy numbers, the most honest answer is “your mileage may vary”. On a country level, the data is very accurate. It’s easily in the 99 percentile. That data is used by many companies to block access to content on a per-country level. Country region or state data is also very accurate, especially for larger countries and for the USA. Again, this is something you can safely rely on and is widely used.

Going below the state level into regions, cities and even deeper – city blocks, is where things get tricky and often extremely unreliable. A lot of factors are at play, but one of the most problematic ones is the mobile users. Telecom companies register batches of IPs in their headquarters in town A. You use that IP from your mobile device while living in town B. What does GeoIP report? Town A of course because it bases its answer solely on your IP. As the number of mobile users grows, the accuracy of data decreases. The issue is more a concept/technology problem than something that GeoIP services can fix.

Service Test IP #1 – 73.189.123.18 Test IP #2- 91.128.103.196 Test IP #3- 79.112.170.39
Physical Location Brentwood, California, USA – cable Croatia – 4G Suceava, Romania – cable
IP Geolocation Brentwood, California, United States, North America Zagreb, City of Zagreb, Croatia, Europe Suceava, Suceava, Romania, Europe
Abstract IP Geolocation API Brentwood, California, United States, North America, Cable/DSL Zagreb, City of Zagreb, Croatia, Europe, Cellular Suceava, Suceava, Romania, Europe, Cable/DSL
IP Find Discovery Bay, California, United States, North America Zagreb, City of Zagreb, Croatia, Europe Suceava, Suceava, Romania, Europe
GeoIP Nekudo Discovery Bay, United States Zagreb, Croatia Suceava, Romania,
IP-API Brentwood, California, United States Zagreb, City of Zagreb, Croatia Suceava, Suceava, Romania
DB IP San Jose, California, Santa Clara County, United States London, Greater London, England, UK, Europe Suceava, Municipiul Suceava, Romania, Europe
ipstack Brentwood, California, United States, North America Zagreb, City of Zagreb, Croatia, Europe Suceava, Suceava, Romania, Europe
Snoopi Discovery Bay, California, United States Zagreb, City of Zagreb, Croatia Suceava, Suceava, Romania
The Easy API n/a n/a n/a
PetaByet Discovery Bay, California, United States, North America Austria, Europe Suceava, Suceava, Romania, Europe
IP Info Discovery Bay, California, United States Zitnjak, Grad Zagreb, Croatia Suceava, Suceava, Romania
GeoIP DB Pinole, California, United States Sweden Suceava, Suceava, Romania
IP Info DB Stockton, California, US Varazdin, Varazdinska zupanija, Croatia Suceava, Suceava, Romania
GEO Plugin Discovery Bay, California, United States Sweden Suceava, Suceava, Romania
GeoIP Pinole, USA Schweden Suceava, Romania
Smart IP n/a n/a n/a
MaxMind Discovery Bay, California, United States, North America Zagreb, City of Zagreb, Croatia, Europe Suceava, Suceava, Romania, Europe
IP2Location Stockton, California, United States Varazdin, Varazdinska zupanija, Croatia Suceava, Suceava, Romania
VPN Mentor Antioch, California, United States Zagreb, Grad Zagreb, Croatia Suceava, Suceava, Romania

Just tell me which service to use!

If you need geoIP data for anything more than playing around, testing and just seeing how things work do not use free-only services. You need to be able to upgrade to a higher number of API calls as your service grows and be able to contact support and hold somebody reliable for the service they provide. Those things only come with a premium, paid service.

Our preferred provider is IP Geolocation. We use their services on a lot of apps and sites including this one, as they offered the best service. You can always sign up to the free plan to test out the service, and upgrade to any of the PRO plans if you need more requests on a monthly basis.

What’s new in 2019?

This is not exactly a field where exciting things happen. As in any business some services just died, so we removed them from our comparison table, and most kept providing a stable, behind-the-scenes service. We did, however, see a trend in combining multiple data streams and APIs into one unified API as IP Geolocation did by adding weather information to the geoIP data set. A very nice touch.

Have a Look at These Articles Too

Published on August 15, 2017 by Gordan; modified on August 20, 2021. Filed under: , .

Gordan runs Web Factory Ltd and has over a decade of WordPress development experience. When not wrangling code, he loves writing about WordPress, and he's always thinking about the next WP project to get involved with. Check out his latest one - WP Reset.

25 Replies to “Free & Paid GeoIP Services Comparison With Accuracy Tests – Updated for 2021”

  1. Does geoip-db have any request limit per second or minute? ip-api is good and accurate but their free plan has a limit of 150 per minute. I need a free plan for unlimited, can you recommend please?

  2. Excellent research…
    I think, which type of service you should use, depends upon your need. If you want a vast updated database, least latency, high accuracy up to 99.9% at the country level in economic price, ipgeolocation.io is the better option to use. It has also 45000 free requests per month/1500 per day plan for their customer.

Leave a Reply