Google Geocoding API has serious limitations (2,500 requests per day) and we always get a limit error. Their business license costs $10,000 and it is too expensive for us.
Service should work with different languages and different countries.
Service should verify address and return lat/lng. The addresses could be a strings with different formats.
We are ready to pay for such service and RESTful API is preferable.
I worked at SmartyStreets and what you describe is their core domain.
You might be interested in LiveAddress which transforms addresses into lat/lon and can process thousands of requests per second. It's geo-distributed across 3 data centers and has a RESTful endpoint. You can do up to 100 addresses per request. There's also a list processing version if you have an Excel or CSV file or something like that.
The highest price tag is $10k, but it gives you unlimited lookups for a year.
Some sample code is at https://github.com/smartystreets/LiveAddressSamples.
Their license agreement has no such restrictions to limit your usage. Dbaseman is right: you're getting limit errors because it's a violation of the TOS (unless you get a business license from them, but even then the addresses are "best guess" -- not standardized and verified like with a CASS-Certified service. That's something to keep in mind).
Have you looked into Nominatim? You can roll your own over OpenStreetMaps data, or you can send requests to OpenStreetMaps or MapQuest. Possible downsides include the CC license (requires attribution, may or may not be a problem for you) and the verification issue (data is almost entirely crowdsourced, so inaccuracies do happen). Upsides include less restrictive usage policy, frequent updates, worldwide coverage, and of course, you can't beat the price.
See https://jsfiddle.net/4hzzrws5/
Following options may suite you
I directly communicated with Google about Google Maps licensing issue. Unfortunately they don't realize that great market share being lost due to the cost.
No there isn't, and if you look into their licensing, it is explicitly designed to prevent you from using their service like that. Basically, you are only meant to use it if
They also prohibit you from saving/caching results of their service to a database. Google makes it easy to prototype using their tools, but once you start to scale up you are going to pay (not so different from M$ in that regard).
just try this YUI
Usage Limits
Per application limit (identified by your Access Key): 100,000 calls per day
Per IP limits: /v1/public/: 1,000 calls per hour; /v1/yql/: 10,000 calls per hour
ZIP / Postal Code + Country to Geo Coordinates