Rate Limits
Rate limits protect the platform from abuse and ensure fair usage for all customers. This page explains how rate limits work and how to handle them.Rate Limit Tiers
By Plan
| Plan | API Requests/Min | Concurrent Calls | Outbound Calls/Min |
|---|---|---|---|
| Starter | 60 | 5 | 10 |
| Professional | 300 | 25 | 60 |
| Enterprise | Custom | Custom | Custom |
By Endpoint
Some endpoints have specific limits:| Endpoint | Limit | Window |
|---|---|---|
/v1/calls/outbound | Plan limit | Per minute |
/v1/sms | 100/min | Per minute |
/v1/knowledge-base | 60/min | Per minute |
/v1/exports | 10/hour | Per hour |
/v1/bulk/* | 5/min | Per minute |
Rate Limit Headers
Every API response includes rate limit information:| Header | Description |
|---|---|
X-RateLimit-Limit | Maximum requests per window |
X-RateLimit-Remaining | Requests remaining in window |
X-RateLimit-Reset | Unix timestamp when window resets |
X-RateLimit-Window | Window duration in seconds |
Rate Limit Exceeded
When you exceed the rate limit:Response
Headers
Handling Rate Limits
Retry with Backoff
Implement exponential backoff:Python Example
Optimizing API Usage
Batch Requests
Instead of multiple single requests:Caching
Cache responses when appropriate:Webhooks Instead of Polling
Use webhooks instead of polling for updates:Monitoring Usage
Check Current Usage
Usage Dashboard
View rate limit usage in the dashboard:- Go to Settings → Usage
- Select API Usage tab
- View requests by endpoint and time
Concurrency Limits
Concurrent Calls
Limit on simultaneous active calls:| Plan | Concurrent Inbound | Concurrent Outbound |
|---|---|---|
| Starter | 5 | 5 |
| Professional | 25 | 25 |
| Enterprise | Custom | Custom |
Handling Concurrency Limits
Burst Handling
Short bursts above the rate limit are handled gracefully:- Small bursts (10-20% over) are typically allowed
- Sustained over-limit traffic is rate limited
- Burst allowance resets after a quiet period
Enterprise Rate Limits
Custom Limits
Enterprise customers can request:- Higher request limits
- Increased concurrent call capacity
- Dedicated rate limit pools
- Priority processing
Requesting Increases
Contact your account manager or sales@usecrew.ai with:- Current usage patterns
- Expected growth
- Specific endpoint requirements
- Business justification
Dedicated Resources
Enterprise plans can include:- Dedicated API endpoints
- Reserved capacity
- Isolated rate limit pools
- Custom SLAs
Best Practices
Monitor rate limit headers
Monitor rate limit headers
Track remaining requests and plan accordingly.
Implement exponential backoff
Implement exponential backoff
Don’t hammer the API when rate limited.
Use batch endpoints
Use batch endpoints
Reduce request count with batch operations.
Cache when possible
Cache when possible
Don’t re-fetch data that hasn’t changed.
Use webhooks
Use webhooks
Subscribe to events instead of polling.
Plan for limits
Plan for limits
Design systems that gracefully handle rate limits.
Troubleshooting
Unexpected Rate Limiting
- Check if multiple applications share the same API key
- Verify you’re not running duplicate processes
- Review automated scripts for infinite loops
- Check for webhook retry storms
Consistent Rate Limiting
If you’re consistently hitting limits:- Review your usage patterns
- Optimize with batching and caching
- Consider upgrading your plan
- Contact support for guidance
Next Steps
- API Overview — Full API documentation
- Webhooks — Event-driven updates
- Billing & Plans — Plan comparison