Gmail API には、API メソッドを呼び出す頻度を制限する使用量上限が適用されます。上限は、Gmail リソースの使用量を表す抽象的な測定単位である割り当て単位で定義されます。
Gmail API の割り当て
Gmail API では、次の 2 種類の割り当てが適用されます。
プロジェクトごとに 1 分あたり: Google Cloud プロジェクトが 1 分間に使用できる割り当てユニットの数です。
プロジェクトごとのユーザーあたりの 1 分あたりの割り当て: これは、特定のユーザーがクラウド プロジェクトで使用できる割り当てユニットの数です。この上限により、ユーザー間で公平に使用量を分配できます。
次の表に、これらの上限の詳細を示します。
| 使用量上限の種類 | 上限 |
|---|---|
| 1 プロジェクトあたり毎分 | 1,200,000 割り当てユニット |
| プロジェクトごとに 1 ユーザーあたり 1 分 | 6,000 割り当てユニット |
上限エラーの処理については、エラーを解決するをご覧ください。
1 日の最低配信数
このプロジェクトごとの 1 日あたりの上限は、Google Cloud プロジェクトが 24 時間以内に使用できる割り当てユニットの最大数を定義します。この上限を超えると、料金が適用されます。
このしきい値未満の使用量では追加料金は発生せず、Google Cloud アカウントに請求されることはありません。Google は、2026 年後半に請求の詳細をすべてお知らせします。変更が有効になる 90 日以上前にお知らせします。
この 1 日あたりのしきい値の上限の引き上げをリクエストすることはできません。
次の表に、上限の詳細を示します。
| しきい値の上限タイプ | 上限 |
|---|---|
| 1 プロジェクト、1 日あたり | 80,000,000 割り当てユニット |
詳細については、エージェント ツールと API の Google Workspace 標準化モデルをご覧ください。
メソッドごとの割り当て使用量
各リクエストで消費される割り当てユニット数は、呼び出すメソッドとクエリ パラメータによって異なります。次の表に、メソッドごとの割り当てユニットの使用量を示します。
| メソッド | 割り当て量 |
|---|---|
drafts.create |
10 |
drafts.delete |
10 |
drafts.get |
20(format が full、raw、html の場合は 60) |
drafts.list |
5 |
drafts.send |
100 |
drafts.update |
15 |
getProfile |
1 |
history.list |
2 |
labels.create |
5 |
labels.delete |
5 |
labels.get |
1 |
labels.list |
1 |
labels.update |
5 |
messages.attachments.get |
20 |
messages.batchDelete |
50 |
messages.batchModify |
50 |
messages.delete |
10 |
messages.get |
20(format が full、raw、html の場合は 60) |
messages.import |
25 |
messages.insert |
25 |
messages.list |
5 |
messages.modify |
5 |
messages.send |
100 |
messages.trash |
20 |
messages.untrash |
5 |
settings.delegates.create |
100 |
settings.delegates.delete |
5 |
settings.delegates.get |
1 |
settings.delegates.list |
1 |
settings.filters.create |
5 |
settings.filters.delete |
5 |
settings.filters.get |
1 |
settings.filters.list |
1 |
settings.forwardingAddresses.create |
100 |
settings.forwardingAddresses.delete |
5 |
settings.forwardingAddresses.get |
1 |
settings.forwardingAddresses.list |
1 |
settings.getAutoForwarding |
1 |
settings.getImap |
1 |
settings.getPop |
1 |
settings.getVacation |
1 |
settings.sendAs.create |
100 |
settings.sendAs.delete |
5 |
settings.sendAs.get |
1 |
settings.sendAs.list |
1 |
settings.sendAs.update |
100 |
settings.sendAs.verify |
100 |
settings.updateAutoForwarding |
5 |
settings.updateImap |
5 |
settings.updatePop |
100 |
settings.updateVacation |
5 |
stop |
50 |
threads.delete |
20 |
threads.get |
40(format が full の場合は 120) |
threads.list |
10 |
threads.modify |
10 |
threads.trash |
20 |
threads.untrash |
10 |
watch |
100 |
Gmail API を使用する場合、メール メッセージあたりの受信者数の上限は 500 人です。
時間ベースの割り当てエラーを解決する
時間ベースのエラー(X 分あたり最大 N 件のリクエスト)については、コードで例外をキャッチし、指数バックオフを使用してデバイスに過剰な負荷がかからないようにすることをおすすめします。
指数バックオフは、ネットワーク アプリケーションの標準的なエラー処理方法です。指数バックオフのアルゴリズムは、リクエスト間の待ち時間の間隔を最大バックオフ時間まで増加させながら、指数関数的にリクエストを再試行します。それでもリクエストが失敗する場合は、リクエストが成功するまで、リクエスト間の遅延を徐々に長くすることが重要です。
アルゴリズムの例
指数バックオフのアルゴリズムは、再試行の待ち時間の間隔を最大バックオフ時間まで増加させながら、指数関数的にリクエストを再試行します。次に例を示します。
- Gmail API にリクエストを送信します。
- リクエストが失敗した場合、1 +
random_number_milliseconds秒待ってから、リクエストを再試行します。 - リクエストが失敗した場合、2 +
random_number_milliseconds秒待ってから、リクエストを再試行します。 - リクエストが失敗した場合、4 +
random_number_milliseconds秒待ってから、リクエストを再試行します。 - このようにして、最大
maximum_backoff時間まで繰り返します。 - 再試行の最大回数に達するまで待機と再試行を続けるが、再試行の間の待ち時間は増加させない。
ここで
- 待ち時間は
min(((2^n)+random_number_milliseconds), maximum_backoff)で、nは繰り返される(リクエスト)のたびに 1 増加します。 random_number_millisecondsは、1,000 ミリ秒以下の乱数です。これにより、多数のクライアントがなんらかの状況で同期され、すべてが一度に再試行して、同期した波のようにリクエストを送信する状況を避けることができます。random_number_millisecondsの値は再試行リクエストの後に毎回再計算されます。- 通常、
maximum_backoffは 32 秒または 64 秒です。適切な値はユースケースによって異なります。
クライアントは、maximum_backoff 時間に達した後も再試行を続けることができます。この時点より後の再試行では、バックオフ時間を増加させ続ける必要はありません。たとえば、クライアントが maximum_backoff 時間に 64 秒を使用している場合、この値に達すると、クライアントは 64 秒ごとに再試行できます。いずれかの時点で、クライアントが無限に再試行を行わないようにする必要があります。
適切な再試行間の待ち時間と再試行回数は、ユースケースとネットワークの状態により異なります。
料金
Gmail API の標準的な使用はすべて追加料金なしでご利用いただけます。割り当てリクエストの上限を超えると、2026 年後半に Google Cloud 請求先アカウントに料金が発生する予定です。詳細については、エージェント ツールと API の Google Workspace 標準モデルをご覧ください。
割り当ての増加をリクエストする
プロジェクトのリソース使用量に応じて、割り当ての調整をリクエストできます。サービス アカウントによる API 呼び出しは、単一のアカウントを使用していると見なされます。割り当ての調整を申請しても、必ずしも承認されるとは限りません。割り当て値を大幅に増やす割り当て調整リクエストは、承認に時間がかかることがあります。
割り当て量はすべてのプロジェクトで同じとは限りません。Google Cloud の使用量が多くなるに伴い、割り当て値を増やすことが必要になる場合があります。使用量の大幅な増加が見込まれる場合は、事前に Google Cloud コンソールの [割り当てとシステム上限] ページから割り当ての調整をリクエストできます。
詳細については、次のリソースをご覧ください。
Gmail MCP サーバーの割り当て
Gmail MCP サーバーは、クエリ費用割り当て指標を使用します。次の表に、各 Gmail MCP サーバー メソッドのクエリ費用をセクションごとに示します。
Gmail MCP の割り当て
サーバーは、次の 2 種類の割り当てを適用します。
1 プロジェクト、1 分あたり: これは、1 分間のクラウド プロジェクトに対するクエリ費用です。
1 分、1 ユーザー、1 プロジェクトあたり: これは、特定のユーザーが 1 分間に使用できるクラウド プロジェクトのクエリ費用です。
次の表に、これらの割り当ての詳細を示します。
| 使用量上限の種類 | クエリの費用 |
|---|---|
| 1 プロジェクトあたり毎分 | 1,200,000 |
| プロジェクトごとに 1 ユーザーあたり 1 分 | 6,000 |
Gmail MCP ツールセットの割り当て
次の表に、各 gmailmcp.googleapis.com ツールセットのクエリ費用の詳細を示します。
| エンドポイント | ツール | クエリの費用 |
|---|---|---|
/mcp/v1 |
|
10 |
|
40 |
|
|
10 |
|
|
10 |
|
|
5 |
|
|
1 |
|
|
10 |
|
|
10 |
|
|
10 |
詳細については、Gmail MCP API リファレンスをご覧ください。