Pular para o conteúdo principal

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:

HeaderExemploDescrição
ratelimit-limit60Limite de requisições para o cliente.
ratelimit-namethrottle_authenticated_webNome do throttle utilizado.
ratelimit-remaining0Número de requisições disponíveis.
ratelimit-reset1609844400Unix time — quando a contagem reinicia.
retry-after30Segundos 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