> ## 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 Limiting Guide

> Understanding and working with ZKScore API rate limits

## Overview

The ZKScore API implements rate limiting to ensure fair usage and system stability. This guide explains rate limits and how to handle them.

## Rate Limits

### API Endpoints

| Tier       | Requests/Minute | Requests/Day |
| ---------- | --------------- | ------------ |
| Free       | 60              | 10,000       |
| Developer  | 600             | 100,000      |
| Pro        | 6,000           | 1,000,000    |
| Enterprise | Custom          | Custom       |

## Handling Rate Limits

<CodeGroup>
  ```javascript JavaScript theme={null}
  async function fetchWithRetry(url, options, maxRetries = 3) {
    for (let i = 0; i < maxRetries; i++) {
      try {
        const response = await fetch(url, options);
        
        if (response.status === 429) {
          const retryAfter = response.headers.get('Retry-After') || 60;
          await new Promise(resolve => setTimeout(resolve, retryAfter * 1000));
          continue;
        }
        
        return response;
      } catch (error) {
        if (i === maxRetries - 1) throw error;
      }
    }
  }
  ```
</CodeGroup>

## Best Practices

1. **Caching**: Cache responses to reduce requests
2. **Batch Operations**: Use batch endpoints
3. **Exponential Backoff**: Implement backoff strategy
4. **Monitor Usage**: Track your API usage
5. **Upgrade Plan**: Upgrade if hitting limits

## Related Documentation

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