Poproś o wcześniejszy dostęp

Podaj imię oraz adres e-mail lub numer telefonu. Wyślemy Ci informacje o dostępie do Tajo.

Limity globalne

Brevo egzekwuje globalne limity zapytań we wszystkich endpointach API, aby zapewnić uczciwe korzystanie i optymalną wydajność.

Poziomy limitów zapytań

Plan Free

  • Limit dzienny: 300 zapytań
  • Limit godzinowy: 50 zapytań
  • Limit chwilowy (burst): 10 zapytań/minutę
  • Kredyty email: 300/miesiąc

Plan Starter

  • Limit dzienny: 20 000 zapytań
  • Limit godzinowy: 1 000 zapytań
  • Limit chwilowy (burst): 100 zapytań/minutę
  • Kredyty email: bez ograniczeń

Plan Business

  • Limit dzienny: 50 000 zapytań
  • Limit godzinowy: 3 000 zapytań
  • Limit chwilowy (burst): 300 zapytań/minutę
  • Kredyty email: bez ograniczeń

Plan Enterprise

  • Limit dzienny: indywidualny (100 000+)
  • Limit godzinowy: indywidualny (10 000+)
  • Limit chwilowy (burst): indywidualny (1 000+/minutę)
  • Kredyty email: bez ograniczeń

Nagłówki limitów zapytań

Każda odpowiedź API zawiera informacje o limitach zapytań:

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

Opis nagłówków

  • X-RateLimit-Limit: łączna liczba zapytań dozwolonych w bieżącym oknie
  • X-RateLimit-Remaining: liczba zapytań pozostałych w bieżącym oknie
  • X-RateLimit-Reset: znacznik czasu Unix momentu zresetowania limitu
  • X-RateLimit-Retry-After: liczba sekund oczekiwania przed ponowną próbą

Monitorowanie zużycia

Sprawdź bieżące zużycie

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

Monitorowanie w panelu

  1. Zaloguj się do swojego panelu Brevo
  2. Przejdź do Settings → API Keys
  3. Sprawdź zużycie każdego klucza API
  4. Ustaw alerty informujące o zbliżaniu się do limitów

Okna resetowania limitów

  • Limity dzienne: resetują się o 00:00 UTC
  • Limity godzinowe: resetują się co godzinę o pełnej minucie :00
  • Limity chwilowe (burst): okno przesuwne (ostatnie 60 sekund)

Obsługa limitów zapytań

Wykładnicze wycofanie (exponential 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;
}
}
};

Zmiana planu na wyższy

Gdy regularnie osiągasz limity zapytań:

  1. Przeanalizuj zużycie: sprawdź, których endpointów używasz najczęściej
  2. Zoptymalizuj kod: wdróż cache’owanie i operacje wsadowe
  3. Rozważ wyższy plan: przejdź na wyższy poziom, jeśli to konieczne
  4. Skontaktuj się z działem sprzedaży: w przypadku wymagań klasy enterprise

Wyjątki od limitów zapytań

Endpointy webhooków

  • Nie podlegają standardowym limitom zapytań
  • Obowiązują osobne limity dostarczania webhooków

Endpoint kontroli stanu

  • /v3/ping ma złagodzone limity
  • Zaprojektowany do monitoringu i kontroli dostępności

Operacje wsadowe

  • Liczą się jako jedno zapytanie, ale mogą mieć limity rozmiaru ładunku
  • Są wydajniejsze niż wiele pojedynczych zapytań

Poproś o wcześniejszy dostęp

Podaj imię oraz adres e-mail lub numer telefonu. Wyślemy Ci informacje o dostępie do Tajo.

rozpoznajemy automatycznie
Asystent AI

Cześć! Zapytaj mnie o dokumentację.