Rate Limits
To ensure fair usage and system stability, the Streamoji API implements rate limiting on all endpoints.
Requests per minute100
Requests per hour5,000
Max Output Size15MB
When rate limits are exceeded, the API returns a 429 Too Many Requests status code with a Retry-After header indicating when you can retry.
Handling Rate Limits
async function handleRateLimit(response: Response) {
if (response.status === 429) {
const retryAfter = response.headers.get('Retry-After');
const waitTime = retryAfter ? parseInt(retryAfter) * 1000 : 60000;
console.log(`Rate limited. Waiting ${waitTime}ms before retry...`);
await new Promise(resolve => setTimeout(resolve, waitTime));
return true; // Indicates retry should happen
}
return false;
}