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

# Rate limiting

> Learn how Infisical Cloud enforces rate limits on API requests.

Infisical Cloud enforces per-minute rate limits on API requests. A global cap of 600 requests per minute per client IP applies to every endpoint (the [status endpoint](/docs/api-reference/endpoints/instance/status) is exempt). On top of that, category-specific limits are tracked separately per client IP address.

## Categories

Each API request is counted against one of the following categories:

* **Read**: read operations
* **Write**: create, update, and delete operations
* **Secret**: secret management operations (for example, reading or creating a secret)
* **Identity creation**: creating a new machine identity in an organization
* **Project creation**: creating a new project in an organization

## Limits on Infisical Cloud

A global cap of 600 requests per minute per client IP applies to every endpoint (except the [status endpoint](/docs/api-reference/endpoints/instance/status)).  On top of that, category-specific limits are tracked separately per client IP address.

The per-category limits by plan on Infisical Cloud are:

<Tabs>
  <Tab title="Free">
    * **Read**: 200 per minute
    * **Write**: 90 per minute
    * **Secret**: 120 per minute
    * **Identity creation**: 30 per minute
    * **Project creation**: 30 per minute
  </Tab>

  <Tab title="Pro">
    * **Read**: 350 per minute
    * **Write**: 200 per minute
    * **Secret**: 300 per minute
    * **Identity creation**: 30 per minute
    * **Project creation**: 30 per minute
  </Tab>
</Tabs>

<Note>
  Enterprise plans on Infisical Cloud can get higher custom rate limits. Contact
  [sales@infisical.com](mailto:sales@infisical.com) for details.
</Note>

## Limits on self-hosted instances

If you self-host Infisical, no rate limits are enforced on the API by default. If you need throttling on your API surface, you'll need to configure an external rate limiter.

## Exceeding rate limits (429 response)

A request that exceeds the applicable limit returns HTTP `429` with the standard [error response](/docs/api-reference/overview/errors):

```json theme={"dark"}
{
  "reqId": "req-abc123",
  "statusCode": 429,
  "message": "Rate limit exceeded. Please try again in 42 seconds",
  "error": "RateLimitExceeded"
}
```

The `message` field includes the number of seconds remaining in the current rate limit window. Wait at least that long before resending the request.
