# Rate Limits

The impact.com partner 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:

| Attribute                        | Description                                                                                                                                                           |
| -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **`X-RateLimit-Limit-hour`**     | Maximum number of requests allowed for the resource within the given time period.                                                                                     |
| **`X-RateLimit-Remaining-hour`** | Number of requests left as of the current request within the given time period.                                                                                       |
| **`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) |
| **`Retry-After`**                | Will only be present on rate limited responses, and indicates how long the client will be rate limited for.                                                           |

Different endpoint groups have different default rate limits.

#### Hourly rate limits

| Group                 | Description                                                                                                            | Hourly rate limit |
| --------------------- | ---------------------------------------------------------------------------------------------------------------------- | ----------------- |
| Performance detail    | Any resource that references event level performance data, including `/Actions`, `/Clicks`, and some `/Reports`.       | 500 requests      |
| Performance aggregate | Any `/Reports` resource that references aggregated performance data.                                                   | 250 requests      |
| Product Search        | Any resource that enables partners to query brand’s product, including `/Catalogs/ItemSearch` and `/Catalogs/*/Items`. | 3,000 requests    |
| Other                 | Any resource not referenced above.                                                                                     | 1,000 requests    |

#### Daily rate limits

| Group         | Description                   | Daily rate limit |
| ------------- | ----------------------------- | ---------------- |
| Report Export | Any `/ReportExport` requests. | 100 requests     |
| Click Export  | Any `/ClickExport` requests.  | 10 requests      |

Rate limits are 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="HTTP" %}

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

{% endtab %}

{% tab title="LIMIT EXCEEDED" %}

```http
HTTP/1.1 429 Too Many Requests
Content-Type: application/json
X-RateLimit-Limit-hour: 100
X-RateLimit-Remaining-hour: 0
RateLimit-Reset: 700
Retry-After: 700
```

{% 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/partner-api-reference/partner-v15/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.
