Skip to main content

Rate limits

The BIDEX API applies a rate limit per client IP address to protect the service.

SettingValue
Limit100 requests per rolling 60-second window
ScopePer client IP address (from the x-forwarded-for header)
Applies toAll requests to /api/v1/bidex/products, including rejected ones

When the limit is exceeded​

Requests above the limit receive HTTP 429 with:

{
"err": {
"name": "BidexRateLimitError",
"message": "Rate limit exceeded. Too many requests.",
"status": 429,
"requestId": "..."
}
}

The response also includes a Retry-After header with the number of seconds remaining in the current window:

Retry-After: 37

Wait that long and resend the same request. The feed is read-only: retrying is always safe and never causes duplicate changes.

Tips for integrations​

  • Prefer few, large requests. A single CSV request downloads the complete catalog in one go, which is more efficient than many small JSON pages.
  • For JSON pagination, download pages one after another instead of in parallel bursts, and stay well below 100 requests per minute.
  • Handle 429 automatically. Read Retry-After, wait, and retry; treat the value as a minimum.
  • Cache downloads locally. Product data changes at most a few times per day; schedule your download accordingly instead of polling continuously.