Skip to main content
Banan0 API Docs

Rate Limits

Understand API rate limits and how to handle them.

Rate Limits

Rate limits protect the API from abuse and ensure fair usage.

Default Limits

Limit TypeDefault
Requests per minute60
Concurrent runs10

Rate Limit Headers

Every response includes rate limit information:

http
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 45
X-RateLimit-Reset: 1704067200

Handling 429 Errors

When rate limited, you'll receive:

json
{
  "error": "Too many requests",
  "message": "Rate limit exceeded. Try again in 30 seconds.",
  "retry_after": 30
}

Best Practices

1. Implement exponential backoff:

typescript
async function retryWithBackoff(fn: () => PromiseResponse>, maxRetries = 3) {
  for (let i = 0; i < maxRetries; i++) {
    const response = await fn();
    if (response.status !== 429) return response;
    
    const retryAfter = parseInt(response.headers.get('Retry-After') || '1');
    await new Promise(r => setTimeout(r, retryAfter * 1000 * Math.pow(2, i)));
  }
  throw new Error('Max retries exceeded');
}

2. Check remaining quota before making requests

3. Use webhooks instead of polling to reduce requests

4. Contact support if you need higher limits

Command Palette

Search for a command to run...