On a recent web project, we were looking for a geolocation service to restrict the service to US users only. There are a bunch of geolocation services available from different vendors, each having its own unique variation. Some are priced steep too, costing about $3K per year. Fortunately, a coworker mentioned that he was using the geolocation technology from MaxMind. They have an open-source component too, which may not be as accurate, but does a decent job of finding the city, region and country.