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

# Rate Limits

> Understanding ZKScore API rate limits and quotas

## Overview

ZKScore API implements rate limiting to ensure fair usage and maintain service quality for all users.

## Rate Limit Tiers

### Free Tier

* **Requests per minute**: 60
* **Requests per hour**: 1,000
* **Requests per day**: 10,000

### Pro Tier

* **Requests per minute**: 300
* **Requests per hour**: 10,000
* **Requests per day**: 100,000

### Enterprise Tier

* **Requests per minute**: 1,000
* **Requests per hour**: 50,000
* **Requests per day**: 1,000,000

## Rate Limit Headers

All API responses include rate limit information:

```
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 45
X-RateLimit-Reset: 1640995200
```

## Handling Rate Limits

<CodeGroup>
  ```javascript JavaScript theme={null}
  async function makeRequestWithRetry(url, options) {
    try {
      const response = await fetch(url, options);
      
      if (response.status === 429) {
        const retryAfter = response.headers.get('Retry-After');
        await new Promise(resolve => setTimeout(resolve, retryAfter * 1000));
        return makeRequestWithRetry(url, options);
      }
      
      return response;
    } catch (error) {
      throw error;
    }
  }
  ```

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

  def make_request_with_retry(url, headers):
      try:
          response = requests.get(url, headers=headers)
          
          if response.status_code == 429:
              retry_after = int(response.headers.get('Retry-After', 60))
              time.sleep(retry_after)
              return make_request_with_retry(url, headers)
          
          return response
      except Exception as e:
          raise e
  ```
</CodeGroup>

## Best Practices

1. **Implement Exponential Backoff**: Increase delay between retries
2. **Cache Responses**: Store frequently accessed data
3. **Batch Requests**: Combine multiple operations when possible
4. **Monitor Usage**: Track your rate limit consumption
5. **Upgrade When Needed**: Consider higher tiers for production use

## Related Documentation

* [Error Handling](/guides/error-handling)
* [Best Practices](/guides/best-practices)
