Início › Guias › fundamentos-automacao-api
Guia

Rate limit, retry e backoff: como parar de quebrar automação em API (n8n, Make, Zapier)

Atualizado em 2026-09-19 · por Redação Automação Hoje
Guia de rate limit, retry e backoff para automações em APIs (n8n, Make e Zapier)
Resposta rápida: Rate limit é o “teto” de requisições que uma API aceita por período. Para não derrubar seu fluxo, combine três coisas: detectar 429/5xx, aplicar retry com backoff (esperas crescentes) e limitar concorrência. Em n8n/Make/Zapier isso vira regra prática: menos paralelismo, filas (batch) e tentativas espaçadas com limite máximo.
· espaço publicitário ·
Em resumo
  • 429 (Too Many Requests) quase sempre pede esperar e tentar de novo, não “forçar” mais rápido
  • Backoff exponencial + jitter (aleatoriedade) reduz “tempestade” de requisições simultâneas
  • Retentativa sem idempotência cria duplicidade: cobre com chave única/deduplicação
  • Concorrência e paginação são tão importantes quanto o retry
  • Nem todo erro é retry: 400/401/403 normalmente exigem correção de dados/credencial
  1. 1) Identifique o tipo de erro (e não chute)

    Separe falhas em três baldes: (a) rate limit/temporário (429, 502, 503, 504, timeouts), (b) credencial/permissão (401/403) e (c) erro de dado/regra (400/422). Só o balde (a) é “candidato natural” a retry. Se você trata tudo como retry, o fluxo vira uma máquina de bater na parede.

  2. 2) Respeite o que a API está te dizendo

    Muitas APIs enviam headers de limite (ex.: quantidade restante, reset) ou um tempo para tentar novamente (Retry-After). Quando existir, essa é a melhor fonte de verdade. Quando não existir, use uma política conservadora (ex.: esperar alguns segundos e crescer a espera a cada tentativa). Sem número exato? Prefira esperar mais a queimar sua cota e derrubar o resto do dia.

  3. 3) Defina uma política de retry com backoff (e teto)

    Use backoff exponencial: a cada falha, a espera aumenta (por exemplo: 2s, 4s, 8s...). Adicione jitter (um pequeno fator aleatório) para evitar que vários jobs acordem juntos e causem novo 429. Coloque um limite: número máximo de tentativas e tempo máximo total de espera. Quando estourar, registre e siga para uma fila de reprocessamento, em vez de travar o workflow inteiro.

  4. 4) Controle concorrência e crie fila/batch

    A causa raiz de rate limit costuma ser paralelismo: múltiplas execuções simultâneas ou loops rápidos demais. Reduza concorrência (um por vez em rotas críticas), processe em lote (batch) e use paginação com pausa. Em automação no-code, isso é o equivalente a “colocar semáforo na rua”: não adianta ter retry perfeito se você continua jogando 200 requisições por segundo.

  5. 5) Proteja contra duplicidade com idempotência

    Retry pode repetir uma ação que já aconteceu (ex.: criar pedido, enviar mensagem, emitir nota). Sempre que possível, use idempotency key (quando a API suporta) ou crie sua própria trava: registre um identificador único (pedidoId+evento+data) em banco/planilha e cheque antes de criar/enviar de novo. Se não dá para checar, faça o lado “criação” ser o mais idempotente possível (upsert em vez de create).

  6. 6) Faça observabilidade mínima: log do erro e do payload

    Guarde: status code, endpoint, corpo/erro retornado, tentativa atual, tempo de espera aplicado e um identificador do item (leadId, orderId). Isso encurta debug e evita que o time “tente de novo” às cegas. Quando houver dado sensível, mascare (LGPD).

O que é rate limit (na prática) e por que aparece do nada

Rate limit é uma regra do provedor da API para evitar abuso e manter estabilidade. Ele pode ser por minuto, por segundo, por dia, por token de acesso, por IP, por conta — às vezes tudo ao mesmo tempo.

O motivo de “aparecer do nada” geralmente não é aleatório: pico de tráfego, um loop que aumentou volume, mais gente usando a mesma credencial, ou uma mudança de plano/limite do fornecedor. Automação que funcionava com 300 itens pode quebrar quando vira 3.000.

Retry x Backoff x Jitter: diferenças que mudam o jogo

Retry é tentar novamente. Backoff é esperar mais a cada tentativa. Jitter é bagunçar levemente o tempo de espera para evitar que várias execuções rebatam juntas.

Sem backoff, retry vira martelo pneumático. Sem jitter, seu time cria uma “tempestade sincronizada”: todos falham, todos esperam o mesmo tempo, todos voltam juntos, todos falham de novo.

TécnicaServe paraArmadilha comum
RetryRecuperar falhas temporáriasRepetir ação não idempotente e gerar duplicidade
Backoff (linear/exponencial)Reduzir pressão na API e aumentar chance de sucessoEsperar pouco e estourar limite de novo
JitterEvitar re-tentativas sincronizadasJitter grande demais e o fluxo fica lento sem necessidade
Limite de concorrênciaControlar volume por segundo/minutoEsquecer que múltiplos workflows/usuarios compartilham a mesma cota

Padrão recomendado para n8n, Make e Zapier (independente da ferramenta)

As três plataformas têm jeitos diferentes de configurar, mas o padrão mental é o mesmo: trate integrações como uma esteira com capacidade limitada, não como uma rajada infinita.

Quando você não tem controle fino de headers/limites, compense no seu lado: lotes menores, pausas, e retentativas com teto.

Quando NÃO fazer retry (e o que fazer em vez disso)

Nem todo erro é temporário. Repetir 401 (token inválido) cem vezes só vai gastar tempo e poluir log. Repetir 400 (payload errado) vai só confirmar que o payload continua errado.

A regra simples: erros de autenticação e validação pedem correção; erros de limite e indisponibilidade pedem espera.

Código/erroRetry?Ação típica
400/422 (validação)NãoCorrigir mapeamento/campos; registrar item para análise
401/403 (auth/permissão)NãoRenovar credencial, revisar escopos/permissões
404 (recurso não encontrado)DependeSe é consistência eventual, retry com poucas tentativas; senão, corrigir ID/fluxo
429 (rate limit)SimEsperar (Retry-After se existir) + backoff + reduzir concorrência
5xx/timeoutSimRetry com backoff e teto; se persistir, direcionar para fila de reprocessamento

Perguntas frequentes

Qual é a diferença entre rate limit e quota?
Rate limit normalmente é um limite por janela curta (por segundo/minuto). Quota costuma ser um limite acumulado (por dia/mês). Você pode estar “ok” na quota do mês e ainda assim tomar 429 porque concentrou requisições em poucos minutos.
Backoff exponencial é sempre melhor que linear?
Para 429 e saturação, costuma ser mais seguro porque reduz rapidamente a pressão. Linear pode funcionar em integrações mais previsíveis e com limites altos. Se você não sabe o limite real, exponencial com teto (máximo de espera e tentativas) tende a dar menos dor de cabeça.
Como evitar duplicidade quando faço retry em ações de criação (POST)?
Use idempotency key quando a API suportar. Se não suportar, implemente deduplicação do seu lado: registre um identificador único do evento e cheque antes de criar/enviar. Outra opção é trocar “create” por “upsert” (atualiza se existir, cria se não existir).
O que mais causa 429 além de volume alto?
Concorrência invisível: dois workflows diferentes usando a mesma credencial, reprocessamentos em massa, jobs agendados no mesmo minuto, ou múltiplos usuários/instâncias compartilhando o mesmo limite por conta. Às vezes o volume total é baixo, mas vem em rajadas.

Leia também