Be om tidlig tilgang

Skriv inn fornavnet ditt og en e-postadresse eller et telefonnummer. Vi kontakter deg med informasjon om tilgang til Tajo.

Globale grenser

Brevo håndhever globale hastighetsgrenser på tvers av alle API-endepunkter for å sikre rettferdig bruk og best mulig ytelse.

Nivåer for hastighetsgrenser

Free-plan

  • Daglig grense: 300 forespørsler
  • Timesgrense: 50 forespørsler
  • Burst-grense: 10 forespørsler per minutt
  • E-postkreditter: 300 per måned

Starter-plan

  • Daglig grense: 20 000 forespørsler
  • Timesgrense: 1 000 forespørsler
  • Burst-grense: 100 forespørsler per minutt
  • E-postkreditter: Ubegrenset

Business-plan

  • Daglig grense: 50 000 forespørsler
  • Timesgrense: 3 000 forespørsler
  • Burst-grense: 300 forespørsler per minutt
  • E-postkreditter: Ubegrenset

Enterprise-plan

  • Daglig grense: Tilpasset (100 000+)
  • Timesgrense: Tilpasset (10 000+)
  • Burst-grense: Tilpasset (1 000+ per minutt)
  • E-postkreditter: Ubegrenset

Headere for hastighetsgrenser

Hvert API-svar inneholder informasjon om hastighetsgrensen:

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

Beskrivelse av headerne

  • X-RateLimit-Limit: Totalt antall forespørsler som er tillatt i gjeldende vindu
  • X-RateLimit-Remaining: Forespørsler som gjenstår i gjeldende vindu
  • X-RateLimit-Reset: Unix-tidsstempel for når grensen nullstilles
  • X-RateLimit-Retry-After: Antall sekunder du må vente før nytt forsøk

Overvåk forbruket

Sjekk gjeldende forbruk

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

Overvåking i dashboardet

  1. Logg inn på Brevo-dashboardet ditt
  2. Naviger til Settings → API Keys
  3. Se forbruket for hver API-nøkkel
  4. Sett opp varsler for når du nærmer deg grensene

Nullstillingsvinduer for hastighetsgrenser

  • Daglige grenser: Nullstilles kl. 00.00 UTC
  • Timesgrenser: Nullstilles hver time på :00 minutter
  • Burst-grenser: Glidende vindu (siste 60 sekunder)

Slik håndterer du hastighetsgrenser

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

Oppgradering av plan

Når du treffer hastighetsgrensene gang på gang:

  1. Analyser forbruket: Se hvilke endepunkter du bruker mest
  2. Optimaliser koden: Ta i bruk mellomlagring og satsvise kall
  3. Vurder oppgradering: Gå opp et nivå hvis du trenger det
  4. Kontakt salg: For behov på Enterprise-nivå

Unntak fra hastighetsgrensene

Webhook-endepunkter

  • Omfattes ikke av de vanlige hastighetsgrensene
  • Egne grenser for webhook-leveranser gjelder

Endepunkt for helsesjekk

  • /v3/ping har mildere grenser
  • Laget for overvåking og oppetidssjekker

Satsvise operasjoner

  • Teller som én forespørsel, men kan ha grenser for nyttelasten
  • Mer effektivt enn mange enkeltforespørsler

Be om tidlig tilgang

Skriv inn fornavnet ditt og en e-postadresse eller et telefonnummer. Vi kontakter deg med informasjon om tilgang til Tajo.

automatisk gjenkjenning
AI-assistent

Hei! Spør meg om dokumentasjonen.