Limite de Requisições
Quando um cliente excede o limite associado a ele, as requisições seguintes são bloqueadas.
O servidor responde com informações sobre os limites utilizados e o tempo de espera necessário para enviar uma nova requisição, anexadas aos cabeçalhos da resposta:
| Header | Exemplo | Descrição |
|---|---|---|
ratelimit-limit | 60 | Limite de requisições para o cliente. |
ratelimit-name | throttle_authenticated_web | Nome do throttle utilizado. |
ratelimit-remaining | 0 | Número de requisições disponíveis. |
ratelimit-reset | 1609844400 | Unix time — quando a contagem reinicia. |
retry-after | 30 | Segundos até a contagem reiniciar. Ver Retry-After. |
Existem dois tipos de limites: requisições GET e requisições POST. Em ambos os casos a contagem é feita por hora.
Limites máximos:
- 60 requisições/hora para
GET - 1000 requisições/hora para
POST
Caso sua operação precise de um número maior, fale com o suporte ou comercial.
A contagem é zerada no primeiro minuto de cada hora. A cada requisição, o servidor retorna ratelimit-limit e ratelimit-remaining.
Exemplo de resposta em sucesso
Date: Fri, 05 Nov 2010 12:00:00 GMT
Content-Type: application/json; charset=utf-8
ratelimit-limit: 1000
ratelimit-remaining: 486
Exemplo de resposta em bloqueio
Quando o limite é atingido, o servidor retorna HTTP 429 Too Many Requests. Aguarde o número de segundos do header retry-after antes da próxima requisição.
HTTP/1.1 429 Too Many Requests
Date: Fri, 05 Nov 2010 12:00:00 GMT
Content-Type: application/json; charset=utf-8
ratelimit-limit: 1000
ratelimit-remaining: 0
ratelimit-reset: 3600
ratelimit-name: throttle_authenticated_web
retry-after: 3600
{"error": "Limite de requisições POST por hora excedido para esse usuário."}
Referência: https://ietf-wg-httpapi.github.io/ratelimit-headers/draft-ietf-httpapi-ratelimit-headers.html