Rate Limits
AgentBridge enforces per-API-key rate limits to ensure fair usage and platform stability. Limits vary by plan and apply to both tool executions and management API calls.
Limits by Plan #
| Plan | Requests / min | Requests / day | Concurrent |
|---|---|---|---|
| Free | 20 | 500 | 2 |
| Pro | 120 | 10 000 | 10 |
| Team | 600 | 100 000 | 50 |
| Enterprise | Custom | Custom | Custom |
Rate Limit Headers #
Every response includes these headers:
| Header | Description |
|---|---|
X-RateLimit-Limit | Max requests allowed in the current window |
X-RateLimit-Remaining | Requests remaining in the current window |
X-RateLimit-Reset | Unix timestamp when the window resets |
Retry-After | Seconds to wait (only present on 429 responses) |
Handling 429 Errors #
When rate-limited, AgentBridge returns 429 Too Many Requests. Use the Retry-After header value with exponential back-off:
typescript
async function executeWithRetry(payload, maxRetries = 3) {
for (let attempt = 0; attempt < maxRetries; attempt++) {
const res = await fetch('/api/execute', {
method: 'POST',
headers: { 'Authorization': `Bearer ${API_KEY}`, 'Content-Type': 'application/json' },
body: JSON.stringify(payload),
});
if (res.status !== 429) return res.json();
const wait = parseInt(res.headers.get('Retry-After') || '1', 10) * 1000;
await new Promise(r => setTimeout(r, wait * Math.pow(2, attempt)));
}
throw new Error('Rate limit exceeded after retries');
}
Was this page helpful?