Bed om tidlig adgang til Tajo

Indtast dit fornavn og din arbejds-e-mailadresse. Vi sender dig et link til at bekræfte din anmodning om adgang til Tajo.

Globale grænser

Brevo begrænser API-forespørgsler pr. endepunkt. Hver grænse er et antal forespørgsler pr. sekund (RPS), pr. time (RPH) eller begge dele. Tallene nedenfor stammer fra Brevos side om rate limits, kontrolleret den 7. oktober 2026. Tjek den side, før du dimensionerer en stor opgave.

Niveauer for rate limits

NiveauTilgængeligt på
GenereltFree, Starter, Standard, Professional og Enterprise
AvanceretProfessional og Enterprise
UdvidetEnterprise

Grænser pr. niveau

EndepunktGenereltAvanceretUdvidet
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-grænse, skal du holde dig under begge.

Headers for rate limits

Endepunkter med rate limit returnerer disse headers:

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

Beskrivelse af headerne

  • x-sib-ratelimit-limit: tilladte forespørgsler i det aktuelle vindue
  • x-sib-ratelimit-remaining: resterende forespørgsler i det aktuelle vindue
  • x-sib-ratelimit-reset: tid til vinduet nulstilles, normalt i sekunder

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

Overvågning af forbrug

Tjek aktuelt forbrug

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åndtering af rate limits

Eksponentiel 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 bliver ved med at ramme grænserne

  1. Spred forespørgsler jævnt: en grænse på 1.000 RPS tillader kun op til 60.000 forespørgsler i minuttet, når de er spredt jævnt.
  2. Batch og cache: brug bulk-endepunkter, og undgå at læse data igen, som du allerede har.
  3. Brug webhooks til statistik: modtag hændelser i stedet for at polle statistik-endepunkter.
  4. Overvej et højere niveau: det avancerede og det udvidede niveau følger med Professional- og Enterprise-abonnementer.

Bed om tidlig adgang til Tajo

Indtast dit fornavn og din arbejds-e-mailadresse. Vi sender dig et link til at bekræfte din anmodning om adgang til Tajo.

AI-assistent

Hej! Spørg mig om dokumentationen.

Denne side som Markdown: global-limits.md

Indlæser Markdown …
Åbn i Claude Åbn i ChatGPT