GEO IP API


Lookup any IP Address around the globe for fast City/Country Location information.

Free for commercial and non-commercial use, no signup/license/key required.

...
0%

TRUSTED BY CLIENTS

0%

FREE UPDATES

0%

UPCOMING FEATURES

0/5

RATED

Yes a Free, Geo Location IP API for your Applications!

Been looking for a free Geo IP location API for your applications? Well lucky you found us !

Hi, I'm Brett Deason a developer of a new e-commerce billing system called AutoBillMe. I started coding my billing system back in 2015 and since then I have seen many Geo IP location tools come and go. I had to keep updating my software to use new free API's and finally I just asked myself, why don't I setup my own free Geo IP location lookup website, and hence this website.

This service will remain free and available as long as AutoBillMe needs it, which should be a long time. You are free to use this API for your own applications, at no cost, simply follow the API Documentation instructions below.

Free

As much as is humanly possible, we will keep this service free. Of course if you want to support us, donations are also welcomed.

Accurate

The backend of this service uses maxmind.com's free GeoLite databases. While their accuracy is not perfect, in my experience they are remarkably good.

Simple

This service has been designed to be simple. Personally I'm not a fan of JSON formatted data, so for now this service responds in more humanly readable XML. JSON will come later.

Reliable

This service will be regularly maintained and monitored to ensure it's long term continued reliability.

API Documentation

Getting Started

Currently the free Geo IP API is very basic, we will add more features and options in the future. To make a request simply send the IP address in question to our API URL and we'll send back all the information we have for that IP address. All response fields returned are pretty self explanatory.

Currently you are not required to sign up with us, you can simply use it at will however we do have plans in the future to require all users to signup for a free account and use a license key that we provide. This is so we can keep better track of usage, to protect this free service from being abused. If necessary we may also introduce throttling for individual accounts (during peak periods) to ensure this service remains responsive. Finally if this service does experience extreme traffic and usage we may have to introduce a paid plan for the more extreme users, but we will always try to keep this service free for the average user.

Request Format

We recommend using curl in your applications to connect to our server. Simply make your curl requests in GET format as follows:

curl "https://freegeoipapi.com/cgi-bin/iplookup.cgi?ip=120.21.126.150"

The IP 120.21.126.150 is a test IP I have entered, you would replace this with the IP you want Geo Location information on. To make your application code future compatible it would be better to get into the habbit of adding an extra input field to your requests, as follows:

curl "https://freegeoipapi.com/cgi-bin/iplookup.cgi?ip=120.21.126.150&licensekey=xxxx"

For now the extra "licensekey" input field is not required and will be ignored. How long it will not be required - I don't know, it all depends on how many people start using this free service and the load it places on the server. Causing the need to possibly throttle or charge extreme users (license holders). So the reality is that it's likely this field will be required in the future. Better to add a licensekey variable to your applications now to be ready when this change does eventually come.

Response Format

The response to the above request is below. All Requests receive the same response format.

<ip>120.21.126.150</ip>
<continent>Oceania</continent>
<continentcode>OC</continentcode>
<country>Australia</country>
<countryiso>AU</countryiso>
<state>Victoria</state>
<stateiso>VIC</stateiso>
<city>Melbourne</city>
<postalcode>3000</postalcode>
<longitude>144.9669</longitude>
<latitude>-37.8159</latitude>
<timezone>Australia/Melbourne</timezone>
<anonymousproxy>0</anonymousproxy>
<satelliteprovider>0</satelliteprovider>
<accuracyradius>50</accuracyradius>


Where anonymousproxy value can be either 1 or 0
Where satelliteprovider value can be either 1 or 0
Where accuracyradius is in Kilometers

Note all data is obtained from the GeoLite2 Database from maxmind.com

That's it. It's pretty simple, Enjoy !