Erro 429 ‘Rate Limit Exceeded’ na API do Perplexity: Como Corrigir
🔍 WiseChecker

Erro 429 ‘Rate Limit Exceeded’ na API do Perplexity: Como Corrigir

Você chama a API do Perplexity e recebe o código HTTP 429 com a mensagem “Rate Limit Exceeded.” Esse erro interrompe sua aplicação ou script. A causa é simples: você enviou mais requisições do que seu plano ou chave permite em um intervalo de tempo. Este artigo explica por que o erro 429 ocorre e oferece três soluções concretas que você pode aplicar agora.

Resumo: Três Maneiras de Corrigir o Erro 429 da API do Perplexity

  • Verifique os limites do seu plano em perplexity.ai/settings/api: O nível gratuito permite 5 requisições por minuto; o nível Pro permite 100 requisições por minuto.
  • Adicione backoff exponencial no seu código: Espere 2 segundos, depois 4, depois 8 segundos entre as tentativas para evitar atingir o limite novamente.
  • Faça upgrade para um nível superior ou compre cota adicional: Os planos Pro, Team ou Enterprise aumentam seu teto de taxa.

ADVERTISEMENT

Por que o Perplexity Retorna o Erro 429 de Limite de Taxa

O código de status 429 é uma resposta HTTP padrão que indica que o cliente enviou muitas requisições em um determinado período. O Perplexity impõe limites de taxa para proteger sua infraestrutura e garantir uso justo entre todos os usuários. Cada chave de API tem um número máximo de requisições por minuto (RPM) e tokens por minuto (TPM). Quando você excede qualquer um desses limites, o servidor recusa a requisição e retorna o erro 429.

Os limites exatos dependem do seu plano de assinatura:

  • Nível gratuito: 5 requisições por minuto, 10.000 tokens por minuto
  • Nível Pro: 100 requisições por minuto, 200.000 tokens por minuto
  • Nível Team: 500 requisições por minuto, 1.000.000 tokens por minuto
  • Nível Enterprise: Limites personalizados negociados com o setor de vendas do Perplexity

O erro também pode ocorrer se você reutilizar a mesma chave de API em várias aplicações ou threads sem coordenar o tempo das requisições. Uma única chave compartilha sua cota entre todos os chamadores.

Passos para Corrigir o Erro 429 da API do Perplexity

Use os métodos a seguir em ordem. Comece pela solução mais simples e passe para as mais técnicas apenas se necessário.

Método 1: Verifique o Status Atual do Seu Limite de Taxa

Antes de fazer alterações no código, verifique seu uso real e a cota restante. O Perplexity inclui cabeçalhos de limite de taxa em cada resposta da API.

  1. Inspecione os cabeçalhos da resposta
    Procure por estes cabeçalhos na resposta HTTP: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset. O valor X-RateLimit-Remaining informa quantas requisições você ainda pode fazer na janela atual.
  2. Acesse o painel do Perplexity
    Vá para perplexity.ai/settings/api. Seu plano atual e estatísticas de uso são exibidos no topo da página.
  3. Verifique o uso concorrente
    Se vários serviços ou scripts usam a mesma chave de API, suas requisições combinadas contam contra a cota única. Crie chaves separadas para cada aplicação no painel.

Método 2: Implemente Backoff Exponencial e Lógica de Repetição

Adicione lógica de repetição à sua aplicação que espera progressivamente mais tempo entre as tentativas. Esta é a correção mais confiável para erros intermitentes de limite de taxa.

  1. Detecte o código de status 429
    No código do seu cliente de API, verifique se o status da resposta HTTP é igual a 429. Se sim, não repita imediatamente.
  2. Calcule um atraso usando backoff exponencial
    Use esta fórmula: atraso = atraso_base * 2^número_da_tentativa. Comece com um atraso base de 2 segundos. Após a primeira repetição, espere 4 segundos, depois 8 segundos, depois 16 segundos. Limite o atraso máximo em 60 segundos.
  3. Adicione jitter para evitar o efeito manada
    Multiplique o atraso calculado por um fator aleatório entre 0,5 e 1,5. Isso evita que vários clientes repitam exatamente ao mesmo tempo.
  4. Defina um número máximo de repetições
    Pare após 5 tentativas. Se a requisição ainda falhar, registre o erro e notifique seu sistema de monitoramento.

Método 3: Reduza a Frequência de Requisições

Se sua aplicação naturalmente envia rajadas de requisições, limite a taxa no lado do cliente.

  1. Adicione um atraso entre as requisições
    Insira um time.sleep em Python ou setTimeout em JavaScript entre chamadas consecutivas à API. Para o nível gratuito, espere pelo menos 12 segundos entre requisições (5 requisições por minuto = uma requisição a cada 12 segundos).
  2. Use uma fila com limitador de taxa
    Implemente um algoritmo de token bucket ou leaky bucket. Bibliotecas como ratelimit em Python ou bottleneck em Node.js lidam com isso automaticamente.
  3. Agrupe várias consultas em uma única requisição
    Se seu caso de uso permitir, combine vários prompts pequenos em uma única chamada de API. Por exemplo, peça ao modelo para responder três perguntas em uma resposta em vez de fazer três chamadas separadas.

ADVERTISEMENT

Se o Erro 429 Persistir Após a Correção Principal

Você Fez Upgrade do Plano, mas Ainda Recebe Erros 429

O upgrade pode não entrar em vigor imediatamente. Saia do painel do Perplexity, limpe o cache do navegador e faça login novamente. Gere uma nova chave de API na página de configurações. Chaves antigas podem manter os limites do plano anterior por até 15 minutos. Use a nova chave em sua aplicação.

Múltiplas Aplicações Compartilham uma Única Chave de API

Cada aplicação que chama a API do Perplexity com a mesma chave consome do mesmo pool de cota. Crie uma chave de API separada para cada aplicação no painel. Em seguida, monitore o uso de cada chave de forma independente. Esse isolamento evita que uma aplicação com comportamento inadequado prejudique as outras.

Seu Código Tem um Loop Infinito ou Recursão Não Intencional

Um bug no seu código pode enviar requisições em um loop infinito. Adicione registro em torno de cada chamada de API para ver a contagem de requisições por minuto. Se a contagem exceder seu limite em segundos, inspecione as condições do loop e a profundidade da recursão. Adicione um disjuntor que interrompa as chamadas de API após um limite configurável.

API do Perplexity Gratuita vs Pro: Limites de Taxa e Comportamento de Repetição

Item Nível Gratuito Nível Pro
Requisições por minuto 5 100
Tokens por minuto 10.000 200.000
Acesso a modelos Apenas Perplexity Small Perplexity Small, Perplexity Large, GPT-4o, Claude 3.5 Sonnet
Cabeçalho Retry-After Incluído na resposta 429 Incluído na resposta 429
Reinício da cota A cada 60 segundos A cada 60 segundos

O erro 429 da API do Perplexity é um sinal de que sua aplicação precisa desacelerar ou fazer upgrade do plano. Agora você pode verificar seu uso atual no painel, adicionar backoff exponencial com jitter ao seu código e criar chaves de API separadas para cada aplicação. Se precisar de maior throughput, o nível Pro a $20 por mês aumenta o limite de requisições de 5 para 100 por minuto. Para cargas de trabalho de produção, considere os planos Team ou Enterprise, que oferecem limites de taxa personalizados e suporte prioritário. Monitore o cabeçalho X-RateLimit-Remaining em cada resposta para detectar limites próximos antes que eles acionem um erro 429.

ADVERTISEMENT