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 |
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.
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 |
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
HTTP/1.1 200 OK
Content-Type: application/json
X-RateLimit-Limit-hour: 100
X-RateLimit-Remaining-hour: 100
RateLimit-Reset: 700
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