API reference / Rate limits and errors
Rate limits and errors
Limits apply per app key and per IP address.
| Limit | Value |
|---|---|
| Requests per app key | 60 per minute |
| Requests per IP address | 120 per minute |
| Results per page | Up to 100 (limit) |
| Date range per request | Up to 366 days |
Rate limit headers
Every response includes X-RateLimit-Limit and X-RateLimit-Remaining. When a limit is reached the API responds with HTTP 429, code RATE_LIMITED, and a Retry-After header in seconds.
Error codes
| HTTP status | Code | Description |
|---|---|---|
400 |
INVALID_REQUEST |
A header or query parameter is invalid. |
401 |
MISSING_CREDENTIALS |
X-App-Key or X-App-Secret is missing. |
401 |
INVALID_CREDENTIALS |
App key or app secret is wrong. |
403 |
FEATURE_UNAVAILABLE |
REST APIs are not on the current plan. |
404 |
SHOP_NOT_FOUND |
Shop not found or not available for this app key. Applies to every endpoint except Get Shops. |
429 |
RATE_LIMITED |
More than 60 requests per minute per app key, or 120 per minute per IP. Wait for the number of seconds in the Retry-After header, then retry. |
500 |
INTERNAL_ERROR |
An unexpected error occurred. Retry later. |
Error response format
Errors return success: false with a code and a human-readable message:
{
"success": false,
"error": {
"code": "RATE_LIMITED",
"message": "Too many requests. Retry after 21 seconds."
}
}
Handling 429s
- Watch
X-RateLimit-Remainingand slow down before you hit zero. - On a 429, wait the number of seconds in
Retry-After, then retry — do not retry immediately. - For backfills, page with
limit=100and stay under 60 requests per minute; a full year of daily rows is at most a few requests per endpoint.
Tiktok Shop Partner
Kixmon makes it so easy to know your numbers. See all hidden costs, track every penny, and avoid profit headaches—it’s all at your fingertips.
Resources
Features
Get in Touch
Emailanna@kixmonapp.com
Phone+1 3472959050
START YOUR 7 DAY FREE TRIAL