Saltar para o conteúdo
Meirra
Voltar à documentação da API

Visão geral

Os limites de taxa protegem a API contra abuso e garantem uso justo para todos os clientes. Cada chave de API tem uma cota de requisições que é redefinida a cada hora. Quando você ultrapassa o limite, as requisições retornam um erro 429 (Too Many Requests) até a cota ser redefinida.

Limites padrão

Limites de taxa padrão por chave de API: | Tipo de limite | Limite | Período de reset | |----------------|--------|------------------| | Requisições | 1.000/hora | Por hora | | Pico | 100/minuto | Por minuto | | Tamanho do lote | 100 itens | Por requisição | **Limites por endpoint:** • Verificação de e-mail: 1.000/hora • Busca de e-mail: 500/hora • Enriquecimento: 200/hora • Busca de leads: 500/hora • Análise de SEO: 200/hora Precisa de limites maiores? Fale com o suporte para conhecer as opções enterprise.

Cabeçalhos de limite de taxa

Toda resposta inclui informações de limite de taxa nos cabeçalhos: ``` X-RateLimit-Limit: 1000 X-RateLimit-Remaining: 856 X-RateLimit-Reset: 1709046000 Retry-After: 3600 ``` | Cabeçalho | Descrição | |-----------|-----------| | `X-RateLimit-Limit` | Máximo de requisições permitidas por hora | | `X-RateLimit-Remaining` | Requisições restantes na janela atual | | `X-RateLimit-Reset` | Timestamp Unix em que o limite é redefinido | | `Retry-After` | Segundos até poder tentar de novo (apenas em 429) |

Tratar os limites de taxa

Ao receber uma resposta 429, implemente uma lógica de retry: ```javascript async function makeRequest(url, options) { const response = await fetch(url, options); if (response.status === 429) { const retryAfter = response.headers.get('Retry-After') || 60; await sleep(retryAfter * 1000); return makeRequest(url, options); // Tentar novamente } return response; } ``` **Backoff exponencial:** Para falhas repetidas, use backoff exponencial com jitter: ```javascript const delay = Math.min(baseDelay * 2 ** attempt + randomJitter, maxDelay); ```

Boas práticas

Otimize seu uso da API para evitar limites: • **Use endpoints em lote** — verifique 100 e-mails em uma requisição em vez de 100 requisições • **Faça cache das respostas** — não busque novamente dados que você já tem • **Distribua as requisições** — não dispare todas de uma vez • **Monitore os cabeçalhos** — acompanhe sua cota restante de forma proativa • **Trate erros com elegância** — implemente lógica de retry adequada • **Use webhooks** — em operações assíncronas, espere o callback em vez de fazer polling **Abordagem baseada em fila:** ```javascript // Processar requisições com rate limiting const queue = new RateLimitedQueue({ maxConcurrent: 10, minDelay: 100 // ms entre requisições }); await queue.addAll(requests); ```

Precisa de mais ajuda?

Falar com o suporte