OpenXmlDeveloper Countries

If anybody knows a good automated way to convert IP addresses to locations, let me know. I've looked around but haven't found one that's both free and programmatically accessible. I suppose I could actually pay for a service, but I'm trying to find the cheap option first.

The reason I'm looking is that I'd like to see where our members on are located, so that I can share this information periodically on the site. It would also be interesting to see which types of articles draw viewers from which regions. But the usage reports on the site are all raw data that just lists the IP addresses, so I need to convert those to locations. I'm thinking there's probably an option out there that I'm not aware of, since this must be a common need.

FYI, I manually spot-checked some random visitors from 2006 (by pasting the IP address into lookup options on various sites), and here are the countries represented in my random sample:

Argentina Australia Brazil Canada China Denmark Ecuador
France Germany Hong Kong India Japan Korea Mexico
Netherlands New Zealand Nicaragua Norway Poland Russia South Africa
Spain Sweden Taiwan Turkey Uganda United Kingdom United States