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?


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 '11 at 18:04
  • Glad to hear it worked for you! – Sasa Ivetic Apr 10 '11 at 0:06
  • Sadly: " We are apologized that we no longer provide database download. " – Jeremy Logan Sep 14 '12 at 14:08
  • Both pages linked are giving errors. – PolyGeo Feb 8 '20 at 11:06

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

  • 1
    SimpleGeo shut down 4/1/2012. – runako Apr 1 '12 at 18:16
  • 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 – RyanKDalton Feb 7 '13 at 18:43
  • This link is giving a security warning. – PolyGeo Feb 8 '20 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.

  • It seems to only have a paid version - is this correct? – djq Mar 1 '12 at 22:07
  • 1
    It was free before, now it is paid only, but it worth. – Lucian Jan 11 '13 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.


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, privacy policy and cookie policy

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