Limites de Utilização
A AstroAPI aplica limites de utilização para garantir um uso justo e a estabilidade da plataforma.
Limites Predefinidos
Os limites de utilização são determinados pelo teu plano de subscrição:
| Subscrição | Pedidos/minuto | Pedidos/mês |
|---|---|---|
| Basic | 60 | 150.000 |
| Gold | 120 | 300.000 |
| Premium | 300 | 750.000 |
| Deluxe | 600 | 1.000.000 |
Os teus limites específicos dependem da tua subscrição activa. Consulta o dashboard para ver os teus limites actuais.
Cabeçalhos de Limite de Utilização
Todas as respostas incluem informação sobre o limite de utilização:
http
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 55
X-RateLimit-Reset: 1699999999Gerir Limites de Utilização
Quando excedes o limite de utilização, a API devolve uma resposta 429 Too Many Requests:
json
{
"errors": [{
"status": "429",
"title": "Too Many Requests",
"detail": "Rate limit exceeded. Please retry after 60 seconds."
}]
}Estratégia de Reintento
Implementa recuo exponencial ao receber respostas 429:
typescript
async function fetchWithRetry(url: string, options: RequestInit, maxRetries = 3) {
for (let i = 0; i < maxRetries; i++) {
const response = await fetch(url, options);
if (response.status !== 429) {
return response;
}
const retryAfter = response.headers.get('Retry-After') || '60';
await new Promise(resolve =>
setTimeout(resolve, parseInt(retryAfter) * 1000)
);
}
throw new Error('Max retries exceeded');
}Limites por Endpoint
Alguns endpoints têm limites adicionais:
| Endpoint | Limite Adicional |
|---|---|
/api/chart/* | 100 renderizações/hora |
/api/calc/batch | 10 pedidos em lote/minuto |
Aumentar os Limites
Contacta o suporte para discutir limites de utilização personalizados para a tua aplicação.