Geocoding has a daily limit of 2500, but it is also throttled. So, as others suggested, write in your PHP instructions sleep sleep (1) approximately every 10 entries. You can also write a queue module / process for managing requests. Load the result into the address cache module or some other type of cache.
Also, have you viewed other domains / users on your IP address? SugarCRM SugarOnDemand has this problem. Too many users sharing the same IP address while trying to geocode addresses at the same time can cause the dangerous OVER_QUERY_LIMIT problem.
Be patient. If the above does not work. Get a laptop installed on the WAMP server, and then go to your local WIFI-enabled cafeteria. As a rule, they have different IP addresses, so you can geocode 2500 * 5 every day. It is a pain, but it works.
If you really want to be creative, write Proxy Script (PHP) to drop the CURL request from a different IP address (some other domain). The Google Geocoding API will assume that the request comes from the IP address of Proxy Script.
source share