Genel Sınırlar
Brevo, API isteklerini uç nokta başına sınırlar. Her sınır, saniyedeki istek sayısı (RPS), saatteki istek sayısı (RPH) veya her ikisidir. Aşağıdaki rakamlar Brevo’nun hız limitleri sayfasından alınmıştır ve 7 Ekim 2026’da kontrol edilmiştir. Büyük bir işi boyutlandırmadan önce o sayfayı kontrol edin.
Hız sınırı kademeleri
| Kademe | Hangi planlarda |
|---|---|
| Genel | Free, Starter, Standard, Professional ve Enterprise |
| Gelişmiş | Professional ve Enterprise |
| Genişletilmiş | Enterprise |
Kademelere göre sınırlar
| Uç nokta | Genel | Gelişmiş | Genişletilmiş |
|---|---|---|---|
POST /v3/smtp/email, GET /v3/smtp/blockedContacts | 1.000 RPS, 3.600.000 RPH | 2.000 RPS, 7.200.000 RPH | 6.000 RPS |
GET /v3/smtp/emails | 2 RPS, 7.200 RPH | 3 RPS, 10.800 RPH | 18.000 RPH |
POST /v3/transactionalSMS/send | 150 RPS, 540.000 RPH | 200 RPS, 720.000 RPH | 250 RPS |
POST /v3/events | 10 RPS, 36.000 RPH | 20 RPS, 72.000 RPH | 60 RPS |
POST /v3/orders/status | 5 RPS, 18.000 RPH | 10 RPS, 36.000 RPH | 15 RPS |
POST /v3/products | 2 RPS, 7.200 RPH | 4 RPS, 14.400 RPH | 21.600 RPH |
/v3/smtp altındaki diğer uç noktalar | 300 RPH | 600 RPH | 1.800 RPH |
/v3/contacts altındaki tüm uç noktalar | 10 RPS, 36.000 RPH | 20 RPS, 72.000 RPH | 60 RPS |
/v3/loyalty altındaki tüm uç noktalar | 600 RPH | 1.200 RPH | 100.000 RPH |
| Diğer tüm uç noktalar | 100 RPH | 200 RPH | 600 RPH |
Bir uç noktanın hem RPS hem RPH sınırı varsa ikisinin de altında kalın.
Hız sınırı başlıkları
Hız limitli uç noktalar şu başlıkları döndürür:
HTTP/1.1 200 OKx-sib-ratelimit-limit: 1000x-sib-ratelimit-remaining: 750x-sib-ratelimit-reset: 1Başlık açıklamaları
x-sib-ratelimit-limit: geçerli pencerede izin verilen istek sayısıx-sib-ratelimit-remaining: geçerli pencerede kalan istek sayısıx-sib-ratelimit-reset: pencerenin sıfırlanmasına kalan süre, genellikle saniye cinsinden
Brevo bu başlıkları hız limiti başlıkları sayfasında belgelemiştir.
Kullanımı izleme
Geçerli kullanımı kontrol etme
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ız sınırlarını yönetme
Üstel geri çekilme
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');};Sınırlara Takılmaya Devam Ederseniz
- İstekleri eşit yayın: saniyede 1.000 istek sınırı, dakikada 60.000 isteğe yalnızca istekler eşit yayıldığında izin verir.
- Toplu işleyin ve önbelleğe alın: toplu uç noktaları kullanın ve zaten elinizde olan verileri yeniden okumaktan kaçının.
- İstatistikler için webhook kullanın: istatistik uç noktalarını sürekli sorgulamak yerine olayları alın.
- Daha yüksek bir kademeyi değerlendirin: gelişmiş ve genişletilmiş kademeler Professional ve Enterprise planlarıyla gelir.