FREE Online IP Address Location Tool

Here you can find out the location of over 16,000 IP Addresses per hour for free – no registration, no captchas, no keys required.  Both robotic and human lookups are welcome.  Optionally deep link directly to the IP Address Geolocation results.  AJAX, JSON, and JSON-P all supported. Scroll down for a list of nearby cities and a map.

IP Address to locate:

IP Address Service Area

Click a city in the pie graph to fetch its details into the form below.

IP Address
Location
Nearby Cities
Mi Km City Bearing Direction
Country Code
Country
Region Code
Region
City Code
City
CityId
Latitude
Longitude
Capital City
TimeZone
Nationality
Singular
Population
Nationality
Plural
CIA Map
Reference
Currency
Currency
Code

Map

Here is a code sample showing how to use this service programmatically.

In PHP, for example you might access this service like this:

  • Pingback: Anonymous()

  • notlopsided

    Nice redesign. Too bad it doesn’t work.

  • http://www.geobytes.com Adrian

    Hi, Thanks for the feedback.
    I was just wondering what the issue was that you encountered – specifically whether it was just a transient issue or whether it is still there, and is something that I have missed.
    Any further feedback would be very much appreciated, as I am really trying to make this useful for everyone.

  • CognitiveThinking

    Thanks for your feedback – I was just wondering specifically what issue you were referring to when you said it didn’t work. I would be grateful if you could confirm if the issues persists, and if so, if you could please provide a hint as to the nature of the issue that you have encountered.
    In any case, I am keen to help, so please let me know if I can assist further.

  • Flower

    This site no longer works … ugh … why do people destroy things just because they want them to look better!

  • Flower

    There is nothing to click on after entering the IP! No way to find a location with this site! So if you’re the one who changed it, you really screwed up!

  • CognitiveThinking

    The site resolves the location of the IP Address as you type it in – at least it does for me. It does require Javascript support in the bowser to do it.
    In any case, if you are experiencing difficulty, then no doubt others are too, so as a possible fix, I will put a submit button on there that will force a lookup of whatever is currently in the “lookup box” and then see how that goes.
    Once you see that, could you please let us know particularly if that does not work for you.
    Thanks again for your assistance.

  • Smiddy808

    Im also having the same issues of not being able to enter an IP Address. I use Firefox 35.0.1

  • CognitiveThinking

    OK – How’s that?
    Now you can either, select from the drop-down list, press enter, or click submit.
    Does that work for you guys?
    (And either way – sorry about my stuff-up.)

  • Smiddy808

    Working perfectly now. Thanks for the fix!

  • Markustan

    I follow a link from a board I moderate. It used to bring the IP I am searching along to this page. The way it works now:

    1. I arrive here, but only see my own IP.

    2. Go back, copy the IP manually and paste it in the “Address to locate” box. Press submit.

    3. The location is shown, but only in the “Address to locate” box, as a “bubble” or pop-up. All the information below is still about my own IP address.

    4. Finally learned that I need to click the bubble to populate the remaining fields with the full info for the IP I am searching.

    It works, but it’s not intuitive and I am sure that it’s more clicks to get where I’m going.

    Nice redesign, thank you for the free service. Doesn’t seem to be quite there (as good as before) yet in functionality. Cheers.

  • Wesley Sykes

    I am in Virginia and it reports Florida, Way Wrong!!!

  • CognitiveThinking

    doh! – sorry I will get that fixed.
    btw you can post corrections here (http://www.correctgeo.com/), and they automatically go in to the next weeks map build.

  • CognitiveThinking

    OK, I think that I have identified the problem, and I am working on it.

  • CognitiveThinking

    Can you please post a copy of the URL that board is linking to, as something like this should work:

    http://www.geobytes.com/IpLocator.htm?GetLocation&IpAddress=69.16.2219.109

  • CognitiveThinking

    Can you please post a copy of the URL that you are coming in on? It should look something like this:

    http://www.geobytes.com/IpLocator.htm?GetLocation&IpAddress=69.16.219.109

  • http://www.es-interactive.com Eric

    The following code has worked for months. Why has it suddenly stopped working? We only do about 2 to 10 lookups per day, if that. Note…. $ip is obviously the IP ADDRESS we’re passing in.

    $meta_tags = get_meta_tags(‘http://www.geobytes.com/IPLocator.htm?GetLocation&template=php3.txt&IPAddress=’ . $ip) or die(‘Error getting meta tags’);

    $city = $meta_tags[‘city’];
    $state = $meta_tags[‘regioncode’];
    $country = $meta_tags[‘fips104′];
    $lat = $meta_tags[‘latitude’];
    $long = $meta_tags[‘longitude’];

  • Nicola

    Something is wrong, I can confirm. I cannot anymore search for IP geolocation. It simply doesn’t work. Should I look for an alternative?

  • CognitiveThinking

    Hi Eric,
    Are you able to change

    $meta_tags = get_meta_tags(‘http://www.geobytes.com/IPLocator.htm?GetLocation&template=php3.txt&IPAddress=’ . $ip) or die(‘Error getting meta tags’);

    to

    $json = file_get_contents(‘getcitydetails.geobytes.com/GetCityDetails?callback=callback&fqcn=’. $ip);
    $meta_tags = json_decode($json);

    As that will achieve the same result, and you get 16,384 look ups per hour for free – rather than the 20 free lookups that you received previously.

    FYI There is a complete working sample here: http://www.geobytes.com/get-city-details-api/

  • CognitiveThinking

    I am keen to help, but I am unsure of what you are referring to. Could you please provide us with an example of specifically what does not work?

  • PasserBy

    Your php code is hosed. To get it to work, change line 13 to:

    $json = file_get_contents(‘http : // getcitydetails .geobytes .com/GetCityDetails?&fqcn=’. getIP());

    (remove spaces in string above) Essentially, you need to add http:// at the start, and remove the callback=callback parameter in the query string.

    Also, I think you getIP() function is pretty pointless since all those server variables are easily spoofed. You may as well just go with $_SERVER[‘REMOTE_ADDR’]

  • http://www.es-interactive.com Eric

    Yeah, doesn’t work. No matter what IP I pass in, or if I use your function which returns the IP, I still get Nashville, TN for everything I test with. Unfortunately, I am in Seattle – and every other online IP checker I used shows me in Seattle. So in a nutshell, the code you gave as an example is not working. I used the code from the example page you mentioned

  • CognitiveThinking

    Yes, you’re right – nice save – thanks. (FYI I think that I must of broken it when I recently changed the FQDN from gd.geobytes.com to getcitydetails.geobytes.com – I will have to check the rest of the site, as I may have stuffed it up in other places too.)

    With regards to the getIP() function – it really depends on what you are trying to do. If you are not concerned with someone trying to spoof their location/IpAddress, but rather your priority is on accurately locating your typical site user, than using getIP() adds value, and in any case, not using it does not really help in either scenario.

  • CognitiveThinking

    oh OK – I see….
    Thanks for the correction – I have posted it here so that it will be included in our next map update. http://www.correctgeo.com/

  • realclearconservative

    Someone from Vietnam has been trying to get into my Tivo acct. Probably trying to add subtitles to all the programs I record. Thanks for the service!

  • Pingback: ARE YOU REALLY ANONYMOUS ONLINE? | N H U N G D A O()

  • notlopsided

    I stopped using your site a couple of months ago and never went back to this discussion. There was no “Submit” button on the IP locator page last I checked, and hitting Enter had no effect. Now I see you fixed it.

  • http://www.geobytes.com Adrian

    Yes, thanks again for your valuable feedback – I had not noticed the problem as I had always selected the IP Address from the drop down list, but upon having it pointed out to me, I agree that it was definitely a problem. It is great to have it fixed now, and I am even using the submit button myself. BTW – I also wired enter key to the submit button – which I am finding easier than having to reach for the mouse. It you have any further suggestions for improvements, then please let me know.

  • choekstr

    Ok, so how can I get results using a bash shell script? Before I would
    use curl or wget and pass in the IP and just grep out the results but
    now I can’t seem to figure out a way to submit an IP. This is for a
    simple script I use on my home server to show who is logging in via FTP
    and SFTP so I don’t need javascript webpage support and do not want to
    setup a full mysql database of local content to query.

    Is there a way to query still with cmdline?

  • http://www.geobytes.com Adrian

    Yes.
    For example:
    curl http://getcitydetails.geobytes.com/GetCityDetails?fqcn=67.162.105.1
    returns

    {
    "geobytesforwarderfor":"",
    "geobytesremoteip":"150.101.176.146",
    "geobytesipaddress":"67.162.105.1",
    "geobytescertainty":"84",
    "geobytesinternet":"US",
    "geobytescountry":"United States",
    "geobytesregionlocationcode":"USIL",
    "geobytesregion":"Illinois",
    "geobytescode":"IL",
    "geobyteslocationcode":"USILCHIC",
    "geobytescity":"Chicago",
    "geobytescityid":"8198",
    "geobytesfqcn":"Chicago, IL, United States",
    "geobyteslatitude":"41.865002",
    "geobyteslongitude":"-87.671799",
    "geobytescapital":"Washington, DC ",
    "geobytestimezone":"-06:00",
    "geobytesnationalitysingular":"American",
    "geobytespopulation":"278058881",
    "geobytesnationalityplural":"Americans",
    "geobytesmapreference":"North America ",
    "geobytescurrency":"US Dollar",
    "geobytescurrencycode":"USD",
    "geobytestitle":"The United States"
    }

    and
    curl -s http://getcitydetails.geobytes.com/GetCityDetails?fqcn=67.162.105.1 | grep -oP '(?<="geobytesfqcn":")[^"]*'
    returns
    Chicago, IL, United States

    In any case, please let me know if I can assist further.

  • CognitiveThinking

    I am having trouble getting Disqus to accept my longer answer, so here is the short version:
    Try:
    curl -s http://getcitydetails.geobytes.com/GetCityDetails?fqcn=67.162.105.1 | grep -oP '(?<="geobytesfqcn":")[^"]*'

    returns

    Chicago, IL, United States

    In any case, please let me know if I can assist further.

  • choekstr

    ahh, excellent! This is exactly what I was missing and this helps a ton.

    Much appreciated!

  • Ferg

    I am attempting to purchase mapbytes. Half of the time, I get an error saying “action failed” when I attempt to add the item to my cart. The other half of the time I get a message saying that I have successfully added it to my cart, but when I go to my cart, the cart is empty.

  • CognitiveThinking

    Please correct me if I am wrong, but I believe that Ferg worked around this by using the PayPal Buy Now buttons that you see in the right hand margin of each page. In any case, just for the benefit of other readers, the PayPal Buy Now buttons are replacing our previous shopping cart facility – the remnants of which are very soon to be completely removed from our site. So the PayPal Buy Now buttons are now the way to go.

  • Carl

    I was testing geobytes to use here at our office. I used the code provided above. I am receiving data when I submit an IP address, but the data coming back is wrong. For instance, I enter one of our IP addresses 96.90.18.154 and it comes back to Melbourne, AU although we are located in Tallahassee, FL USA. I tried the address of 1&1 which is located in Wayne, PA USA (74.208.255.133) and your code returns “New York, NY” (I get the same results if I enter these IP addresses directly into this page). When I try the addresses on other IP lookup sites, they come back correctly.

  • CognitiveThinking

    Thank you for the two corrections – I have updated our IP Address Map database accordingly, and the corrections will be visible from our web site by next Monday night, if not before.

    With regards to why they were wrong in the first place, both errors were the result of us having very little data for these ranges – most likely due to the fact that very little out bound traffic originates from either IP Address.

    Just by way of further explanation, the purpose of our map is to locate the geographic origin of internet traffic, and not the location of internet routers, so infrastructure that originates very little traffic is where we have the least data, and accordingly the least accuracy. (The other side of this coins, is that we are most accurate in high traffic areas – so we are able to locate a high proportion of the traffic accurately, as opposed to a high proportion of the Internet’s address space. In fact well over half of the Internet’s address space originates no traffic at all, but that is another story.)

    Finally, we really appreciate corrections, and are happy to receive them here, via email, or any which way, but to make it as easy as possible to get them into our system then you may like to post them to CorrectGeo, as errors posted there are automatically imported once or twice a week. http://www.correctgeo.com/

    In any case, thanks again for the corrections, and please let me know if I can assist further.

  • http://www.brane.com.br/ Peter

    Hi,

    I don’t know what’s wrong but your ip to city database is corrupt. Many ip’s from brazil tell me they are in Los Angeles. I check on other ip location services and they get it right.

  • CognitiveThinking

    Would you be able to please post the IP Addresses in question, and I will look in to each case, and update our database as may be required. You may also wish to post any errors that you may find to http://www.correctgeo.com/.

    I am not sure if it applies in this case, but with regards to the other ip location services agreeing with each other… This raises suspicion that they are all using the same data source in this instance – which I would expect is the NICs whois database. In any case, I would recommend caution in making a determination of accuracy based on either a small data set or on just collaboration between providers – particularly where the determination concurs with “WhoIs data”.

    One only needs to consider what it is that the Internic’s who is records are recording to understand that they will be wrong a signification proportion of the time. This is because the Internic’s who-is records only record the city where the ISP is located, and not a list of the cities where that ISP’s infrastructure is used. And as I am sure that you are aware, many ISPs service tens, hundreds, and even thousands of cities – so you can see that for anything but a single city ISP, the whois record is going to be wrong most of the time.

    So while I accept that our map’s determination may sometime be wrong, I recommend that when testing the accuracy of each provider, you check the errors against whois and if they concur then do not consider that any recommendation, as it probably just means that they did not have any other data source for that address and are just falling back to whois data.

    In any case, thanks for letting us know abot the errors, and please let me know if I can assist further.