ToolArc

ToolArc — AIと開発のTips・比較

※記事により広告・アフィリエイトリンクを含む場合があります。

Series:Claude 開発シリーズ(Claude Code / API)

Claude APIの料金とレート制限|コスト概算と429エラーの切り分け

Claude APIの料金がモデルと入力・出力トークンでどう決まるか、レート制限で429が返る理由は何かを、執筆時点の公式ドキュメントに沿って整理します。本番投入前にコストを概算する手順と、止まったときに何を見て原因を見分けるかを表にまとめました。使い方の基本やキー設定は別記事に委ね、費用と制限の判断だけを扱います。

  • Claude
  • Claude API
  • Anthropic
  • API料金
  • レート制限
  • 3

Claude APIの最小構成は、すでに動かせているとします。次に頭をよぎるのは、「本番で回したら月にいくらかかるのか」という金額の話と、「なぜ突然429エラーで処理が止まるのか」という制限の話です。429という言葉自体に馴染みがなく、何を意味するエラーなのか分からないまま止まっている場合もあるでしょう。

本記事では、単価表を自分の金額に変換する手順と、レート制限が何で決まり429にどう対処するかを1本で通します。APIの使い方の基本や最小コード例がまだの場合は、先にClaude APIの使い方を確認してください。APIキーの発行や環境変数の設定、401系の認証エラーの見直しはAPIキーと環境変数の設定の記事にまとめてあり、該当箇所は後半の切り分け表からも触れます。

今日の結論

  • Claude APIの料金は「モデル × 入力トークン × 出力トークン」の掛け算で決まる。単価は執筆時点の公式ページが正で、数値そのものを覚える必要はない
  • 月額の目安は「1回の呼び出しで使ったトークン量を実測する → 単価を掛ける → 想定件数を掛ける」の3段で出せる。実測はレスポンスの使用量から読み取れば足りる
  • レート制限は「一定時間あたりの要求数・トークン数」を利用階層ごとに区切る仕組みで、超えると429が返る。上限の数値は階層で変わるため、暗記より公式表での確認が近道
  • 429が出たら、まず401(キー設定の問題)や529(混雑)と見分け、次に要求数かトークン数のどちらに当たったかを見て、待つ・減らす・分ける・階層を上げるの順で対処する
  • 執筆時点の公式ヘルプセンターで確認した範囲では、チャットの有料プランとAPIの従量課金は別会計。API側の利用はConsoleでの設定から始まる

Claude APIの料金は「モデル×入力・出力トークン」で決まる

Claude APIの単価表の読み方図解。モデル名・入力単価・出力単価の3列と、100万トークンあたりの価格単位、入力より出力が高い旨を示す

Claude APIは、Claudeのチャット向け有料プラン(Pro・Max・Team・Enterprise)とは別会計です。有料プランに入っていても、それだけではAPIは使えません。API利用にはConsoleでの設定が別途必要で、料金も別途発生します。

料金の土台になるのは、モデルごとに決まっている「100万トークンあたりの単価」です。単価表には、モデル名と並んで入力トークンの単価・出力トークンの単価が載る構成。入力と出力は別料金で、出力の方が高く設定されています。これは、出力側では実際にトークンを1つずつ生成する計算が発生し、入力を読み込むだけの処理より計算量が大きくなるためです。

たとえば執筆時点の公式価格ページでは、Claude Sonnet 5は入力100万トークンあたり2ドル、出力は10ドルとなっています。数値そのものは今後の改定で変わり得るため、覚える必要はありません。大事なのは「入力より出力の方が高い」「モデルによって単価が違う」という構造で、その構造さえ分かれば公式の単価表をそのつど読み替えられます。

単価表には、標準の単価のほかに、プロンプトキャッシュ(cache)やBatch API(バッチ処理)といった別項目も並んでいます。条件次第で標準より安くなる項目ですが、割引率や適用条件は執筆時点の公式ページで確認してください。本記事では「そういう項目がある」ことだけ触れ、具体的な使い分けには踏み込みません。

本番前にコストを概算する3ステップ

本番投入前にかかる費用を大まかにつかむには、次の3段階で考えると見通しが立ちます。

  1. 1回の呼び出しで使ったトークン量を実測する

    Claude APIのレスポンスには、そのリクエストで使った入力・出力トークン数が含まれています。既存のコードに1〜2行足すだけで取り出せます。

    response = client.messages.create(...)
    print(response.usage.input_tokens, response.usage.output_tokens)
    

    自分のプロンプトの長さや、Claudeに書かせる分量によってこの数字は変わります。単価より先に、まず自分のトークン量を知ることが概算の出発点です。

  2. 入力・出力それぞれに執筆時点の単価を掛ける

    単価は前のセクションで触れた公式の単価表から拾います。たとえば入力2,000トークン・出力500トークンを使った呼び出しを、Claude Sonnet 5の単価(入力100万トークンあたり2ドル・出力10ドル、執筆時点)に当てはめると、次のようになります。

    • 入力: 2,000 ÷ 1,000,000 × 2ドル = 0.004ドル
    • 出力: 500 ÷ 1,000,000 × 10ドル = 0.005ドル
    • 1回あたり合計: 約0.009ドル
  3. 想定件数を掛けて月額の目安を出す

    仮に月1万回この呼び出しを行うとすると、0.009ドル × 10,000 = 90ドルが月額の目安になります。あくまで仮の件数と執筆時点の単価による試算で、実際の請求額を保証するものではありません。トークン量は入力の長さと生成させる文章量で大きく変わるため、単価そのものより、自分のリクエストのトークン量の方が金額を左右します。

概算ができたら、想定を超えて使ってしまう事故を防ぐ設定もしておきます。Console(platform.claude.com)のBilling画面には支出上限(Spend limits)の項目があり、上限額を決めておけば、それを超えたところでリクエストが止まります。上限に達したときの挙動やエラーの見分け方は、このあとのセクションで扱います。

レート制限は何で決まるか

Claude APIのレート制限は、1分あたりの上限を3つの軸で見ています。

  • リクエスト数(RPM: requests per minute)
  • 入力トークン数(ITPM: input tokens per minute)
  • 出力トークン数(OTPM: output tokens per minute)

この3つはモデルごとに別々に管理されています。あるモデルで上限に近づいても、別のモデルへの呼び出しには影響しません。

上限の値は、利用階層(usage tier)​によって変わります。新しい組織は実績の少ない段階から始まり、利用実績が積み上がると段階的に上位の階層へ上がっていきます。昇格の細かい条件は非公開の部分もあるため、「利用実績に応じて自動で上がる」という範囲までにとどめておきます。同じAPIキーでも、階層が上がれば上限は広がります。

上限の超え方には癖があります。容量は固定の枠を一定間隔でリセットする方式ではなく、常に少しずつ回復していく方式で管理されています。そのため、1分あたり60リクエストという上限が、実際にはおよそ1秒に1リクエストという間隔で運用される場合があります。平均では上限内に収まっていても、短時間にリクエストが集中すると、そこだけ上限を超えて429が返ることがあります。

RPM・ITPM・OTPMのいずれか1つでも超えた瞬間に、APIはその場でリクエストの受け付けを止め、429エラーを返します。3つのうちどれに当たったかは、レスポンスヘッダーで確認できます。詳しい見分け方は次のセクションで扱います。

ここで、料金とレート制限を混同しないための線引きをしておきます。前のセクションで触れた支出上限とレート制限は別の仕組みです。支出上限を高く設定しても、あるいは実際に多く支払ったとしても、それだけでRPM・ITPM・OTPMの上限が自動的に広がるわけではありません。上限を広げたい場合は、Consoleの利用枠の画面から引き上げをリクエストする必要があります。

具体的な上限の数値はモデル・階層の組み合わせで変わり、今後も改定され得るため、本文には記載しません。自分の組織の現在値は、Console(platform.claude.com)の利用枠の画面で確認してください。

429で止まったときの切り分け

まず、返ってきた状態ごとに原因の系統を整理します。

状態原因の系統次にやること
429(rate_limit_error)+retry-afterヘッダーありRPM・ITPM・OTPMのいずれかを超過retry-afterの秒数だけ待つか、指数バックオフで再試行する。どの軸で止まったかはレスポンスヘッダーで確認できる
429(rate_limit_error)+retry-afterヘッダーなし利用階層の月間支出上限に到達再試行しても解消しない。翌月の上限リセットを待つか、Consoleから上位階層への引き上げを申請する
401(authentication_errorAPIキーの形式・失効・取り消しなど認証の問題APIキーと環境変数の設定でキーの発行・設定を見直す
529(overloaded_errorAnthropic側の混雑(自分の利用量とは無関係)少し時間を置いてから再試行する
400(invalid_request_errorリクエスト内容の不備、または自分で設定した支出上限への到達リクエストの形式を見直す。自分で上限を設定していた場合はConsoleで上限を上げるか外す

429が返ってきたときは、次の順番で対処すると足取りが分かりやすくなります。

  1. まずレスポンスのretry-afterヘッダーに従って待つか、指数バックオフで再試行します。公式SDKは既定で数回まで自動的にこの再試行を行います。バックオフが効くのは、レート制限が固定の枠ではなく時間とともに回復していく仕組みだからです。前のセクションで触れた回復の仕組みと同じ理屈です。
  2. それでも止まる場合は、1回あたりのトークンを減らします。プロンプトを短くする、出力の上限を絞るなどが該当します。出力トークンは実際に生成された分だけがOTPMの計算対象になるため、生成量そのものを減らすことが直接効きます。
  3. 呼び出しを分散させる、または急ぎでない処理はBatch API(バッチ処理)にまとめる方法もあります。バッチ処理は通常のリクエストとは別枠のレート制限で動くため、RPM・ITPM・OTPMを圧迫しません。
  4. それでも足りない場合は、Consoleの利用枠の画面から利用階層の引き上げをリクエストします。

まとめと次に読む

料金は「モデル×入力・出力トークン」の掛け算で決まり、単価表さえ読めれば自分の呼び出しの金額に落とし込めます。レート制限は数値を覚えるものではなく、429が返ったときにどの軸で止まったかを切り分けられれば十分です。この2つを分けて考えられれば、本番投入をためらう理由はだいぶ減るはずです。

次に読むなら、以下がつながります。


本記事の内容は執筆時点(2026-09-03)の情報に基づきます。Claude APIの料金・モデル名・レート制限の上限・利用階層の条件は変更される可能性があります。本文の計算例は仮の件数と執筆時点の単価による目安で、実際の請求額を保証するものではありません。重要な判断は公式ドキュメントとConsoleの表示で確認してください。