Os pedidos usam uma única janela móvel de 60 segundos por conta, partilhada por todas as chaves. O gasto bem-sucedido retido ao longo da vida define o nível da conta; proteções por IP e por ação podem rejeitar antes ou separadamente. Não existe quota horária nem por chave.
20.000 pedidos / minuto / endereço IPAplicado antes da validação da chave, de modo que a enumeração de chaves por força bruta seja limitada. Compartilhado entre todas as chaves atrás do mesmo IP. O padrão é definido globalmente e não é configurável pelo usuário.
120–2.400 pedidos / 60 segundos móveisTodas as chaves API ativas de uma conta consomem o mesmo contador. A escala fixa de gasto bem-sucedido vitalício fornece o limite, salvo se existir uma substituição direta de RPM.
Depende da açãoAlgumas ações sensíveis adicionam uma regra de conta mais restrita. Por exemplo, cancel aceita 30 pedidos por minuto por conta; o seu 429 informa action.
A qualificação usa o gasto bem-sucedido retido durante toda a vida da conta. Entregas concluídas e parciais somam o valor retido; reembolsos posteriores o reduzem. O limite efetivo atualiza a partir do total armazenado sem tarefa diária. Use action=account_status para consultar o nível ganho e as RPM efetivas.
| Nível | Gasto vitalício mínimo | Pedidos / minuto |
|---|---|---|
| 0 | $0.00000000 | 120 |
| 1 | $10.00000000 | 300 |
| 2 | $50.00000000 | 600 |
| 3 | $100.00000000 | 900 |
| 4 | $500.00000000 | 1,200 |
| 5 | $1000.00000000 | 1,800 |
| 6 | $2500.00000000 | 2,400 |
| Cabeçalho | Descrição |
|---|---|
| X-RateLimit-Limit | Em respostas normais, o limite efetivo de pedidos por minuto partilhado pela conta. Num 429, o limite informado pela camada que rejeitou. |
| X-RateLimit-Remaining | Em respostas normais, os pedidos restantes na janela partilhada da conta. Num 429, o valor restante informado pela camada que rejeitou. |
| X-RateLimit-Reset | Número relativo de segundos até a janela informada reiniciar; não é um timestamp Unix. |
| X-RateLimit-Tier | O nível ganho pelo gasto bem-sucedido vitalício (0–6). Uma substituição personalizada de RPM não altera este valor. |
| X-RateLimit-Source | "tier" quando a escala fixa fornece as RPM efetivas; "custom" quando uma substituição direta do administrador as fornece. |
| X-RateLimit-DeniedBy | Enviado em respostas 429 quando um limitador identificado rejeita a chamada: "ip", "api_requests_per_minute" ou "action". |
| Retry-After | Em uma resposta 429 ou 503 que pode ser repetida, aguarde pelo menos os segundos indicados por Retry-After antes de tentar novamente. Para action=add, reutilize a mesma chave de idempotência após aguardar. |
ip, api_requests_per_minute e action identificam a camada que rejeitou; mudar de chave não contorna o limite partilhado da conta, IP ou ação.action=status.