Vraag vroegtijdige toegang aan

Vul je voornaam en een e-mailadres of telefoonnummer in. We nemen daarna contact met je op en leggen uit hoe je toegang krijgt tot Tajo.

Globale limieten

Brevo hanteert globale rate limits voor alle API-endpoints om eerlijk gebruik en optimale prestaties te garanderen.

Niveaus van rate limits

Gratis abonnement

  • Daglimiet: 300 verzoeken
  • Uurlimiet: 50 verzoeken
  • Burstlimiet: 10 verzoeken/minuut
  • E-mailcredits: 300/maand

Starter-abonnement

  • Daglimiet: 20.000 verzoeken
  • Uurlimiet: 1.000 verzoeken
  • Burstlimiet: 100 verzoeken/minuut
  • E-mailcredits: onbeperkt

Business-abonnement

  • Daglimiet: 50.000 verzoeken
  • Uurlimiet: 3.000 verzoeken
  • Burstlimiet: 300 verzoeken/minuut
  • E-mailcredits: onbeperkt

Enterprise-abonnement

  • Daglimiet: op maat (100.000+)
  • Uurlimiet: op maat (10.000+)
  • Burstlimiet: op maat (1.000+/minuut)
  • E-mailcredits: onbeperkt

Headers voor rate limits

Elke API-respons bevat informatie over de rate limits:

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

Beschrijving van de headers

  • X-RateLimit-Limit: totaal aantal toegestane verzoeken in het huidige venster
  • X-RateLimit-Remaining: resterende verzoeken in het huidige venster
  • X-RateLimit-Reset: Unix-timestamp waarop de limiet wordt gereset
  • X-RateLimit-Retry-After: aantal seconden dat je moet wachten voor een nieuwe poging

Gebruik monitoren

Huidig gebruik controleren

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

Monitoren via het dashboard

  1. Log in op je Brevo-dashboard
  2. Ga naar Instellingen → API-sleutels
  3. Bekijk het gebruik per API-sleutel
  4. Stel meldingen in voor limieten die je bijna bereikt

Resetvensters van de limieten

  • Daglimieten: worden gereset om 00:00 UTC
  • Uurlimieten: worden elk uur gereset op :00 minuten
  • Burstlimieten: schuivend venster (laatste 60 seconden)

Omgaan met rate limits

Exponentiële backoff

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

Abonnement upgraden

Als je structureel tegen de rate limits aanloopt:

  1. Analyseer je gebruik: bekijk welke endpoints je het meest gebruikt
  2. Optimaliseer je code: gebruik caching en batching
  3. Overweeg een upgrade: stap over naar een hoger niveau als dat nodig is
  4. Neem contact op met sales: voor enterprise-vereisten

Uitzonderingen op de rate limits

Webhook-endpoints

  • Vallen niet onder de standaard rate limits
  • Er gelden aparte limieten voor de bezorging van webhooks

Health check-endpoint

  • /v3/ping heeft ruimere limieten
  • Bedoeld voor monitoring en uptimecontroles

Batchbewerkingen

  • Tellen als één verzoek, maar er kunnen limieten gelden voor de payload
  • Efficiënter dan meerdere afzonderlijke verzoeken

Vraag vroegtijdige toegang aan

Vul je voornaam en een e-mailadres of telefoonnummer in. We nemen daarna contact met je op en leggen uit hoe je toegang krijgt tot Tajo.

automatische herkenning
AI-assistent

Hallo! Stel me vragen over de documentatie.