申请抢先体验

请输入您的名字和公司电子邮箱地址。我们会发送确认 Tajo 访问申请的链接。

全局限制

Brevo 按端点限制 API 请求。每项限制是每秒请求数(RPS)、每小时请求数(RPH),或两者兼有。以下数据来自 Brevo 的速率限制页面,核对日期为 2026 年 10 月 7 日。在为大型任务估算规模之前,请先查看该页面。

速率限制档位

档位适用方案
通用Free、Starter、Standard、Professional 和 Enterprise
高级Professional 和 Enterprise
扩展Enterprise

各档位的限制

端点通用高级扩展
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
/v3/smtp 下的其他端点300 RPH600 RPH1,800 RPH
/v3/contacts 下的所有端点10 RPS, 36,000 RPH20 RPS, 72,000 RPH60 RPS
/v3/loyalty 下的所有端点600 RPH1,200 RPH100,000 RPH
所有其他端点100 RPH200 RPH600 RPH

当一个端点同时有 RPS 和 RPH 限制时,请同时保持在两者之下。

速率限制响应头

受速率限制的端点会返回以下响应头:

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

响应头说明

  • x-sib-ratelimit-limit:当前窗口允许的请求数
  • x-sib-ratelimit-remaining:当前窗口剩余的请求数
  • x-sib-ratelimit-reset:距离窗口重置的时间,通常以秒为单位

Brevo 在其速率限制响应头页面中记录了这些响应头。

监控用量

查看当前用量

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

应对速率限制

指数退避

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

当你持续触达限制时

  1. 均匀分散请求:只有在请求均匀分散时,1,000 RPS 的限制才允许每分钟最多 60,000 次请求。
  2. 批量处理与缓存:使用批量端点,避免重复读取你已有的数据。
  3. 用 Webhook 获取统计数据:接收事件,而不是轮询统计端点。
  4. 考虑更高的档位:高级和扩展档位随 Professional 和 Enterprise 套餐提供。

申请抢先体验

请输入您的名字和公司电子邮箱地址。我们会发送确认 Tajo 访问申请的链接。

AI 助手

你好!关于文档有任何问题都可以问我。

本页的 Markdown: global-limits.md

正在加载 Markdown…