Geocoding APIs

Yahoo! provides a geocoding web service: give it a location in free-text, it returns the latitude, longitude and full address.{YOUR_APP_ID}&location={YOUR_LOCATION}

You can make up an application id, it doesn't seem to matter.

Google also provide a geocoding API:{YOUR_DEV_KEY}&q={YOUR_LOCATION}&output=json

This needs a valid developer key. Output formats include XML, KML, CSV and JSON.