- From: Karl Dubost <karl+w3c@la-grange.net>
- Date: Tue, 5 Oct 2010 00:02:28 -0400
- To: www-archive <www-archive@w3.org>
This is a very incomplete and approximative list of how Web services APIs are handling rate limits in the context of HTTP. It doesn't seem there is a common approach around it by looking at the documentation. It would require real testing. The following list contains information found on Twitter, Flickr, Etsy, FourSquare, Facebook and Google Maps sites. ## Twitter They send specific home-made HTTP headers * X-FeatureRateLimit-Limit * X-FeatureRateLimit-Remaining * X-FeatureRateLimit-Reset >If your application is being rate-limited by the REST API it will receive HTTP 400 response codes. http://dev.twitter.com/pages/rate-limiting They use 401 (login rate limit), 420 (too many login attempts in short period of time, too many copies of the same app with the same account) http://dev.twitter.com/pages/streaming_api_response_codes ## Flickr >The Flickr service has no pre-determined rate limit. However, irresponsible use may result in your application key being temporarily suspended. What's "responsible"? Keeping a local cache of information that is unlikely to change, sleep()ing between queries when doing large series of api calls, debugging your own code, that kind of thing. Keep it under an average of one query per second and you'll be fine. http://developer.yahoo.com/flickr/ ## Etsy >Clients are allowed 10,000 requests per 24-hour period, with a limit of 10 queries per second. http://developer.etsy.com/docs#rate_limiting >403 Forbidden You've exceeded the rate limits for your account, or the data you're trying to access is private. http://developer.etsy.com/docs#standard_response_codes ## FourSquare >Usage of the API is subject to rate limits. The limits are based on a moving window that tracks the number of requests you send per hour. >{ratelimited}: You've hit a rate limit for this method. Check your code to make sure you aren't unnecessarily calling the same method multiple times in a row. This will have an HTTP status code of 400. http://groups.google.com/group/foursquare-api/web/api-documentation ## Facebook >The stream.publish method throws error 340 that feed limit has been reached. http://bugs.developers.facebook.net/show_bug.cgi?id=5763 ## Google Geocoding API They do not use HTTP codes it seems (or at least the documentation doesn't say it) >"OVER_QUERY_LIMIT" indicates that you are over your quota. http://code.google.com/apis/maps/documentation/geocoding/#StatusCodes -- Karl Dubost Montréal, QC, Canada http://www.la-grange.net/karl/
Received on Tuesday, 5 October 2010 04:02:44 UTC