Solicite acesso antecipado

Indique o seu nome e endereço de e-mail profissional. Enviaremos um link para confirmar o seu pedido de acesso ao Tajo.

Limites Globais

A Brevo limita os pedidos da API por endpoint. Cada limite é um número de pedidos por segundo (RPS), por hora (RPH) ou ambos. Os valores abaixo vêm da página de limites de taxa da Brevo, conferida em 7 de outubro de 2026. Confira essa página antes de dimensionar um job grande.

Níveis de limite de taxa

NívelDisponível em
GeneralFree, Starter, Standard, Professional e Enterprise
AdvancedProfessional e Enterprise
ExtendedEnterprise

Limites por nível

EndpointGeneralAdvancedExtended
POST /v3/smtp/email, GET /v3/smtp/blockedContacts1.000 RPS, 3.600.000 RPH2.000 RPS, 7.200.000 RPH6.000 RPS
GET /v3/smtp/emails2 RPS, 7.200 RPH3 RPS, 10.800 RPH18.000 RPH
POST /v3/transactionalSMS/send150 RPS, 540.000 RPH200 RPS, 720.000 RPH250 RPS
POST /v3/events10 RPS, 36.000 RPH20 RPS, 72.000 RPH60 RPS
POST /v3/orders/status5 RPS, 18.000 RPH10 RPS, 36.000 RPH15 RPS
POST /v3/products2 RPS, 7.200 RPH4 RPS, 14.400 RPH21.600 RPH
Outros endpoints em /v3/smtp300 RPH600 RPH1.800 RPH
Todos os endpoints em /v3/contacts10 RPS, 36.000 RPH20 RPS, 72.000 RPH60 RPS
Todos os endpoints em /v3/loyalty600 RPH1.200 RPH100.000 RPH
Todos os outros endpoints100 RPH200 RPH600 RPH

Quando um endpoint tem um limite de RPS e um de RPH, fique abaixo dos dois.

Cabeçalhos de limite de taxa

Os endpoints com limite de taxa retornam estes cabeçalhos:

HTTP/1.1 200 OK
x-sib-ratelimit-limit: 1000
x-sib-ratelimit-remaining: 750
x-sib-ratelimit-reset: 1

Descrição dos cabeçalhos

  • x-sib-ratelimit-limit: pedidos permitidos na janela atual
  • x-sib-ratelimit-remaining: pedidos restantes na janela atual
  • x-sib-ratelimit-reset: tempo até a janela ser reiniciada, normalmente em segundos

A Brevo documenta esses cabeçalhos na sua página de cabeçalhos de limite.

Monitorar o uso

Verificar o uso atual

const checkRateLimit = async () => {
const response = await fetch('https://api.brevo.com/v3/account', {
headers: { 'api-key': process.env.BREVO_API_KEY }
});
console.log({
limit: response.headers.get('x-sib-ratelimit-limit'),
remaining: response.headers.get('x-sib-ratelimit-remaining'),
resetInSeconds: Number(response.headers.get('x-sib-ratelimit-reset'))
});
};

Lidar com limites de taxa

Backoff exponencial

const makeRequestWithBackoff = async (url, options, maxRetries = 3) => {
for (let i = 0; i < maxRetries; i++) {
const response = await fetch(url, options);
if (response.status !== 429) return response;
const resetSeconds = Number(response.headers.get('x-sib-ratelimit-reset') || 1);
const delay = Math.max(resetSeconds * 1000, 1000 * Math.pow(2, i));
console.log(`Rate limited. Waiting ${delay}ms before retry ${i + 1}`);
await new Promise(resolve => setTimeout(resolve, delay));
}
throw new Error('Rate limit retries exhausted');
};

Quando você continua atingindo os limites

  1. Distribua os pedidos de forma uniforme: um limite de 1.000 RPS permite até 60.000 pedidos por minuto somente quando eles são distribuídos de forma uniforme.
  2. Agrupe e use cache: use endpoints em lote e evite reler dados que você já tem.
  3. Use webhooks para estatísticas: receba eventos em vez de consultar os endpoints de estatísticas por polling.
  4. Considere um nível mais alto: os níveis avançado e estendido vêm com os planos Professional e Enterprise.

Solicite acesso antecipado

Indique o seu nome e endereço de e-mail profissional. Enviaremos um link para confirmar o seu pedido de acesso ao Tajo.

Assistente AI

Olá! Pergunte-me qualquer coisa sobre a documentação.

Esta página em Markdown: global-limits.md

Carregando o Markdown…
Abrir no Claude Abrir no ChatGPT