Solicita acceso anticipado

Escribe tu nombre y dirección de correo de trabajo. Te enviaremos un enlace para confirmar tu solicitud de acceso a Tajo.

Límites globales

Brevo limita las peticiones a la API por endpoint. Cada límite es un número de peticiones por segundo (RPS), por hora (RPH) o ambos. Las cifras de abajo proceden de la página de límites de tasa de Brevo, consultada el 7 de octubre de 2026. Consulta esa página antes de dimensionar un trabajo grande.

Niveles de límite de tasa

NivelDisponible en
GeneralFree, Starter, Standard, Professional y Enterprise
AdvancedProfessional y Enterprise
ExtendedEnterprise

Límites por nivel

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
Otros endpoints bajo /v3/smtp300 RPH600 RPH1.800 RPH
Todos los endpoints bajo /v3/contacts10 RPS, 36.000 RPH20 RPS, 72.000 RPH60 RPS
Todos los endpoints bajo /v3/loyalty600 RPH1.200 RPH100.000 RPH
Todos los demás endpoints100 RPH200 RPH600 RPH

Cuando un endpoint tiene tanto un límite de RPS como uno de RPH, mantente por debajo de ambos.

Cabeceras de límite de tasa

Los endpoints con límite de tasa devuelven estas cabeceras:

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

Descripción de las cabeceras

  • x-sib-ratelimit-limit: peticiones permitidas en la ventana actual
  • x-sib-ratelimit-remaining: peticiones restantes en la ventana actual
  • x-sib-ratelimit-reset: tiempo hasta que se reinicia la ventana, normalmente en segundos

Brevo documenta estas cabeceras en su página de cabeceras de límite.

Supervisar el uso

Comprobar el uso actual

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'))
});
};

Gestionar los límites de tasa

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');
};

Si sigues alcanzando los límites

  1. Reparte las peticiones de forma uniforme: un límite de 1.000 RPS permite hasta 60.000 peticiones por minuto solo cuando se reparten de forma uniforme.
  2. Agrupa y almacena en caché: usa los endpoints masivos y evita volver a leer datos que ya tienes.
  3. Usa webhooks para las estadísticas: recibe eventos en lugar de consultar con polling los endpoints de estadísticas.
  4. Plantéate un nivel superior: los niveles avanzado y extendido vienen con los planes Professional y Enterprise.

Solicita acceso anticipado

Escribe tu nombre y dirección de correo de trabajo. Te enviaremos un enlace para confirmar tu solicitud de acceso a Tajo.

Asistente AI

¡Hola! Pregúntame lo que quieras sobre la documentación.

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

Cargando Markdown…
Abrir en Claude Abrir en ChatGPT