Throttles
Discussion
A dynamic throttle is in place on a per-method level. If an application receives a response with the backoff
field set, it must
wait that many seconds before hitting the same method again. For the purposes of throttling, all /me routes are considered to be identical to their
/users/{ids} equivalent. Note that backoff
is set based on a combination of factors, and may not be consistently returned for the same
arguments to the same method. Additionally, all methods (even seemingly trivial ones) may return backoff
.
Below is an example error response from the API due to rate limiting:
{ "error_id": 407, "backoff": 10, "error_message": "You cannot perform this action for another 10 seconds", "error_name": "write_failed" }
While not strictly a throttle, the API employs heavy caching and as such no application should make semantically identical requests more than once a minute. This is generally a waste of bandwidth as, more often than not, the exact same result will be returned.