is one that I used (at least in demo mode), and it is much better than most. But it isn't cheap.
There are more folks out there -- they end up being used by fraud-prevention outfits by filtering out IPs from places with known credit card abuse issues.
I'm using hostip.info for my small project http://newshoured.com/ and it seems to work for nearly everyone I've asked. It's also got a dead simple API. Note: the population of people I've asked is < 20, and it did fail the iPhone test, which I assumed it would.
It really isn't just AOL. I live in east Alabama, and geolocation of my IP almost always puts me in a suburb of Atlanta (except for the few that put me in Miami... not sure what's up with that) because I use an AT&T (Bellsouth) DSL line.
I'm a little late to the party but I'm a co-founder of Digital Envoy (www.digitalenvoy.net). The company was acquired last year (Landmark Communications) but we invented the field of IP location technology back in 1999. The company's technology is generally considered the best available and has shown to be more accurate in head-to-head competitions. Of course, it isn't free but it isn't ridiculously expensive. Performance on Digital Envoy's stuff beats anyone else out there (hence the great customer list). Not sure why I keep selling for them since I no longer work there so for what it's worth, take a look.
I've used http://www.maxmind.com/
They have a free older database of IPs you can download (usually a month out of date - -but good enough for stuff I've needed)
updating monthly is a bit of a pain, but no real complaints. i'd recommend using mod_geoip since it's written in c
also I use the binary format of the database as recommended by maxmind, but one cool thing i was able to do with the the csv version was import it into my db and then use sphinx to build a full text searchable index of worldwide cities
Hey give the one up there a try. It should get your state right, I've never had any problems with it, although my testing has been limited to 12 trials...
I tried the built-in ip address geocoding in the Rails plugin, GeoKit.
It's relatively accurate except for when the visitor is accessing the site from a corporate or school network, in which case it shows up where their main ISP hub is, which could be across the US. Unfortunately that's a large percentage of our users, so it just ended up confusing most of them. We had to remove that feature :(
Yeah, Akamai is the best. We do an awful lot of geocoding related functions on Groovr, and have looked at more or less all the available IP geocoding databases. Akamai's the best.
Totally Agree! Akamai not only gives you geolocation but thier bandwidth as well, so you can serve different content to a dial-up user versus that of a high broadband user
Maxmind is good, we use 3 of their products on getclicky.com. They all have straight forward APIs, and are very easy to setup and use within your own application.
GeoIPCity - returns city, country, "region" (state in the US), lat/long, area code, zip code, and more. This is available for free, or ~$400 for the full version, which is considerably more accurate, within the US at least. The free version is still pretty damn good considering it's free. The paid version is updated weekly, free is monthly.
We also use the "organization" and "hostname" products, which tell us for example that someone is from "Comcast Cable" and their hostname is "comcast.net", or "Google Inc" and "google.com", etc. These products are not available for free but they are pretty cheap ($15 for the hostname and $80 for the organization I think).
They're not 100% accurate, but you won't find a product that is. We are very happy with them and highly recommend them.
However:
http://www.hostip.info/
is a free service that relies on its users putting their own data in. A wiki like mechanism, if you will.
http://www.geody.com/geoip.php
appears to work, but I'd worry about their TOS.
http://www.maxmind.com/app/locate_ip
is one that I used (at least in demo mode), and it is much better than most. But it isn't cheap.
There are more folks out there -- they end up being used by fraud-prevention outfits by filtering out IPs from places with known credit card abuse issues.