Rate Limits

Composio enforces rate limits per organization over a fixed one-minute window. Every authenticated endpoint draws from the same budget — tool execution, connected accounts, triggers, and the rest — so the limit below is your organization's total across all API calls.

Rate limits by plan

PlanRate limitWindow
Starter2,000 requests1 minute
Hobby2,000 requests1 minute
Growth10,000 requests1 minute
EnterpriseCustom-

Rate limit headers

Every response includes headers so you can track usage without guessing:

HeaderDescription
X-RateLimitTotal requests allowed in the current window
X-RateLimit-RemainingRequests remaining in the current window
X-RateLimit-Window-SizeWindow size (e.g., 60s for 60 seconds)
Retry-AfterSeconds until the window resets (only on 429 responses)

Rate limit response

When you exceed the rate limit, you'll receive a 429 Too Many Requests response:

{
  "message": "Rate limit exceeded. Limit: 10000 requests per 1 minutes"
}

Best practices

  1. Watch X-RateLimit-Remaining — read it on each response to know how much headroom you have left in the window.

  2. Honor Retry-After — on a 429, wait the number of seconds it gives you before retrying instead of hammering the endpoint.

  3. Cache what doesn't change — keep tool definitions and other static data client-side so you don't spend requests re-fetching them.

Need higher limits?

If you hit these limits regularly, upgrade your plan or talk to us about custom limits for your use case.