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

# Rate Limits

Verisoul implements rate limiting to ensure service stability and availability for all customers.

## Default Limits

By default, each project has the following rate limit: **900 requests per minute**.

This limit applies across all API endpoints for that project. When you exceed this limit, API requests return a `429 Too Many Requests` HTTP status code.

## How Rate Limiting Works

Rate limits are tracked per project across three windows. Every request must pass all three:

| Window         | What it measures                | Purpose                          |
| -------------- | ------------------------------- | -------------------------------- |
| **1 second**   | Requests in the current second  | Caps instantaneous spikes        |
| **6 seconds**  | Requests in the last 6 seconds  | Caps short bursts                |
| **60 seconds** | Requests in the last 60 seconds | Enforces your overall rate limit |

Your allowed requests are counted over a sliding window (the last N seconds), not a fixed clock minute that resets at `:00`.

### Burstiness

Each short window allows more traffic than a perfectly even rate would. That headroom is the **burst factor**:

| Window     | Burst factor | Meaning at the default 900 req/min limit                              |
| ---------- | ------------ | --------------------------------------------------------------------- |
| 1 second   | **6×**       | Up to \~90 requests in a single second (steady rate is 15/sec)        |
| 6 seconds  | **3×**       | Up to \~270 requests in any 6-second span (steady rate is 90 / 6 sec) |
| 60 seconds | **1×**       | Up to 900 requests in the last minute                                 |

So you can send traffic in bursts, but not dump your entire minute quota at once.

### Soft limit near the ceiling

For the 6-second and 60-second windows, there is a soft zone above the limit (about **1.3×**). In that zone, requests are increasingly likely to be rejected. Past the hard ceiling, all requests are rejected.

If a request is rate limited, the response includes:

| Header              | Description                          |
| ------------------- | ------------------------------------ |
| `Retry-After`       | Seconds to wait before retrying      |
| `X-RateLimit-Limit` | Your maximum requests for the window |

Example response body:

```json theme={null}
{
  "status": 429,
  "error": "Rate Limit Exceeded",
  "message": "Current rate limit is 900 requests per minute. Please try again later."
}
```

<Tip>
  Space retries using the `Retry-After` header rather than immediately retrying. Immediate retries are more likely to stay rate limited.
</Tip>

## Increasing Your Rate Limits

If you require higher rate limits for your application, please contact us:

* **Slack**: Preferred contact method for the fastest response
* **Email**: [support@verisoul.ai](mailto:support@verisoul.ai)

When requesting increased limits, please provide:

* The `project_id` you are requesting a higher rate limit for
* The new rate limit you're requesting
* Justification for the increased limit (expected traffic volume, use case, etc.)

Typically rate limit increases are only approved for enterprise customers.
Our team will review your request and adjust your rate limits accordingly.
