I\'m looking to geocode over 5000 addresses at once in a PHP script (this will only ever be run once).
I have been looking into google as a potential resource for doing
Is there a limit to the number of geocode requests I can submit?
If more than 2,500 geocode requests in a 24 hour period are received from a single IP address, or geocode requests are submitted from a single IP address at too fast a rate, the Google Maps API geocoder will begin responding with a status code of 620.
[...]
If you need to submit a very large set of addresses to the Geocoding Web Service to cache for later use, you should consider Google Maps API Premier, which provides a separate batch geocoding quota for this purpose.
-- http://code.google.com/apis/maps/faq.html#geocoder_limit
As @Pekka mentioned: note that Google's terms of service forbid geocoding stuff for purposes other than showing it on a map.