The vast majority of the over 400 open APIs listed here have imposed some limitations on how much they can be used, certainly in the free use model. There are good reasons for this ranging from preventing abuse, controlling costs, or other business-driven reasons. Just over a year ago, in 7 ways to limit API use we looked at some of these. With twice as many APIs now listed it's a good time to check back and see what other ways APIs get throttled. As a refresher, here's the original list:
- Time based limits: 1 call per second, Last.fm
- Call Volume by Address: 5,000 queries per IP per day, Yahoo! Image Search
- Call volume per-application: 10,000 queries per application per day MSN Search
- Return results volume: 10 results per query, the now deprecated Google Search, or 100 items returned per call, Tailrank, or 100 blogs per map FeedMap
- Data Transmission Volume: 120 packets of 1.6KB per minute, MSN Messenger
- Formula: Monthly quotas based on various factors, Google AdWords
- Kindness of strangers: "Please be gentle with Simpy's server", Simpy
There are over 40 variations of the above list, mostly differing in exact size of the limit. What happens if you hit one of these limits? It depends. Most return an error code and/or message, some unfortunately leave it undefined.
And here are a few more to keep in mind, some are more exact than others...
- Per second and per month limits: Up to 1 call per second for up to 60,000 requests per month, Amazon Historical Pricing
- Login limits: 250,000 logins per day or 2 million per month, AOL Instant Messenger, AIM
- Varies within a range: determined by overall system load, GeoCoder.ca
- As needed: "The servers will block excessive requests", ISBNdb
- Heads-up: not so much a limit as a request, "Let me know if you're going to hit it hard", Where's Tim API