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

# Rate Limits

> Understanding API rate limits and how to handle rate limiting in OPLOG.ONE

API calls will be rate-limited to **250 requests per minute** using a sliding window, and will be totalled per user, per application across calls to any of the OPLOG.ONE APIs.

Please give us time to process your requests. If you're sending too many requests too quickly, we'll respond with a **429 error code** (TooManyRequests).

## Rate Limit Headers

The API response headers also give you the following rate limit detailed information:

| Header              | Example | Description                                      |
| ------------------- | ------- | ------------------------------------------------ |
| `x-retry-after`     | 25      | Rate limit is exceeded. Try again in 25 seconds. |
| `x-remaining-calls` | 0       | You have 0 remaining calls.                      |

## Rate Limit Response

When you exceed the rate limit, you'll receive a 429 status code with the following response:

```json theme={null}
{
    "statusCode": 429,
    "message": "Rate limit is exceeded. Try again in 25 seconds."
}
```

## Best Practices

<CardGroup cols={2}>
  <Card title="Monitor Headers" icon="chart-line">
    Always check the `x-remaining-calls` header to monitor your usage
  </Card>

  <Card title="Implement Retry Logic" icon="arrows-rotate">
    Use the `x-retry-after` header to implement proper retry delays
  </Card>

  <Card title="Batch Requests" icon="layer-group">
    Combine multiple operations into single requests when possible
  </Card>

  <Card title="Cache Responses" icon="database">
    Cache frequently accessed data to reduce API calls
  </Card>
</CardGroup>
