Rate Limits

The Everee API uses rate limiting to protect its stability and reliability for all our customers. When users send too many requests in a short period of time, they may receive an HTTP code 429 error.

  • The rate limiter allows up to 20 operations per second (read or write) by default
  • The limit can change to help make sure our systems are protected from abuse

Handling rate limits

In order to handle rate limiting in a smooth way, your application should watch for HTTP code 429 responses from the Everee API and retry the operation if one occurs.

The simplest approach is to retry after a short delay, but since rate limits are applied to a period of time (one second, for instance), retrying a large number of failed operations after a fixed period of time can lead to repeated failures and delays or instability in your application.

A better method is to back-off retries exponentially with a small amount of randomness. This approach helps to "spread out" failed requests over a short period of time, which maximizes the likelihood that they will succeed quickly.

Rate limit metadata

The Everee API communicates the current rate-limiting status to users using the following HTTP response headers:

Header nameExplanation
RateLimit-RemainingRemaining operations allowed in the current window.
RateLimit-ResetThe number of seconds remaining before more operations will become available to use.