> For the complete documentation index, see [llms.txt](https://docs.exoclick.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.exoclick.com/api/exoclick-public-api/api-manual-rate-limiting.md).

# Rate Limiting

## Overall request limits

The API is rate-limited to 150 requests every 60 seconds. All requests count towards the total. Every request processed by the API returns rate limiting information in the HTTP headers.

{% hint style="info" %}
**Note**: Rate limiting is based on both username and ip address. Therefore a single username is limited to 150 requests every 60 seconds, as is a single IP address.
{% endhint %}

## Login request limits

Login requests are rate-limited to **10 requests every 60 seconds**. All requests count towards the total.

{% hint style="info" %}
**Note**: The IP and username of every statistics request made will count towards these limits.
{% endhint %}

## Statistics request limits

Statistics requests are rate limited to 30 requests per minute for each IP address and 25 requests per minute for each username.

{% hint style="info" %}
**Note**: The IP and username of every statistics request made will count towards these limits.
{% endhint %}

For example, if you log in with your username on a single computer and make 25 statistics requests, the next one you make will fail. However, you could change to a different username and make 5 more statistics requests, before hitting the IP address limit.

## Examples

### Rate Limiting - Example 1

```bash
$ curl -i https://api.example.com/v2/statistics/a/date
```

```json
{
  "HTTP/1.1": "200 OK",
  "Date": "Fri, 24 Oct 2014 14:57:32 GMT",
  "Content-Type": "application/json",
  "Transfer-Encoding": "chunked",
  "X-Rate-Limit-Limit": 25,
  "X-Rate-Limit-Remaining": 44,
  "X-Rate-Limit-Reset": 27
}
```

When the rate limit is exceeded a *429 Too Many Requests* HTTP error will be thrown by any subsequent requests until the rate limit is reset. As with a normal request the rate limiting information will be available in the HTTP headers.

### Rate Limiting - Example 2 (Limit Exceeded)

```bash
$ curl -i https://api.example.com/v2/statistics/a/date
```

```json
{
  "HTTP/1.1": "429 Too Many Requests",
  "Date": "Fri, 24 Oct 2014 15:04:35 GMT",
  "Content-Type": "application/json",
  "Transfer-Encoding": "chunked",
  "X-Rate-Limit-Limit": 25,
  "X-Rate-Limit-Remaining": 0,
  "X-Rate-Limit-Reset": 12
}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.exoclick.com/api/exoclick-public-api/api-manual-rate-limiting.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
