---
title: "グローバル制限 | Tajo"
description: "Brevo の 3 つの API レート制限ティア、各ティアの上限、429 への対処方法"
url: https://tajo.io/jp/docs/rate-limits/global-limits/
markdown: https://tajo.io/jp/docs/rate-limits/global-limits.md
lang: ja-JP
author: "Set Noa"
author_url: https://tajo.io/jp/set-noa/
robots: noindex
---

先行利用を申し込む

お名前と会社のメールアドレスを入力してください。Tajoへのアクセス申請を確認するためのリンクをメールでお送りします。

# グローバル制限

[Set Noa](https://tajo.io/jp/set-noa/)

Brevo は API リクエストをエンドポイントごとに制限しています。各上限は、1 秒あたり（RPS）、1 時間あたり（RPH）、またはその両方のリクエスト数で示されます。以下の数値は Brevo の[レート制限のページ](https://developers.brevo.com/docs/api-limits)に基づくもので、2026 年 10 月 7 日に確認しました。大規模なジョブの規模を見積もる前に、そのページを確認してください。

## レート制限のティア

| ティア | 利用できるプラン |
| --- | --- |
| **General** | Free、Starter、Standard、Professional、Enterprise |
| **Advanced** | Professional と Enterprise |
| **Extended** | Enterprise |

## ティアごとの上限

| エンドポイント | General | Advanced | Extended |
| --- | --- | --- | --- |
| `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` 配下のその他のエンドポイント | 300 RPH | 600 RPH | 1,800 RPH |
| `/v3/contacts` 配下のすべてのエンドポイント | 10 RPS, 36,000 RPH | 20 RPS, 72,000 RPH | 60 RPS |
| `/v3/loyalty` 配下のすべてのエンドポイント | 600 RPH | 1,200 RPH | 100,000 RPH |
| その他のすべてのエンドポイント | 100 RPH | 200 RPH | 600 RPH |

エンドポイントに RPS と RPH の両方の上限がある場合は、両方を下回るようにしてください。

## レート制限のヘッダー

レート制限のあるエンドポイントは、次のヘッダーを返します。

```http
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 はこれらのヘッダーを[レート制限ヘッダーのページ](https://developers.brevo.com/docs/limit-headers)で説明しています。

## 使用状況の監視

### 現在の使用状況を確認する

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

## レート制限への対処

### 指数バックオフ

```javascript
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 の上限で 1 分あたり最大 60,000 リクエストを処理できるのは、リクエストが均等に分散されている場合に限ります。
2. **バッチ処理とキャッシュ**: バルク用のエンドポイントを使い、すでに持っているデータの再取得を避けます。
3. **統計情報には Webhook を使う**: 統計用のエンドポイントをポーリングする代わりに、イベントを受信します。
4. **上位のティアを検討する**: Advanced と Extended のティアは、Professional と Enterprise のプランに含まれます。
