Overview
WebRun enforces rate limits to ensure fair usage and system stability. Rate limits are applied per user (API key owner), not per API key.Rate limits are per user, not per API key. If you have multiple API keys, they all share the same rate limit.
Rate Limits by Endpoint
Rate Limit Details
Per-User Limits
All rate limits are tied to your user account, not individual API keys. This means:- Creating multiple API keys does not increase your rate limit
- All requests from all your API keys count toward the same limit
- Rate limits reset every minute
Per-Minute Window
Rate limits use a sliding window of 60 seconds:- At any given moment, you can make up to 10 requests
- The window slides continuously (not fixed to clock minutes)
- Requests older than 60 seconds ago don’t count toward your limit
Unlimited Endpoints
Some endpoints have no rate limits:GET /task/:sessionId/:taskId- Poll as frequently as needed for task resultsGET /v1/models- Retrieve model list anytimeGET /start/health- Monitor system health without restrictionsGET /start/active-sockets- Check active connections anytime
Rate Limit Headers
WebRun API responses include rate limit information in HTTP headers:
Example Response Headers:
Handling 429 Errors
Error Response Format
When you exceed the rate limit, you’ll receive a429 Too Many Requests response:
Retry Strategy
Implement exponential backoff when handling rate limits:Check Rate Limit Before Request
Proactively check remaining rate limit from headers:Best Practices
1. Batch Operations
Instead of making many small requests, combine operations into fewer requests: Bad - Multiple requests:2. Use Polling Efficiently
Polling endpoints have no rate limit, so use them instead of creating new requests: Bad:3. Implement Request Queuing
Queue requests to stay within rate limits:4. Monitor Rate Limit Headers
Always check rate limit headers to avoid hitting limits:5. Use WebSocket for Real-Time Updates
WebSocket connections don’t count toward rate limits: Bad - Polling via REST:Common Rate Limit Scenarios
Scenario 1: Batch Processing
Problem: Need to process 100 tasks Solution: Create sessions and spread requests over timeScenario 2: Real-Time Monitoring
Problem: Need to monitor multiple sessions in real-time Solution: Use WebSocket instead of REST pollingScenario 3: Burst Traffic
Problem: Occasional bursts of 20-30 requests Solution: Implement request queuing with automatic throttlingFAQ
Can I increase my rate limit?
Currently, rate limits are fixed at 10 requests per minute per user. Enterprise plans with higher rate limits may be available in the future.Do WebSocket connections count toward rate limits?
No. WebSocket connections and messages do not count toward rate limits. Only REST API requests are rate limited.What happens if I hit the rate limit?
You’ll receive a429 Too Many Requests response with a Retry-After header indicating how long to wait before retrying.
Are rate limits shared across API keys?
Yes. Rate limits are per user, not per API key. All your API keys share the same rate limit.Can I check my current rate limit usage?
Yes. Check theX-RateLimit-Remaining header in any API response to see how many requests you have left in the current window.
Do failed requests count toward the rate limit?
Yes. All requests count toward the rate limit, including those that fail with 4xx or 5xx errors.Next Steps
Endpoints
Complete endpoint reference
Parameters
Parameter documentation
Response Formats
Response format reference
Error Handling
Error handling guide