Claude API には、使いすぎを防ぐために組織単位の上限が設定されています。上限は「月あたりの金額」と「単位時間あたりのリクエスト量」の2系統に分かれており、429 が返ったときにどちらに当たったのかを切り分けられないと対処を間違えます。ここでは公式ドキュメントの Rate limits に基づいて、制限の種類・ティアごとの数値・レスポンスヘッダの読み方を整理します。
レート制限は3種類ある
公式は制限を2つに分けています。Spend limits(支出上限)は、組織が1か月に使える金額の上限です。Rate limits(レート制限)は、一定時間あたりに送れるリクエスト量の上限です。前者に当たると翌月まで API 利用が止まり、後者に当たると 429 が返ります。症状が違うので、まずどちらの話をしているのかを確定させてください。
レート制限はさらに3つの軸で測られます。RPM(1分あたりのリクエスト数)、ITPM(1分あたりの入力トークン数)、OTPM(1分あたりの出力トークン数)です。どれか1つでも超えると 429 になり、レスポンスにはどの制限を超えたかの説明と retry-after ヘッダが付きます。
実装上の注意が1つあります。公式は「60 RPM が 1秒あたり1リクエストとして実施されることがある」と明記しています。1分間の合計が上限内でも、短時間に固めて送るとエラーになります。1分ぶんをまとめて投げる設計は避けて、送信間隔をならしてください。
補充のしかたも押さえておく価値があります。API はトークンバケット方式を使っており、一定間隔でリセットされるのではなく、上限まで継続的に補充されます。つまり「毎分0秒に回復する」のではなく、待った秒数に応じて少しずつ回復します。retry-after が短い秒数を返すのはこのためです。
使用ティアと上限値
上限は使用ティアで決まります。ティアは利用実績とアカウントの状態から自動的に割り当てられ、使うほど上位に上がります。新規組織や実績の少ない組織は、標準より低い Evaluation ティアから始まることがあります。これは不正利用対策であり、実績が積み上がれば自動的に上がるとされています。
支出上限は次のとおりです。
| 使用ティア | 月あたりの支出上限 |
|---|---|
| Start | 500 USD |
| Build | 1,000 USD |
| Scale | 200,000 USD |
| Custom | 上限なし(アカウントチームと個別に取り決め) |
レート制限はモデルごとに別枠です。したがって複数のモデルをそれぞれの上限まで同時に使えます。Claude Opus 5 の主要な数値は次のとおりです。
| ティア | RPM | ITPM | OTPM |
|---|---|---|---|
| Start | 1,000 | 2,000,000 | 400,000 |
| Build | 5,000 | 5,000,000 | 1,000,000 |
| Scale | 10,000 | 10,000,000 | 2,000,000 |
Claude Sonnet 5・Claude Haiku 4.5 も同じ数値です。Claude Fable 5 だけ低めで、Start が 1,000 RPM / 500,000 ITPM / 100,000 OTPM、Build が 2,000 / 1,500,000 / 300,000、Scale が 4,000 / 4,000,000 / 800,000 となっています。
合算の扱いに癖があります。Opus 4.x(4.8 / 4.7 / 4.6 / 4.5)は合算で1つの枠、Sonnet 4.x(4.6 / 4.5)も合算で1つの枠です。一方で Claude Opus 5 と Claude Sonnet 5 はそれぞれ独立した枠を持ち、この合算バケットには入りません。バージョンを混在させている場合、4.x 側だけが先に枯れることがあります。
キャッシュ読み取りは ITPM に数えない
ここが他社 API との一番大きな違いです。多くの提供元は「TPM」という1つの枠にキャッシュも入出力もまとめますが、Claude では大半のモデルで、キャッシュされていない入力トークンだけが ITPM に数えられます。
内訳は次のとおりです。
input_tokens(最後のキャッシュブレークポイント以降のトークン)… ITPM に数えるcache_creation_input_tokens(キャッシュに書き込むトークン)… ITPM に数えるcache_read_input_tokens(キャッシュから読むトークン)… 大半のモデルで数えない
ここで混乱しやすいのが input_tokens の意味です。これはリクエスト全体の入力トークン数ではなく、最後のキャッシュブレークポイント以降のぶんだけです。合計を出したいなら次の式になります。
total_input_tokens = cache_read_input_tokens + cache_creation_input_tokens + input_tokens
公式の例では、20万トークンのキャッシュ済み文書に50トークンの質問を足したとき、合計は200,050トークンなのに input_tokens は 50 と表示されます。
この性質は実効スループットに直結します。公式の例では、ITPM 2,000,000 の枠でキャッシュヒット率80%なら、実質1,000万トークン毎分(未キャッシュ200万+キャッシュ800万)を処理できる計算になります。上限に当たっているとき、ティアを上げる前にキャッシュ設計を見直す価値があるのはこのためです。システム指示・大きな文脈文書・ツール定義・会話履歴のように毎回同じ部分をキャッシュしてください。
例外が1つあります。Claude Haiku 3.5 だけは cache_read_input_tokens も ITPM に数えます(公式の表では † 印)。このモデルは Bedrock と Google Cloud を除いて提供終了となっています。
出力側の挙動も押さえておくと設計が楽になります。OTPM は実際に生成されたトークンだけをリアルタイムで数え、max_tokens の値は計算に入りません。つまり max_tokens を大きめに取ってもレート制限上の不利はありません。
Message Batches と Managed Agents の別枠
Message Batches API には専用のレート制限があり、全モデルで共有されます。見る数字は3つです。API 全体への RPM、処理キューに同時に入れられるバッチリクエスト数、そして1バッチあたりの最大リクエスト数です。
| ティア | RPM | キュー内の最大バッチリクエスト数 | 1バッチあたりの最大数 |
|---|---|---|---|
| Start | 1,000 | 200,000 | 100,000 |
| Build | 2,000 | 300,000 | 100,000 |
| Scale | 4,000 | 500,000 | 100,000 |
ここでの「バッチリクエスト」は Message Batch の中の1件を指します。数千件を含む1つのバッチを作れますが、その1件ずつがキューの上限に数えられます。
Claude Managed Agents のエンドポイントも組織単位で別枠です。作成系(エージェント・セッション・環境など)が300リクエスト毎分、読み取り系(取得・一覧・ストリーム)が1,200リクエスト毎分です。これらは Messages API の枠とは独立しています。
fast mode(リサーチプレビュー)にも専用の枠があります。Claude Opus 5 と Opus 4.8 で speed: "fast" を使うと、標準の Opus 枠とは別の上限が適用され、超えると retry-after 付きの 429 が返ります。状態は anthropic-fast-* ヘッダで確認できます。
429 のときに見るヘッダ
429 を受けたとき、次のヘッダを見れば「何が」「いつまで」足りないのかが分かります。まず retry-after(再試行までの秒数。これより早く再送すると必ず失敗します)を見てください。
| ヘッダ | 意味 |
|---|---|
retry-after | 再試行できるまでの秒数 |
anthropic-ratelimit-requests-limit | 期間あたりに許可されるリクエスト数の上限 |
anthropic-ratelimit-requests-remaining | 制限に当たるまでの残りリクエスト数 |
anthropic-ratelimit-requests-reset | リクエスト枠が完全に回復する時刻(RFC 3339) |
anthropic-ratelimit-input-tokens-limit | 入力トークンの上限 |
anthropic-ratelimit-input-tokens-remaining | 残りの入力トークン数(千単位に丸め) |
anthropic-ratelimit-input-tokens-reset | 入力トークン枠が回復する時刻(RFC 3339) |
anthropic-ratelimit-output-tokens-limit | 出力トークンの上限 |
anthropic-ratelimit-output-tokens-remaining | 残りの出力トークン数(千単位に丸め) |
anthropic-ratelimit-output-tokens-reset | 出力トークン枠が回復する時刻(RFC 3339) |
このほか anthropic-ratelimit-tokens-* という総量系のヘッダがあり、そのとき最も厳しい制限の値を表示します。ワークスペースの分あたり上限を超えていればワークスペースの値が、ワークスペース制限が適用されていなければ入力と出力を合算した残量が入ります。どのワークスペースに計上されたかは anthropic-workspace-id レスポンスヘッダで確認できます。
Priority Tier を契約している場合は anthropic-priority-input-tokens-* / anthropic-priority-output-tokens-* が追加されます。
なお、急激に利用が増えたときは加速制限(acceleration limits)によっても 429 が出ます。上限に余裕があるのに 429 が出るときはこれを疑ってください。対処は「トラフィックを段階的に増やし、利用パターンを一定に保つ」ことです。
ワークスペース単位で下げる
組織の中の特定のワークスペースが枠を食いつぶすのを防ぐため、ワークスペース単位で支出とレートの上限を下げられます。公式の例では、組織が 40,000 入力トークン毎分・8,000 出力トークン毎分のとき、あるワークスペースを 30,000 入力トークン毎分に制限しておく、という使い方が挙げられています。使われなかったぶんは他のワークスペースが使えます。
設定にあたって押さえておく点が4つあります。
- 既定のワークスペースには上限を設定できません。
- 設定しない場合、ワークスペースの上限は組織の上限と同じになります。
- 上限は制限の種類ごと(RPM・ITPM・OTPM)に設定します。
- 組織全体の上限は常に効きます。ワークスペースの上限を足し合わせた値が組織の上限を超えていても、組織の上限が先に効きます。
現在の組織・ワークスペースの上限をプログラムから読むには Rate Limits API を使います。ダッシュボードを人が見に行く運用より、監視に組み込むほうが確実です。
使用状況は Claude Console の Usage ページで確認できます。ここには「Rate Limit - Input Tokens」と「Rate Limit - Output Tokens」の2つのグラフがあり、時間ごとの最大値・現在の上限・入力トークンのキャッシュ率が見られます。キャッシュ率はここで確認してからキャッシュ戦略を調整してください。
上限の引き上げを申請する
上限を上げたいときは、Claude Console の Rate limits ページにある Request rate limit increase から申請します。緊急の場合は Anthropic サポートからも引き上げが可能です。月あたりの支出上限も同じ導線で申請できます。
Scale ティアより高い上限が必要な場合は、Rate limits ページから営業に問い合わせる Custom ティアになります。Custom ティアには月あたりの支出上限がありません。
1点、環境による違いがあります。Claude Platform on AWS では Request rate limit increase の導線が使えません。この場合はアカウント担当者か Anthropic サポートに連絡し、引き上げたいモデル、モデルごとの入出力トークン毎分のピーク、入力のうちキャッシュや繰り返し文脈が占めるおおよその割合を添えて依頼します。また、Claude Platform on AWS の組織は Start ティアに置かれ、使用ティアが自動的に上がることはありません。課金も Anthropic のクレジット購入ではなく AWS Marketplace 経由です。ワークスペース単位のレート制限設定と fast mode も利用できません。
最後に、申請の前に確認しておくと無駄が減る点を挙げます。ここに書かれた上限は「許可される最大値」であって「保証される最小値」ではありません。またプロンプトキャッシュが効いていない状態で ITPM に当たっているなら、ティアを上げるよりキャッシュを効かせるほうが早く、費用も下がります(キャッシュ読み取りは基本の入力トークン価格の10%で課金されます)。