BizKitHub

Překlad není k dispozici

Tento článek zatím není přeložen do jazyka Čeština. Zobrazuje se anglická verze.

Rate limiting

How BizKitHub API rate limits work across plans, which headers to monitor, how to handle 429 responses gracefully, and best practices for staying within quota.

Naposledy aktualizováno 24. července 2026

Fair usage policies ensure optimal performance for all users. Learn how rate limits work and implement graceful handling in your applications.

Overview

  • Sliding window — Rate limits use a sliding window algorithm for smooth, predictable throttling without sudden resets.
  • Burst allowance — Handle traffic spikes with burst limits that allow short-term usage above your base rate.
  • Per API key — Limits are applied per API key, allowing you to distribute load across multiple keys if needed.

Rate Limits by Plan

Choose a plan that matches your application's needs. Upgrade anytime as your usage grows.

PlanRequestsPeriodBurst LimitFeatures
Free1,000per hour50Basic API access, community support, standard endpoints
Starter10,000per hour200Priority API access, email support, all endpoints
Professional100,000per hour1,000Dedicated pool, phone support, custom webhooks
EnterpriseCustomnegotiableUnlimitedDedicated infrastructure, SLA guarantee, custom limits

Rate Limit Headers

Every API response includes headers to help you monitor and manage your usage in real-time.

HeaderDescriptionExample
X-RateLimit-LimitMaximum requests allowed in the current time window1000
X-RateLimit-RemainingRequests remaining in the current time window999
X-RateLimit-ResetUnix timestamp when the rate limit window resets1640995200
Retry-AfterSeconds to wait before retrying (only on 429 responses)3600

Handling Rate Limits

429 Too Many Requests

When you exceed your rate limit, the API returns a 429 status code. Implement retry logic with exponential backoff for graceful handling.

Error Response

HTTP/1.1 429 Too Many Requests
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1640995200
Retry-After: 3600
{
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "Too many requests",
"retry_after": 3600
}
}

Retry Logic Example

async function fetchWithRetry(url, options, retries = 3) {
for (let i = 0; i <= retries; i++) {
const res = await fetch(url, options);
if (res.status === 429) {
const wait = res.headers.get('Retry-After');
const delay = wait
? parseInt(wait) * 1000
: Math.pow(2, i) * 1000;
if (i < retries) {
await new Promise(r => setTimeout(r, delay));
continue;
}
}
return res;
}
}

Best Practices

  • Monitor rate limit headers — Track X-RateLimit-Remaining in every response to proactively manage your usage before hitting limits.
  • Implement exponential backoff — When rate limited, wait progressively longer between retries to avoid overwhelming the API.
  • Cache responses — Store frequently accessed data locally to minimize redundant API calls and conserve your quota.
  • Use batch endpoints — Combine multiple operations into single requests using our batch APIs when available.

Pro tip

Use webhooks instead of polling when possible. This eliminates unnecessary API calls and provides real-time updates without consuming your rate limit.

Need Higher Limits?

Enterprise customers get custom rate limits tailored to their specific requirements, dedicated infrastructure, and priority support. See the API documentation or contact sales through support.