> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ruddr.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Rate Limits

> Understand API rate limits and how to handle them

The Ruddr API enforces rate limits to ensure fair usage and platform stability.

## Limits

API requests are rate limited to **20 requests per second**. This limit is shared across all API keys in a workspace.

## 429 Too Many Requests

When the rate limit is exceeded, the API returns a `429` response:

```json theme={null}
{
  "status": 429,
  "message": "Too many requests"
}
```

## Retry Guidance

When you receive a `429` response, retry the request after a short delay. Use exponential backoff to avoid overwhelming the API:

```
attempt 1 → wait 1s
attempt 2 → wait 2s
attempt 3 → wait 4s
attempt 4 → wait 8s
```

Here's a pseudocode example:

```
maxRetries = 5
baseDelay  = 1 second

for attempt = 1 to maxRetries:
    response = makeRequest()

    if response.status != 429:
        return response

    delay = baseDelay * (2 ^ (attempt - 1))
    sleep(delay)

raise "Max retries exceeded"
```

<Tip>
  If you're regularly hitting rate limits, consider reducing the concurrency of your requests or adding a small delay
  between calls.
</Tip>
