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

# Rate Limits

> Request rate limits by plan

## Limits by plan

| Plan                    | Requests / minute |
| ----------------------- | ----------------- |
| Pay as you go (credits) | 100               |
| Developer               | 500               |
| Pro                     | Unlimited         |

Rate limits use a **sliding window** — the count resets continuously rather than at fixed intervals.

## Rate limit headers

Every API response includes headers showing your current usage:

```
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 87
X-RateLimit-Reset: 1704067260
```

## 429 Too Many Requests

When you exceed your rate limit, the API returns:

```json theme={null}
{
  "error": "Rate limit exceeded. Retry after 12 seconds.",
  "code": 429
}
```

Implement exponential backoff when you receive a 429 response:

```python theme={null}
import time
import requests

def fetch_with_retry(url, headers, params, max_retries=3):
    for attempt in range(max_retries):
        response = requests.get(url, headers=headers, params=params)
        if response.status_code == 429:
            wait = 2 ** attempt  # 1s, 2s, 4s
            time.sleep(wait)
            continue
        response.raise_for_status()
        return response.json()
    raise Exception("Max retries exceeded")
```

## Increasing your limit

* **Upgrade to Developer** — 500 req/min, \$99/month
* **Upgrade to Pro** — no rate limit, \$499/month
* **Enterprise** — custom limits, contact [support@marketdataset.ai](mailto:support@marketdataset.ai)
