Vraag vroegtijdige toegang aan

Vul je voornaam en je zakelijke e-mailadres in. We sturen je een link om je aanvraag voor toegang tot Tajo te bevestigen.

Globale limieten

Brevo beperkt API-verzoeken per endpoint. Elke limiet is een aantal verzoeken per seconde (RPS), per uur (RPH) of beide. De cijfers hieronder komen van de pagina met rate limits van Brevo, gecontroleerd op 7 oktober 2026. Controleer die pagina voordat je een grote taak plant.

Niveaus van rate limits

NiveauBeschikbaar voor
AlgemeenFree, Starter, Standard, Professional en Enterprise
GeavanceerdProfessional en Enterprise
UitgebreidEnterprise

Limieten per niveau

EndpointAlgemeenGeavanceerdUitgebreid
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
Overige endpoints onder /v3/smtp300 RPH600 RPH1.800 RPH
Alle endpoints onder /v3/contacts10 RPS, 36.000 RPH20 RPS, 72.000 RPH60 RPS
Alle endpoints onder /v3/loyalty600 RPH1.200 RPH100.000 RPH
Alle overige endpoints100 RPH200 RPH600 RPH

Als een endpoint zowel een RPS- als een RPH-limiet heeft, blijf dan onder beide.

Headers voor rate limits

Endpoints met een rate limit geven deze headers terug:

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

Beschrijving van de headers

  • x-sib-ratelimit-limit: toegestane verzoeken in het huidige venster
  • x-sib-ratelimit-remaining: resterende verzoeken in het huidige venster
  • x-sib-ratelimit-reset: tijd tot het venster wordt gereset, meestal in seconden

Brevo beschrijft deze headers op zijn pagina over rate limit-headers.

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-sib-ratelimit-limit'),
remaining: response.headers.get('x-sib-ratelimit-remaining'),
resetInSeconds: Number(response.headers.get('x-sib-ratelimit-reset'))
});
};

Omgaan met rate limits

Exponentiële backoff

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

Als je steeds tegen de limieten aanloopt

  1. Spreid verzoeken gelijkmatig: een limiet van 1.000 RPS staat alleen tot 60.000 verzoeken per minuut toe als ze gelijkmatig zijn gespreid.
  2. Batch en cache: gebruik bulk-endpoints en vermijd het opnieuw lezen van gegevens die je al hebt.
  3. Gebruik webhooks voor statistieken: ontvang events in plaats van statistiek-endpoints te pollen.
  4. Overweeg een hoger niveau: het geavanceerde en het uitgebreide niveau horen bij Professional- en Enterprise-abonnementen.

Vraag vroegtijdige toegang aan

Vul je voornaam en je zakelijke e-mailadres in. We sturen je een link om je aanvraag voor toegang tot Tajo te bevestigen.

AI-assistent

Hallo! Stel me vragen over de documentatie.

Deze pagina als Markdown: global-limits.md

Markdown laden…
Openen in Claude Openen in ChatGPT