Be om tidlig tilgang

Skriv inn fornavn og e-postadresse på jobb. Vi sender deg en lenke for å bekrefte forespørselen om tilgang til Tajo.

Globale grenser

Brevo begrenser API-forespørsler per endepunkt. Hver grense er et antall forespørsler per sekund (RPS), per time (RPH) eller begge deler. Tallene nedenfor kommer fra Brevos side om rate limits, kontrollert 7. oktober 2026. Sjekk den siden før du dimensjonerer en stor jobb.

Nivåer for rate limits

NivåTilgjengelig på
GenereltFree, Starter, Standard, Professional og Enterprise
AvansertProfessional og Enterprise
UtvidetEnterprise

Grenser per nivå

EndepunktGenereltAvansertUtvidet
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
Andre endepunkter under /v3/smtp300 RPH600 RPH1 800 RPH
Alle endepunkter under /v3/contacts10 RPS, 36 000 RPH20 RPS, 72 000 RPH60 RPS
Alle endepunkter under /v3/loyalty600 RPH1 200 RPH100 000 RPH
Alle andre endepunkter100 RPH200 RPH600 RPH

Når et endepunkt har både en RPS- og en RPH-grense, må du holde deg under begge.

Headere for rate limits

Endepunkter med rate limit returnerer disse headerne:

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

Beskrivelse av headerne

  • x-sib-ratelimit-limit: tillatte forespørsler i det gjeldende vinduet
  • x-sib-ratelimit-remaining: gjenværende forespørsler i det gjeldende vinduet
  • x-sib-ratelimit-reset: tid til vinduet nullstilles, vanligvis i sekunder

Brevo dokumenterer disse headerne på sin side om rate limit-headere.

Overvåke bruk

Sjekke gjeldende bruk

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

Håndtere rate limits

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

Når du stadig treffer grensene

  1. Spre forespørslene jevnt: en grense på 1 000 RPS tillater opptil 60 000 forespørsler i minuttet bare når de er jevnt spredt.
  2. Batch og cache: bruk bulk-endepunkter, og unngå å lese data på nytt som du allerede har.
  3. Bruk webhooks for statistikk: motta hendelser i stedet for å polle statistikk-endepunkter.
  4. Vurder et høyere nivå: det avanserte og det utvidede nivået følger med Professional- og Enterprise-abonnementer.

Be om tidlig tilgang

Skriv inn fornavn og e-postadresse på jobb. Vi sender deg en lenke for å bekrefte forespørselen om tilgang til Tajo.

AI-assistent

Hei! Spør meg om dokumentasjonen.

Denne siden som Markdown: global-limits.md

Laster inn Markdown …
Åpne i Claude Åpne i ChatGPT