レート制限(Rate Limit)とは、一定時間内にサービスやAPIを利用できる回数・処理量へ設けられる上限のことです。
生成AIのAPIでは、「Rate limit reached」や「Too Many Requests」といったエラーを見ることがあります。これは、短時間のリクエスト数やトークン量が上限に達したときなどに発生します。
レート制限は単なる利用制約ではありません。サービスを安定して提供し、多数の利用者が公平にアクセスできる状態を保つために使われる重要な仕組みです。
この記事では、レート制限の意味から仕組み、RPM・TPMの見方、制限にかかった場合の対処法まで、初心者向けにわかりやすく解説します。
レート制限とは?
一定時間内に送信できるリクエスト数やデータ量などを抑える仕組みを、レート制限と呼びます。
たとえば生成AIのAPIでは、「1分間に送信できるリクエスト数」や「1分間に処理できるトークン数」のような形で上限が設定されることがあります。
上限を超えると、一時的に新しいリクエストを受け付けてもらえなくなる場合があります。時間が経って利用量が上限内へ戻れば、再び利用できるのが一般的です。
レート制限が設けられる理由
サービスの安定性や公平性を保つことが、レート制限の主な役割です。
一部の利用者から短時間に大量のリクエストが送られると、サーバーへ大きな負荷がかかります。その結果、ほかの利用者までサービスを利用しにくくなる可能性があります。
そこでサービス提供者は、一定時間内に処理する量へ上限を設けます。
レート制限は、主に次のような目的で利用されます。
- サービスへの急激な負荷を抑える
- 多数の利用者へ公平に処理能力を割り当てる
- APIの安定性を保つ
- 自動処理による過剰なアクセスを抑える
- 不正・異常な大量アクセスによる影響を軽減する

レート制限の仕組み
APIなどへの利用状況を一定の時間単位で計測し、設定された上限と比較するのが基本です。
基本的な流れは次のとおりです。
- 利用者がAPIへリクエストを送る
- サービス側がリクエスト数や処理量を計測する
- 上限以内なら処理を続ける
- 上限を超えた場合は、一時的にリクエストを制限する
- 利用量が再び上限内になれば処理できるようになる
ただし、「何を」「どの時間単位で」「誰ごとに」数えるかはサービスによって異なります。また、モデルやプラン、利用階層、組織、プロジェクトなどで上限が異なる場合もあります。
RPM・TPMなどの見方
生成AIのAPIでは、レート制限を表す指標として「RPM」や「TPM」がよく使われます。
| 指標 | 意味 | 初心者向けの見方 |
|---|---|---|
| RPM | Requests Per Minute | 1分間に送れるリクエスト数 |
| TPM | Tokens Per Minute | 1分間に処理できるトークン数 |
| RPD | Requests Per Day | 1日あたりに送れるリクエスト数 |
たとえばRPMには余裕があっても、一度に非常に長い文章を大量に送るとTPM側の上限へ先に達することがあります。
そのため、「リクエスト回数だけ見ればよい」とは限りません。生成AIのAPIでは、リクエスト数とトークン量の両方を確認することが重要です。

制限を超えると429エラーになることがある
Web APIでは、短時間にリクエストを送りすぎた場合に**HTTPステータスコード429「Too Many Requests」**が返されることがあります。
429は「一定時間内に送信したリクエストが多すぎる」ことを示すために定義されたステータスコードです。
レスポンスによっては、再試行までどの程度待てばよいかを示す「Retry-After」が含まれる場合もあります。ただし、すべてのサービスが同じ形式で通知するわけではありません。
実際にエラーが出たときは、利用しているAPIの公式ドキュメントとエラー内容を確認しましょう。
上限以下でも短時間の集中で制限される場合がある
注意したいのが、1分間の合計では上限以下でも、極端に短い時間へリクエストを集中させると制限にかかる場合がある点です。
たとえば、「1分間に60回まで」という条件があったとしても、60件を一瞬でまとめて送信してよいとは限りません。
サービスによっては、より短い時間単位でも利用状況を管理しています。そのため、自動処理ではリクエストを一定の間隔へ分散させる設計が重要です。
レート制限と似た用語の違い
似た用語である「利用上限」「コンテキストウィンドウ」「レイテンシ」「スループット」と区別すると理解しやすくなります。
| 用語 | 意味 |
|---|---|
| レート制限 | 一定時間内に利用できる回数・処理量の上限 |
| クォータ・利用上限 | 一定期間に割り当てられた利用可能量 |
| コンテキストウィンドウ | モデルが1回の処理で参照できる情報量の範囲 |
| レイテンシ | リクエストから応答までにかかる時間 |
| スループット | 一定時間内に処理できる量 |
たとえば、レイテンシが「1回の処理にどれだけ時間がかかるか」を表すのに対し、レート制限は「一定時間内にどれだけ利用してよいか」を表します。
また、コンテキストウィンドウは1回の入力・処理で扱える情報量に関係する概念です。対象にしている範囲がレート制限とは異なります。
レート制限にかからないための使い方・対処法
安定してAPIを利用するには、「エラーになったら何度も再送する」のではなく、利用量を管理することが重要です。
1. 利用中サービスの上限を確認する
最初に、利用しているサービスやモデルの公式ドキュメントで現在のレート制限を確認しましょう。
具体的な確認項目は次のとおりです。
- RPM
- TPM
- 1日単位などの上限
- モデルごとの違い
- 利用プラン・利用階層による違い
なお、レート制限は変更されることがあるため、古いブログ記事の数値だけで判断せず、公式情報を確認することが大切です。
2. リクエストを短時間に集中させない
大量の処理が必要でも、一度にすべてのリクエストを送るのは避けます。
処理をキューへ入れて順番に実行したり、リクエスト間に間隔を設けたりすると、短時間の集中を抑えられます。
特に複数ユーザーから同じAPIへアクセスするシステムでは、個々の処理ではなくシステム全体の利用量を見る必要があります。
3. 不要なトークンを減らす
TPMが設定されている生成AI APIでは、長すぎるプロンプトや不要な文章を減らすことも対策になります。
たとえば、毎回送る必要のない説明文や重複した例を削ると、1回あたりのトークン消費を抑えられます。
ただし、単純に文章を短くして必要な指示まで削ると回答品質へ影響します。必要な情報を残したうえで整理しましょう。
4. 指数バックオフで再試行する
レート制限エラーが発生した場合の代表的な対処方法が「指数バックオフ」です。
指数バックオフとは、エラーが続くほど再試行までの待ち時間を徐々に長くしていく方法です。
たとえば、すぐに何度も再送するのではなく、
- 少し待って再試行する
- 失敗したらさらに長く待つ
- 再度試す
- 一定回数で打ち切る
という形で処理します。
OpenAI APIでは、失敗したリクエストも毎分の制限へ影響します。そのため、エラー直後に同じリクエストを連続で送り続けても有効な解決策にはなりません。
5. 必要なら上限引き上げを検討する
利用量そのものが現在の上限を恒常的に超えている場合は、処理方法を工夫するだけでは解決できないことがあります。
その場合は、サービス側で上位の利用階層や上限引き上げの仕組みが用意されているか確認しましょう。
ただし、上限や申請条件はサービスごとに異なります。利用中サービスの公式情報を確認してください。

レート制限の具体例
簡単な例で考えてみましょう。
あるAPIに「1分間に100リクエスト」というレート制限が設定されているとします。
1分間に20〜30件程度を分散して送っている場合は、上限へ達しにくいでしょう。
一方で、自動処理によって短時間に100件以上をまとめて送ると、途中からリクエストが拒否される可能性があります。
さらに生成AI APIでは、リクエスト回数だけでなくトークン量にも上限が設定される場合があります。100回未満でも、1回の入力が大きければトークン側の制限へ先に達することがあります。
この例の「100リクエスト」は説明用の仮定です。実際の上限値は利用するサービス・モデル・プランなどによって異なります。
レート制限に関するFAQ
レート制限と429エラーは同じ意味ですか?
同じものではありません。
レート制限は一定時間内の利用量を制限する「仕組み」です。一方、429 Too Many Requestsは、リクエストが多すぎる状態を通知するときに使われるHTTPステータスコードです。
レート制限は時間が経てば解除されますか?
一定時間内の利用量を基準にするレート制限であれば、時間の経過によって再びリクエストできるようになる場合があります。
ただし、リセット方法や時間単位はサービスごとに異なります。公式ドキュメントやAPIレスポンスを確認してください。
レート制限エラーが出たら何度も再試行すればよいですか?
短時間に連続で再試行する方法は避けたほうがよいでしょう。
再試行まで一定時間待ち、エラーが続く場合は待ち時間を長くする指数バックオフが代表的な方法です。
レート制限と料金上限は同じですか?
同じではありません。
レート制限は主に「一定時間内にどの程度の速さで利用できるか」を制御します。一方、料金や利用クォータは「一定期間に利用できる総量・予算」などを管理する仕組みです。
サービスによって両方が設定されていることもあるため、それぞれ確認する必要があります。
まとめ
レート制限とは、一定時間内にサービスやAPIを利用できる回数・処理量へ設定される上限です。
生成AI APIでは、RPMなどのリクエスト数だけでなく、TPMなどのトークン量で制限される場合もあります。
レート制限にかからず安定して利用するためには、次のポイントを押さえておきましょう。
- 利用しているサービスの最新の上限を確認する
- リクエストを短時間へ集中させない
- 不要なトークン消費を減らす
- エラー時は連続再送せず、指数バックオフを利用する
- 恒常的に上限が不足する場合は引き上げ方法を確認する
「Rate limit reached」や「Too Many Requests」と表示されても、必ずしもサービスそのものの障害とは限りません。まず現在の利用量と公式のレート制限を確認し、リクエストの送り方を見直すことが大切です。
