Ajukan akses awal

Masukkan nama depan dan alamat email kerja Anda. Kami akan mengirim tautan untuk mengonfirmasi permintaan akses Tajo.

Batas global

Brevo membatasi permintaan API per endpoint. Setiap batas adalah jumlah permintaan per detik (RPS), per jam (RPH), atau keduanya. Angka di bawah berasal dari halaman batas laju Brevo, diperiksa pada 7 Oktober 2026. Periksa halaman itu sebelum Anda menentukan ukuran pekerjaan besar.

Tingkatan batas laju

TingkatanTersedia di
UmumFree, Starter, Standard, Professional, dan Enterprise
LanjutanProfessional dan Enterprise
DiperluasEnterprise

Batas menurut tingkatan

EndpointUmumLanjutanDiperluas
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
Endpoint lain di bawah /v3/smtp300 RPH600 RPH1.800 RPH
Semua endpoint di bawah /v3/contacts10 RPS, 36.000 RPH20 RPS, 72.000 RPH60 RPS
Semua endpoint di bawah /v3/loyalty600 RPH1.200 RPH100.000 RPH
Semua endpoint lainnya100 RPH200 RPH600 RPH

Bila sebuah endpoint memiliki batas RPS dan RPH, tetaplah di bawah keduanya.

Header batas laju

Endpoint yang dibatasi laju mengembalikan header berikut:

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

Penjelasan header

  • x-sib-ratelimit-limit: permintaan yang diizinkan dalam jendela saat ini
  • x-sib-ratelimit-remaining: permintaan yang tersisa dalam jendela saat ini
  • x-sib-ratelimit-reset: waktu hingga jendela di-reset, biasanya dalam detik

Brevo mendokumentasikan header ini di halaman header batas laju.

Memantau penggunaan

Periksa penggunaan saat ini

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

Menangani batas laju

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

Jika Anda terus mencapai batas

  1. Sebarkan permintaan secara merata: batas 1.000 RPS hanya mengizinkan hingga 60.000 permintaan per menit bila permintaan tersebar merata.
  2. Batch dan cache: gunakan endpoint massal dan hindari membaca ulang data yang sudah Anda miliki.
  3. Gunakan webhook untuk statistik: terima event alih-alih melakukan polling pada endpoint statistik.
  4. Pertimbangkan tingkatan yang lebih tinggi: tingkatan lanjutan dan diperluas disertakan pada paket Professional dan Enterprise.

Ajukan akses awal

Masukkan nama depan dan alamat email kerja Anda. Kami akan mengirim tautan untuk mengonfirmasi permintaan akses Tajo.

Asisten AI

Halo! Tanyakan apa saja tentang dokumentasi.

Halaman ini sebagai Markdown: global-limits.md

Memuat Markdown…
Buka di Claude Buka di ChatGPT