Rate Limits

AgentInbox uses rate limits to ensure fair usage and platform stability. Understand your limits and how to handle them.

Plan Limits

Rate limits are applied per API key and vary by your subscription plan.

API Rate Limits

Rate limits are applied per API key. Limits vary by plan and reset on a sliding window.

Free

60 requests per minute

Pro

300 requests per minute

Enterprise

Custom limits, contact sales

Response Headers

Every API response includes headers indicating your current rate limit status.

HTTP Response Headers
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 45
X-RateLimit-Reset: 1718191200

Header Definitions

  • X-RateLimit-Limit — Maximum requests allowed in the window
  • X-RateLimit-Remaining — Requests remaining in the current window
  • X-RateLimit-Reset — Unix timestamp when the window resets

Handling 429 Errors

When you exceed the rate limit, the API returns a 429 status code. Use exponential backoff to retry.

typescript
async function withRetry<T>(fn: () => Promise<T>, retries = 3): Promise<T> {
try {
return await fn();
} catch (err: any) {
if (err.status === 429 && retries > 0) {
const delay = Math.pow(2, 3 - retries) * 1000;
await new Promise((r) => setTimeout(r, delay));
return withRetry(fn, retries - 1);
}
throw err;
}
}

Respect Retry-After

The API may include a Retry-After header. If present, wait at least that many seconds before retrying.

Inbox Quotas

In addition to rate limits, there are quotas on the number of active inboxes you can maintain.

Free

10 active inboxes

Pro

100 active inboxes

Enterprise

Unlimited active inboxes

Best Practices

  • Use webhooks instead of polling when possible
  • Cache inbox metadata locally to avoid repeated GET requests
  • Implement exponential backoff for all API calls
  • Batch operations where the API supports it
  • Monitor your usage in the dashboard

Next Steps