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

# Rate Limits

> API rate limits and best practices

## Current Limits

| Limit                             | Value   |
| --------------------------------- | ------- |
| Requests per minute               | **50**  |
| Max results per request (`top_k`) | **100** |

## Rate Limit Headers

When you exceed the rate limit, you'll receive a `429 Too Many Requests` response:

```json theme={null}
{
  "error": "Rate limit exceeded. Maximum 50 requests per minute."
}
```

## Best Practices

<AccordionGroup>
  <Accordion title="Implement exponential backoff">
    When you receive a 429 error, wait before retrying. Double the wait time with each retry.

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

    def make_request_with_retry(url, headers, json, max_retries=5):
        for attempt in range(max_retries):
            response = requests.post(url, headers=headers, json=json)

            if response.status_code == 429:
                wait_time = 2 ** attempt  # 1, 2, 4, 8, 16 seconds
                print(f"Rate limited. Waiting {wait_time}s...")
                time.sleep(wait_time)
                continue

            return response

        raise Exception("Max retries exceeded")
    ```
  </Accordion>

  <Accordion title="Batch your requests">
    Instead of making many small requests, use larger `top_k` values to get more results per request.

    ```python theme={null}
    # ❌ Bad: 100 requests for 100 results
    for i in range(100):
        search(query, top_k=1, offset=i)

    # ✅ Good: 1 request for 100 results
    search(query, top_k=100, offset=0)
    ```
  </Accordion>

  <Accordion title="Cache responses">
    Cache API responses to avoid making duplicate requests for the same data.
  </Accordion>
</AccordionGroup>

## Need Higher Limits?

Contact [support@rhizomeai.com](mailto:support@rhizomeai.com) to discuss custom rate limits for your use case.
