Limites globales

Brevo applique des limites de débit globales sur tous les endpoints de l’API afin de garantir une utilisation équitable et des performances optimales.

Paliers de limite de débit

Plan gratuit

  • Limite journalière : 300 requêtes
  • Limite horaire : 50 requêtes
  • Limite de rafale : 10 requêtes/minute
  • Crédits email : 300/mois

Plan Starter

  • Limite journalière : 20 000 requêtes
  • Limite horaire : 1 000 requêtes
  • Limite de rafale : 100 requêtes/minute
  • Crédits email : Illimités

Plan Business

  • Limite journalière : 50 000 requêtes
  • Limite horaire : 3 000 requêtes
  • Limite de rafale : 300 requêtes/minute
  • Crédits email : Illimités

Plan Enterprise

  • Limite journalière : Personnalisée (100 000+)
  • Limite horaire : Personnalisée (10 000+)
  • Limite de rafale : Personnalisée (1 000+/minute)
  • Crédits email : Illimités

En-têtes de limite de débit

Chaque réponse API inclut des informations sur les limites de débit :

HTTP/1.1 200 OK
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999
X-RateLimit-Reset: 1640995200
X-RateLimit-Retry-After: 3600

Description des en-têtes

  • X-RateLimit-Limit : Nombre total de requêtes autorisées dans la fenêtre actuelle
  • X-RateLimit-Remaining : Requêtes restantes dans la fenêtre actuelle
  • X-RateLimit-Reset : Timestamp Unix indiquant quand la limite se réinitialise
  • X-RateLimit-Retry-After : Secondes à attendre avant de réessayer

Suivi de l’utilisation

Vérifier l’utilisation actuelle

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-RateLimit-Limit'),
remaining: response.headers.get('X-RateLimit-Remaining'),
reset: new Date(response.headers.get('X-RateLimit-Reset') * 1000)
});
};

Surveillance via le tableau de bord

  1. Connectez-vous à votre tableau de bord Brevo
  2. Accédez à Paramètres → Clés API
  3. Consultez l’utilisation pour chaque clé API
  4. Configurez des alertes en cas d’approche des limites

Fenêtres de réinitialisation

  • Limites journalières : Réinitialisées à 00:00 UTC
  • Limites horaires : Réinitialisées à chaque heure à la minute :00
  • Limites de rafale : Fenêtre glissante (60 dernières secondes)

Gestion des limites de débit

Recul exponentiel

const makeRequestWithBackoff = async (url, options, maxRetries = 3) => {
for (let i = 0; i < maxRetries; i++) {
try {
const response = await fetch(url, options);
if (response.status === 429) {
const retryAfter = response.headers.get('X-RateLimit-Retry-After') || 60;
const delay = Math.min(1000 * Math.pow(2, i), retryAfter * 1000);
console.log(`Rate limited. Waiting ${delay}ms before retry ${i + 1}`);
await new Promise(resolve => setTimeout(resolve, delay));
continue;
}
return response;
} catch (error) {
if (i === maxRetries - 1) throw error;
}
}
};

Mise à niveau de plan

Lorsque vous atteignez régulièrement les limites de débit :

  1. Analysez l’utilisation : Identifiez les endpoints les plus sollicités
  2. Optimisez le code : Implémentez la mise en cache et le traitement par lots
  3. Envisagez une mise à niveau : Passez à un palier supérieur si nécessaire
  4. Contactez les ventes : Pour les besoins enterprise

Exceptions aux limites de débit

Endpoints Webhook

  • Non soumis aux limites de débit standard
  • Des limites de livraison webhook distinctes s’appliquent

Endpoint de vérification de l’état

  • /v3/ping a des limites allégées
  • Conçu pour la surveillance et les vérifications de disponibilité

Opérations par lots

  • Comptent comme une seule requête mais peuvent avoir des limites de charge utile
  • Plus efficaces que plusieurs requêtes individuelles
Assistant AI

Bonjour ! Posez-moi vos questions sur la documentation.

Commencez gratuitement avec Brevo