Ansök om tidig åtkomst

Ange ditt förnamn och din e-postadress på jobbet. Vi skickar en länk för att bekräfta din begäran om åtkomst till Tajo.

Globala gränser

Brevo begränsar API-förfrågningar per endpoint. Varje gräns är ett antal förfrågningar per sekund (RPS), per timme (RPH) eller båda. Siffrorna nedan kommer från Brevos sida om rate limits, kontrollerad den 7 oktober 2026. Kontrollera den sidan innan du dimensionerar ett stort jobb.

Nivåer för rate limits

NivåTillgänglig på
AllmänFree, Starter, Standard, Professional och Enterprise
AvanceradProfessional och Enterprise
UtökadEnterprise

Gränser per nivå

EndpointAllmänAvanceradUtökad
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
Övriga endpoints under /v3/smtp300 RPH600 RPH1 800 RPH
Alla endpoints under /v3/contacts10 RPS, 36 000 RPH20 RPS, 72 000 RPH60 RPS
Alla endpoints under /v3/loyalty600 RPH1 200 RPH100 000 RPH
Alla övriga endpoints100 RPH200 RPH600 RPH

När en endpoint har både en RPS- och en RPH-gräns ska du hålla dig under båda.

Headers för rate limits

Endpoints med rate limit returnerar dessa headers:

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

Beskrivning av headers

  • x-sib-ratelimit-limit: tillåtna förfrågningar i det aktuella fönstret
  • x-sib-ratelimit-remaining: återstående förfrågningar i det aktuella fönstret
  • x-sib-ratelimit-reset: tid tills fönstret återställs, vanligtvis i sekunder

Brevo dokumenterar dessa headers på sin sida om rate limit-headers.

Övervaka användning

Kontrollera aktuell användning

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

Hantera rate limits

Exponentiell 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 fortsätter nå gränserna

  1. Sprid förfrågningarna jämnt: en gräns på 1 000 RPS tillåter upp till 60 000 förfrågningar per minut bara när de sprids jämnt.
  2. Batcha och cacha: använd bulk-endpoints och undvik att läsa om data som du redan har.
  3. Använd webhooks för statistik: ta emot händelser i stället för att polla statistik-endpoints.
  4. Överväg en högre nivå: den avancerade och den utökade nivån ingår i Professional- och Enterprise-abonnemang.

Ansök om tidig åtkomst

Ange ditt förnamn och din e-postadress på jobbet. Vi skickar en länk för att bekräfta din begäran om åtkomst till Tajo.

AI-assistent

Hej! Fråga mig om dokumentationen.

Den här sidan som Markdown: global-limits.md

Läser in Markdown …
Öppna i Claude Öppna i ChatGPT