# Rate Limits

The impact.com API limits how many calls a client can make in a given hour to help protect our system against traffic spikes that could disable it. If the number of requests you are trying to make exceeds your limit, your requests will be throttled and we will respond with a `429 - Too Many Requests` response along with the following headers:

| *X-RateLimit-Limit*     | Maximum number of requests allowed for the resource within the given time period.                                                                                      |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| *X-RateLimit-Remaining* | Number of requests left as of the current request within the given time period.                                                                                        |
| *X-RateLimit-Reset*     | Number of seconds until the limit is reset. This is in-line with [IETF standards](https://datatracker.ietf.org/doc/html/draft-polli-ratelimit-headers-02#section-3.3). |

Each app may have different default rate limits. By default, the impact.com system limits users to 1,000 requests per hour. Certain resources like Conversions are not limited. Also, the `Catalogs` endpoint has a limit of 3,600 requests per hour. This is subject to change at any given time based on the needs of the system. It is best practice for applications to monitor their current rate limit status and dynamically throttle requests if necessary.

#### Example Rate Limit Headers

{% tabs %}
{% tab title="Default" %}

```json
HTTP/1.1 200 OK
Content-Type: application/json
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 100
X-RateLimit-Reset: 1487332519
```

{% endtab %}

{% tab title="Limit Exceeded" %}

```json
HTTP/1.1 429 Too Many Requests
Content-Type: application/json
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1487332519
```

{% endtab %}
{% endtabs %}


---

# Agent Instructions: 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:

```
GET https://integrations.impact.com/agency-v3/agency-v2/readme/rate-limits.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
