What is the best way of geocoding IP addresses?

I have ~ 10,000 - 30,000 addresses to geocode once. The IP addresses are from all over the world and I only want the Long/Lat. Accuracy to the city level is not essential, but ideally it would be within 10-20 km.

Searching around I saw MaxMind which seems like a good option, but before I download and frequent myself with their API, are there any other recommended alternatives out there?

7 Answers 7


IPInfoDB can be used. They don't have a query limit, but they will throttle you to 1 response/sec if you request too frequently.

Alternately, if you feel like writing a little bit more code, you can download their database and run the batch queries yourself. I can't imagine it'd take long to set up, and it will process your 30k IP addresses quite quickly.

  • Thanks @Sasa, this is what I used. I downloaded their database and used that to process my data. It is amazing that it is free for non-commercial use!
    – djq
    Apr 9, 2011 at 18:04
  • Glad to hear it worked for you! Apr 10, 2011 at 0:06
  • 1
    Sadly: " We are apologized that we no longer provide database download. " Sep 14, 2012 at 14:08
  • Both pages linked are giving errors.
    – PolyGeo
    Feb 8, 2020 at 11:06

I have heard about simplegeo api https://simplegeo.com/docs/api-endpoints/simplegeo-context May work for you

  • 2
    SimpleGeo shut down 4/1/2012.
    – runako
    Apr 1, 2012 at 18:16
  • 1
    January 12th, 2012: After SimpleGeo was acquired by Urban Airship in Oct 2011, Urban Aiship said “wind down the availability of the current versions of [SimpleGeo's] Places, Context, and Storage over the next few months.”...The target date for pulling the plug officially will be March 31, 2012. Link Feb 7, 2013 at 18:43
  • This link is giving a security warning.
    – PolyGeo
    Feb 8, 2020 at 11:07

google analytics has ip located on a map. I wonder if it could be found in codeplex anywhere?
geocoding-net having the GeoPluginIPGeoCoder();
Also mentioned an issue with the plugin and aquisition of the dat file from... not free geolitecity from Maxmind


If you don't want to lose time installing a database that will eat up your resources, you can use an online API. I am using http://www.ipgp.net/ip-address-geolocation-api/ and it let you to query up to 1m IP Addresses.

  • 1
    It seems to only have a paid version - is this correct?
    – djq
    Mar 1, 2012 at 22:07
  • 1
    It was free before, now it is paid only, but it worth.
    – Lucian
    Jan 11, 2013 at 11:07

I would say the best way is to use an online API. Managing a database on your end is a PAIN! Trust me, I've been there and IP locations change all the time so you'd have to update your database on the regular. With an online API they do all of that work for you.

I've been using an online API at https://www.zipcodeservices.com. I get 100,000 queries a year for $25.99 a month and not throttling of requests. It's pretty straight forward and is always up and working.

If I need more requests a year, they have different service plans that you could easily migrate up to.


For a one-time job maybe this bulk IP lookup service by whoisxmlapi can be good. It’s basically a simple GUI option that collects data from their database. I used it to look up around 45,000 IPs inputting a CSV file and it worked fine and spared the API setup. I believe the limit is 100K per query and you’ll need your IPs in a CSV file for geocoding. They claim to have good accuracy down to the city level and their data include long / lat (like many services out there in 2021). Note that it is a paid service if you need to look up more than 1000 addresses monthly.


If you can quickly build your own database by sourcing freely available data then you can go with that option. The only downside is you will have to compromise on the accuracy of the database.

The other option, as presented by others, is using free/paid IP geolocation APIs. Since the time this question was posted, many new IP geolocation providers have emerged in the space to provide better IP geolocation APIs.

I would recommend trying out BigDataCloud's IP geolocation APIs which provides 10K per month for free without any limit on throttling. Their pricing per additional monthly 10K quotas is only $2.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.