Optimaite

Rate Limits

2 min readUpdated May 26, 2026Auch auf Deutsch verfuegbar

The Optimaite API enforces rate limits to ensure fair usage and platform stability. All API keys are subject to the same limits.

Current Limits

PlanRequests per minuteRequests per dayBurst limit
Standard6010,00010 requests/second
Professional20050,00030 requests/second
EnterpriseCustomCustomCustom

Rate Limit Headers

Every API response includes headers that indicate your current rate limit status:

X-RateLimit-Limit: 60
X-RateLimit-Remaining: 45
X-RateLimit-Reset: 1719360000
HeaderDescription
X-RateLimit-LimitMaximum requests allowed per minute
X-RateLimit-RemainingRequests remaining in the current window
X-RateLimit-ResetUnix timestamp when the rate limit window resets

Handling Rate Limits

When you exceed the rate limit, the API returns a 429 Too Many Requests response:

{
  "error": {
    "code": "RATE_LIMIT_EXCEEDED",
    "message": "Rate limit exceeded. Retry after 30 seconds.",
    "retry_after": 30
  }
}

Best Practices

  • Monitor headers: Check X-RateLimit-Remaining before making batch requests
  • Exponential backoff: On 429, wait and retry with increasing delays
  • Batch operations: Use bulk endpoints where available instead of individual requests
  • Cache responses: Cache frequently accessed data to reduce API calls
  • Webhooks: Use webhooks for event-driven updates instead of polling

Example: Exponential Backoff

import time
import requests

def api_request(url, max_retries=5):
    for attempt in range(max_retries):
        response = requests.get(url, headers={"Authorization": f"Bearer {API_KEY}"})
        if response.status_code == 429:
            retry_after = response.json()["error"]["retry_after"]
            wait = max(retry_after, 2 ** attempt)
            time.sleep(wait)
            continue
        return response
    raise Exception("Max retries exceeded")

Next Steps

Was this helpful?