Заявете ранен достъп

Въведете собственото си име и служебен имейл адрес. Ще ви изпратим връзка за потвърждение на заявката за достъп до Tajo.

Глобални ограничения

Brevo ограничава заявките към API за всяка крайна точка поотделно. Всеки лимит е брой заявки в секунда (RPS), на час (RPH) или и двете. Стойностите по-долу са от страницата на Brevo с лимитите, проверена на 7 октомври 2026 г. Проверете тази страница, преди да планирате голяма задача.

Нива на ограниченията

НивоНалично в
Общо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/smtp300 RPH600 RPH1 800 RPH
Всички крайни точки под /v3/contacts10 RPS, 36 000 RPH20 RPS, 72 000 RPH60 RPS
Всички крайни точки под /v3/loyalty600 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. Използвайте webhooks за статистика: получавайте събития, вместо да питате периодично крайните точки за статистика.
  4. Обмислете по-високо ниво: разширеното и максималното ниво идват с плановете Professional и Enterprise.

Заявете ранен достъп

Въведете собственото си име и служебен имейл адрес. Ще ви изпратим връзка за потвърждение на заявката за достъп до Tajo.

AI асистент

Здравейте! Попитайте ме за документацията.

Тази страница като Markdown: global-limits.md

Зареждане на Markdown…
Отвори в Claude Отвори в ChatGPT