> 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
