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
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.

GroupDescriptionHourly rate limit
Performance detailAny resource that references event level performance data, including /Actions, /Clicks, and some /Reports.500 requests
Performance aggregateAny /Reports resource that references aggregated performance data.250 requests
Product SearchAny resource that enables partners to query brand’s product, including /Catalogs/ItemSearch and /Catalogs/*/Items.3,000 requests
OtherAny 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