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

# Rate Limits

> Understand API rate limiting and how to handle it

The Reel25 API uses a **fixed window** rate limiter to ensure fair usage across all consumers.

## Default limits

| Limit | Value |
| - | - |
| Requests per minute | 60 |
| Window size | 1 minute |

## Rate limit headers

Every API response includes headers to help you track your usage:

| Header | Description |
| - | - |
| `X-RateLimit-Limit` | Maximum requests allowed per window |
| `X-RateLimit-Remaining` | Requests remaining in current window |
| `X-RateLimit-Reset` | Unix timestamp when the current window resets |

## Handling rate limits

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

```json theme={null}
{
  "code": "RATE_LIMIT_EXCEEDED",
  "message": "Rate limit exceeded. Maximum 60 requests per minute."
}
```

<Tip>
  Check the `X-RateLimit-Remaining` header before making requests to avoid hitting the limit. When you receive a 429, wait until the `X-RateLimit-Reset` timestamp before retrying.
</Tip>

## Best practices

* **Cache responses** when possible to reduce API calls
* **Use pagination** with reasonable `limit` values (default: 20, max: 100)
* **Implement exponential backoff** when retrying after a 429 response
* **Batch your reads** — fetch a list of videos once instead of calling get-by-id repeatedly


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.