Basics

Rate limits

Limits protect the site for everyone. They apply per key.

LimitDefaultResetsError
Per minute30 requestsEvery minuterate_limited
Per day2 000 requests00:00 Tashkent time (UTC+5)daily_quota_exceeded
Bad keys per IP30 per 10 minutesAfter 10 minutesrate_limited

If your app needs more, write to us from the dashboard with your numbers; we raise limits per app.

Headers

Successful and limited responses include:

HeaderMeaning
X-RateLimit-LimitRequests allowed per minute for this key.
X-RateLimit-Daily-LimitRequests allowed per day.
X-RateLimit-Daily-RemainingRequests left today.
Retry-AfterOn 429 only: seconds to wait.

GET /v1/key also returns limits.used_today.

Usage alerts

We message you on Telegram, by email and in your site notifications when:

  • a key reaches 80% of its daily limit (once a day per key),
  • a key reaches its daily limit (once a day per key),
  • a key gets 50 error responses within an hour (once an hour per key).

No setup needed. The alert links straight to the key in your dashboard.

Staying under the limit

  • Cache catalog data. Products and prices change a few times a day, not every second.
  • Use limit=100 when paging through lists instead of many small pages.
  • Poll slowly. Checking a balance once a minute is plenty.
  • On 429, wait Retry-After seconds before the next call.

Keys that keep hitting their limits are flagged to us. Repeated abuse can get an app suspended (see API rules).