Rate Limits

The Digits Connect API implements rate limiting to ensure fair usage and maintain service quality for all users.

Your App's request rate may be limited by the Digits API. Apps are identified at two levels - the overall App is identified by it's Client ID, and each install is identified by it's access token. The Digits API rate limits are structured to limit excessive use by Apps overall and with specific limits for each access token.

Rate Limit Structure

Rate limits are applied at two levels:

Client-Level Limits

  • 180 requests per minute per Client ID (the limit for your App overall)
  • Applied to all requests made by a specific OAuth client application

Access Token-Level Limits

  • 60 requests per minute per Access Token (the limit per install)
  • Applied to all requests made with a specific user access token

Rate Limit Headers

When you make API requests, the response will include headers indicating your current rate limit status:

X-RateLimit-Limit: 60
X-RateLimit-Remaining: 45
X-RateLimit-Reset: 1640995200
  • X-RateLimit-Limit: The maximum number of requests allowed in the current window
  • X-RateLimit-Remaining: The number of requests remaining in the current window
  • X-RateLimit-Reset: Unix timestamp when the current window resets

Rate Limit Exceeded

When you exceed a rate limit, the API will return:

HTTP Status Code: 429 Too Many Requests

Response Body:

{
  "error": {
    "code": "RATE_LIMIT_EXCEEDED",
    "message": "Rate limit exceeded. Try again later.",
    "details": {
      "retry_after": 60
    }
  }
}

The retry_after field indicates how many seconds to wait before making another request.


Best Practices

Implement Exponential Backoff

When you receive a 429 response, wait before retrying. Implement exponential backoff with jitter to avoid thundering herd problems.

Monitor Rate Limit Headers

Check the rate limit headers in responses to understand your usage patterns and avoid hitting limits.

Batch Requests When Possible

Where the API supports it, batch multiple operations into single requests to reduce your rate limit consumption.

Cache Data

Cache API responses when appropriate to reduce the number of requests needed.


Rate Limit Adjustments

Rate limits may be adjusted for specific use cases:

  • Development Mode: Client IDs in development mode have the same base rate limits
  • Production Applications: Approved production applications may request higher rate limits through Digits support

Contact Digits support if your application requires higher rate limits.