429 Too Many Requests response.
Rate limits by plan
Rate limits are applied per organization, per endpoint. Limits are expressed in requests per minute (RPM):
Organizations on a trial use Start-Up rate limits regardless of the selected plan.
Rate-limited endpoints
The following endpoints enforce rate limits:
Additional endpoints (
POST /browser-pools, PUT /browser-pools/:id, POST /invocations) have rate limiting infrastructure in place and may be enforced in the future.
Response headers
When a rate-limited endpoint is called, the API includes these headers in the response:
These headers are included on both successful and rate-limited responses for rate-limited endpoints.
When a request is rejected, the response also includes:
How Retry-After is calculated
Kernel uses a token bucket algorithm for rate limiting. Each organization gets a bucket with capacity equal to the RPM limit. The bucket refills at a steady rate (capacity / 60 tokens per second). TheRetry-After value is the number of seconds until enough tokens have refilled to allow the request, with a minimum of 1 second.
Example rate-limited response
Handling rate limits
When you receive a429 response:
- Read the
Retry-Afterheader to determine how long to wait - Wait for the specified number of seconds
- Retry the request
X-RateLimit-Remaining header to proactively throttle requests before hitting the limit.
If you need higher rate limits, contact us about the Enterprise plan or request a custom override.