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

# Rate Limits

> Understand Dashlink API rate limits and best practices

The Dashlink API implements rate limiting to ensure fair usage and maintain optimal performance for all users. Rate limits control the number of API requests you can make within a specific time window. The rate limit windows are measured in minutes, and the reset time is provided in seconds.

Rate limits are determined by your subscription plan and are applied at the organization level. All API keys within the same organization share the same rate limit quota.

## Rate Limit Headers

Every API response includes rate limit information in the response headers. These headers help you monitor your API usage and implement proper rate limit handling in your application.

**Rate Limit Response Headers:**

| Header                  | Description                                                                                                |
| ----------------------- | ---------------------------------------------------------------------------------------------------------- |
| `X-RateLimit-Limit`     | The maximum number of requests you can make within the current time window (window duration is in minutes) |
| `X-RateLimit-Remaining` | The number of requests remaining in the current time window                                                |
| `X-RateLimit-Reset`     | The time (in seconds) until the current rate limit window resets                                           |

## Understanding Rate Limit Headers

### X-RateLimit-Limit

This header indicates the maximum number of requests that your organization can make within the current rate limit window. This limit is shared across all API keys in your organization and is based on your subscription plan.

**Example:**

```
X-RateLimit-Limit: 300
```

This means your organization can make up to 300 requests within the current time window, shared across all API keys.

### X-RateLimit-Remaining

This header shows the number of requests that your organization can still make before hitting the rate limit. This count is shared across all API keys in your organization.

**Example:**

```
X-RateLimit-Remaining: 299
```

This indicates your organization has 299 requests remaining in the current window, shared across all API keys. As requests are made using any API key, this value will decrease.

### X-RateLimit-Reset

This header specifies the time (in seconds) until the current rate limit window resets and your request count is refreshed.

**Example:**

```
X-RateLimit-Reset: 49
```

This means the rate limit window will reset in 49 seconds, at which point your request count will be reset to the maximum limit.

## Example Response

When you make an API request, the response headers will include the rate limit information:

```bash Example Response Headers theme={null}
HTTP/1.1 200 OK
X-RateLimit-Limit: 300
X-RateLimit-Remaining: 299
X-RateLimit-Reset: 49
Content-Type: application/json
```

## Handling Rate Limits

When you exceed the rate limit, the API will return a `429 Too Many Requests` status code. Here's how to handle rate limits effectively:

**Best Practices:**

* **Monitor Rate Limit Headers** - Always check the `X-RateLimit-Remaining` header to track your remaining requests
* **Implement Exponential Backoff** - If you receive a 429 response, wait before retrying, and increase the wait time for subsequent retries
* **Respect the Reset Time** - Use the `X-RateLimit-Reset` header to know when you can make requests again
* **Cache Responses** - Reduce API calls by caching responses when appropriate

**Example Error Response:**

```json Rate Limit Exceeded theme={null}
{
    "error": {
        "message": "Rate limit exceeded. Please try again later.",
        "status_code": 429,
        "code": "RATE_LIMIT_EXCEEDED"
    }
}
```

<Warning>
  If you consistently hit rate limits, consider optimizing your application to reduce the number of API calls or contact support to discuss your usage requirements.
</Warning>

<Info>
  Rate limits are determined by your subscription plan and are applied at the organization level. All API keys within the same organization share the same rate limit quota. This means if you have multiple API keys, they all contribute to and share the same rate limit pool.
</Info>

## Rate limits by plan

The rate limit quota for your organization depends on your subscription plan. The following table shows the rate limits for each plan:

| Plan                                                                                                                                           | Rate Limit                              |
| ---------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------- |
| <a href="https://dashlink.ai/pricing" style={{ color: 'black', textDecorationColor: '#565ADD', textDecoration: 'underline' }}>**Free**</a>     | 60 requests per minute                  |
| <a href="https://dashlink.ai/pricing" style={{ color: 'black', textDecorationColor: '#565ADD', textDecoration: 'underline' }}>**Plus**</a>     | 300 requests per minute                 |
| <a href="https://dashlink.ai/pricing" style={{ color: 'black', textDecorationColor: '#565ADD', textDecoration: 'underline' }}>**Growth**</a>   | 1,200 requests per minute               |
| <a href="https://dashlink.ai/pricing" style={{ color: 'black', textDecorationColor: '#565ADD', textDecoration: 'underline' }}>**Pro**</a>      | 3,000 requests per minute               |
| <a href="https://dashlink.ai/sales" style={{ color: 'black', textDecorationColor: '#565ADD', textDecoration: 'underline' }}>**Enterprise**</a> | Custom - contact sales for more details |

<Info>
  Enterprise plans have custom rate limits tailored to your specific needs. Contact our sales team to discuss your requirements and get a custom rate limit configuration.
</Info>
