速率限制
Brevo API 按端点限制请求,而不是按天限制。每项限制是每秒请求数(RPS)、每小时请求数(RPH),或两者兼有;当两者同时适用时,你必须同时不超过两者。超出限制会返回 429 Too Many Requests。
通用档位的限制
通用档位适用于每一种 Brevo 套餐:Free、Starter、Standard、Professional 和 Enterprise。以下是 Brevo 为它公布的限制:
| 端点 | 限制 |
|---|---|
POST /v3/smtp/email, GET /v3/smtp/blockedContacts | 1,000 RPS, 3,600,000 RPH |
POST /v3/transactionalSMS/send | 150 RPS, 540,000 RPH |
/v3/contacts 下的所有端点 | 10 RPS, 36,000 RPH |
POST /v3/events | 10 RPS, 36,000 RPH |
POST /v3/orders/status | 5 RPS, 18,000 RPH |
POST /v3/products | 2 RPS, 7,200 RPH |
GET /v3/smtp/emails | 2 RPS, 7,200 RPH |
/v3/smtp 下的其他端点 | 300 RPH |
/v3/loyalty 下的所有端点 | 600 RPH |
| 所有其他端点 | 100 RPH |
Professional 和 Enterprise 账户可以使用高级档位,它将其中大部分限制翻倍。Enterprise 账户可以使用扩展档位,这是最高的档位。三个档位的并排对比请参阅全局限制,最新数值请参阅 Brevo 的速率限制页面。
速率限制响应头
受速率限制的端点会返回三个响应头:
x-sib-ratelimit-limit: 1000x-sib-ratelimit-remaining: 750x-sib-ratelimit-reset: 1x-sib-ratelimit-limit:当前窗口允许的请求数x-sib-ratelimit-remaining:当前窗口剩余的请求数x-sib-ratelimit-reset:距离窗口重置的时间,通常以秒为单位
最佳实践
- 持续监控速率限制响应头
- 重试时采用指数退避策略
- 在整个窗口内均匀分散请求
- 尽可能缓存响应结果
- 用 Webhook 替代轮询