I use the Google Maps API...
http://code.google.com/apis/maps/documentation/geocoding/index.html
every service will throttle your requests. I've found I can make continuous requests by sleeping for 200 ms in between each request (with the occasional extra sleep cycle if it's still too fast).