Rate Limits
Understand and manage API rate limits.Overview
Rate limits prevent abuse and ensure fair usage across all users.Limits by Plan
Free Tier
- Requests: 100/hour
- Executions: 1,000/month
- Concurrent: 5
Pro Plan
- Requests: 1,000/hour
- Executions: 100,000/month
- Concurrent: 50
Enterprise
- Requests: Custom
- Executions: Custom
- Concurrent: Custom
Rate Limit Headers
Every API response includes rate limit headers:X-RateLimit-Limit- Total requests allowed per windowX-RateLimit-Remaining- Requests remaining in current windowX-RateLimit-Reset- Unix timestamp when limit resetsX-RateLimit-Retry-After- Seconds until you can retry (if rate limited)
Rate Limit Exceeded
When you exceed your rate limit:Response (429)
Handling in Code
Best Practices
1. Check Headers
2. Implement Backoff
3. Batch Requests
4. Cache Results
5. Use Webhooks
Rate Limit Tiers
Rate limits are calculated per:- API Token: Each token has independent limits
- IP Address: Additional per-IP limits prevent abuse
- Time Window: Sliding 1-hour window
Concurrent Execution Limits
Maximum concurrent executions:- Free: 5
- Pro: 50
- Enterprise: Custom
Handling Concurrency
Monitoring Usage
Check Current Usage
Usage Dashboard
View real-time usage at:Increase Limits
Upgrade Plan
Request Increase
For Enterprise plans, contact:- Email: sales@ensemble.dev
- Dashboard: Settings → Rate Limits → Request Increase
Error Codes
RATE_LIMIT_EXCEEDED- Hourly limit exceededQUOTA_EXCEEDED- Monthly quota exceededCONCURRENT_LIMIT_EXCEEDED- Too many concurrent executions

