Simiz uses rate limiting to protect the API, ensure stability, and distribute resources fairly across all customers.

How it works

Each API key has a daily request limit and a burst rate (max requests per second) based on your plan. Higher plans offer increased limits.
The sandbox environment has relaxed rate limits — test as much as you want during development.

Rate limit headers

Every API response includes headers to help you monitor your usage:
HeaderDescription
X-RateLimit-LimitMax requests allowed in the time window
X-RateLimit-RemainingRequests remaining in the current window
X-RateLimit-ResetUnix timestamp when the window resets
Retry-AfterSeconds to wait before retrying (on 429 only)

Handling rate limit errors

When you exceed the limit, the API returns HTTP 429 Too Many Requests:
{
  "error": {
    "code": "rate_limit_exceeded",
    "message": "Rate limit exceeded. Please retry later.",
    "http_status": 429,
    "retry_after": 60
  }
}

Retry with exponential backoff

# Wait and retry with increasing delays
# Attempt 1: wait 1s → Attempt 2: wait 2s → Attempt 3: wait 4s

Best practices

Cache responses

Cache data that doesn’t change often to reduce API calls.

Exponential backoff

On rate limits, wait with increasing delays between retries.

Check headers

Monitor X-RateLimit-Remaining to anticipate limits before hitting them.

Spread calls

Distribute API calls over time instead of sending bursts.
Need higher limits? Contact our sales team for plans with increased rate limits.