この記事にはアフィリエイトリンクが含まれる場合があります。

Claude APIを使うと、AnthropicのClaudeモデルをPythonアプリ、社内ツール、要約システムに組み込めます。2026年5月時点では、モデル名、料金、Prompt Caching、Batch API、Extended Thinking、Tool useまわりが整理され、初心者でも扱いやすくなりました。
この記事では、APIキーの準備からPython SDKのインストール、Messages APIの基本、ストリーミング、Tool use、コスト最適化、エラー処理までを一通り解説します。価格とモデル情報は、Anthropic公式の Pricing と Models overview を確認した内容です。
Claude APIとは
Claude APIは、Claudeにテキストやツール定義を渡し、応答をプログラムから受け取るREST APIです。基本の入口はMessages APIです。
ChatGPTのAPIと似ていますが、Claude APIでは「system」はメッセージ配列のroleではなく、トップレベルのsystem引数として渡す点が重要です。Tool useでは、Claudeがtool_useブロックを返し、アプリ側が実行結果をtool_resultとして戻す流れになります。
2026年5月時点の主要モデルと料金
2026年5月時点で、Claude APIの中心モデルはClaude Opus 4.7、Claude Sonnet 4.6、Claude Haiku 4.5です。Opus 4.7は複雑な推論や長時間のエージェント処理、Sonnet 4.6は速度と性能のバランス、Haiku 4.5は低遅延・低コストの大量処理に向いています。
| モデル | API ID | コンテキスト | 入力料金 | 出力料金 | おすすめ用途 |
|---|---|---|---|---|---|
| Claude Opus 4.7 | claude-opus-4-7 | 1M tokens | $5 / MTok | $25 / MTok | 高難度の設計、長文分析、エージェント開発 |
| Claude Sonnet 4.6 | claude-sonnet-4-6 | 1M tokens | $3 / MTok | $15 / MTok | 通常のAIアプリ、RAG、業務自動化 |
| Claude Haiku 4.5 | claude-haiku-4-5 | 200k tokens | $1 / MTok | $5 / MTok | 分類、短文生成、大量バッチ処理 |
最初の開発ではSonnet 4.6を選ぶのが無難です。品質を最優先する処理だけOpus 4.7に切り替え、分類や前処理をHaiku 4.5に任せる構成にすると、品質とコストのバランスを取りやすくなります。
APIキーの作成と安全な管理
Claude APIを使うには、Claude ConsoleでAPIキーを作成します。Claude Consoleにログインし、API Keysから新しいキーを作成してください。発行したキーは一度しか表示されないため、パスワードマネージャーやシークレット管理ツールに保存します。
- Claude Consoleにログインする
- Workspaceを選び、API Keysを開く
- Create Keyで新しいキーを発行する
- ローカル環境では環境変数
ANTHROPIC_API_KEYに設定する
APIキーをソースコードやGitHubに直接書くのは避けましょう。ローカルでは.env、本番ではGitHub Actions Secrets、AWS Secrets Manager、Google Secret Managerなどを使います。
# macOS / Linux
export ANTHROPIC_API_KEY="sk-ant-..."
# Windows PowerShell
$env:ANTHROPIC_API_KEY="sk-ant-..."
Python SDKのインストール
Pythonから使う場合は公式SDKのanthropicパッケージを使います。公式SDKドキュメントではPython 3.9以降が必要とされ、PyPIでは2026年5月6日にanthropic 0.100.0が公開されています。
python -m pip install -U "anthropic>=0.100.0"
Bedrock、Vertex AI、非同期性能向上用のaiohttpを使う場合は、SDKのextrasも利用できます。
Messages APIの基本コード
最小構成は、Anthropicクライアントを作り、client.messages.create()を呼ぶだけです。messagesにはuserとassistantの会話履歴を渡し、システムプロンプトはトップレベルのsystemに置きます。
from anthropic import Anthropic
client = Anthropic()
message = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
system="あなたはPython初心者にわかりやすく説明するAI開発講師です。",
messages=[
{
"role": "user",
"content": "PythonでJSONファイルを読み込むサンプルを教えてください。",
}
],
)
print(message.content[0].text)
APIのレスポンスには、本文だけでなくusageも含まれます。コスト管理ではinput_tokens、output_tokens、Prompt Cachingを使った場合のcache_creation_input_tokensやcache_read_input_tokensを記録しておくと便利です。
ストリーミングで応答を少しずつ表示する
チャットUIでは、応答が全部返るまで待つより、生成中のテキストを順番に表示したほうが体験が良くなります。SDKではstream=Trueを指定し、SSEイベントを処理します。
実装ではcontent_block_deltaイベント内のtext_deltaを拾い、画面に追記していきます。長い応答では、タイムアウト対策としてもストリーミングを優先すると扱いやすくなります。
Tool useで外部処理を呼び出す

Tool useは、Claudeに「必要ならこの関数を呼んでよい」と伝える仕組みです。たとえば在庫検索、社内DB検索、決済状態確認、カレンダー登録など、モデルだけでは完結しない処理をアプリ側で実行できます。
クライアントツールでは、Claudeがtool_useを返したらアプリが関数を実行し、その結果をtool_resultとして次のリクエストに含めます。サーバーツールの場合は、web searchなどをAnthropic側が実行します。自作アプリの基本はクライアントツールです。
from anthropic import Anthropic
client = Anthropic()
tools = [{
"name": "get_course_price",
"description": "指定された講座IDの現在価格を返します。",
"input_schema": {
"type": "object",
"properties": {"course_id": {"type": "string"}},
"required": ["course_id"],
},
}]
first = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
tools=tools,
messages=[{"role": "user", "content": "講座abc123の価格を確認して。"}],
)
tool_use = next(b for b in first.content if b.type == "tool_use")
print(tool_use.name, tool_use.input)
この後、アプリ側で関数を実行し、結果をtool_resultとして次のmessagesに含めます。判断はモデル、実行はアプリ側という分担にすると安全です。
Prompt Cachingでコストと待ち時間を下げる

長いシステムプロンプト、規約、マニュアル、RAGの共通コンテキストを毎回送る場合はPrompt Cachingが効果的です。公式ドキュメントでは、キャッシュヒット時に処理時間とコストを下げられ、デフォルトのTTLは5分、追加コストで1時間TTLも使えると説明されています。
Python SDKではclient.messages.create(..., cache_control={"type": "ephemeral"})のように指定できます。より細かく制御したい場合は、systemやmessages.content内の特定ブロックにcache_controlを付けます。
Prompt Cachingの料金は通常入力より少し複雑です。公式表では、5分キャッシュ書き込みは入力単価の1.25倍、1時間キャッシュ書き込みは2倍、キャッシュ読み取りは入力単価の0.1倍です。Sonnet 4.6なら、通常入力$3 / MTok、5分書き込み$3.75 / MTok、1時間書き込み$6 / MTok、キャッシュヒット$0.30 / MTokです。
Batch APIで大量処理を半額にする
即時応答が不要な要約、分類、評価、記事下書き生成などはMessage Batches APIに向いています。公式ガイドでは、最大100,000リクエストまたは256MBまでのバッチを作れ、多くのバッチは1時間未満で完了し、標準API価格から50%割引になるとされています。
Python SDKではclient.messages.batches.create()に、custom_idと通常のMessages API用paramsを持つリクエスト配列を渡します。完了後はclient.messages.batches.results(batch_id)で結果を順に取得します。
Extended ThinkingとAdaptive Thinking
複雑な推論や設計レビューではExtended Thinkingが役立ちます。ただし2026年5月時点では、Opus 4.7では手動のthinking: {"type": "enabled", "budget_tokens": N}は受け付けられず、thinking: {"type": "adaptive"}とeffortを使う方針です。Sonnet 4.6でもAdaptive Thinkingが推奨されています。
response = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=4096,
thinking={"type": "adaptive"},
effort="medium",
messages=[
{"role": "user", "content": "このPython設計の問題点をレビューしてください。"}
],
)
通常のFAQや短い要約にThinkingを使う必要はありません。コードレビュー、要件定義、マルチステップの調査、Tool useを組み合わせたエージェント処理など、推論の深さが品質に直結する場面だけで使うと費用対効果が高くなります。
エラー処理とレート制限の実装ポイント
本番運用では、成功時のコードよりエラー処理が重要です。Anthropic APIでは、認証エラーは401、権限不足は403、リクエストサイズ超過は413、レート制限は429、一時的な過負荷は529などで返ります。ストリーミング中はHTTP 200の後にSSE上でエラーが来ることもあるため、イベント処理側にも例外処理を入れてください。
429ではretry-afterに従って指数バックオフし、529は短時間待って再試行します。413は入力分割、504はストリーミングやBatch APIへの切り替えを検討し、障害調査用にrequest-idをログへ残します。
レート制限はRPM、ITPM、OTPMで管理されます。Prompt Cachingを使うと、多くのモデルではcache_read_input_tokensがITPMにカウントされないため、同じ長文コンテキストを繰り返し使うアプリでは実効スループットが大きく上がります。
BedrockとVertex AI経由で使う場合
Claudeは直のClaude APIだけでなく、Amazon Bedrock、Google Vertex AI、Microsoft Foundryでも利用できます。社内のクラウド統制、請求統合、リージョン要件が強い場合はこれらの経路が候補になります。ただしモデルID、利用可能リージョン、機能対応、料金が直APIと異なることがあるため、最初はClaude APIでプロトタイプを作り、運用フェーズでクラウド経路を選ぶのがおすすめです。
初心者におすすめの実装順
まずSonnet 4.6でMessages APIの最小コードを動かし、環境変数、ログ、usage記録、エラー再試行を整えます。その後、チャットUIならストリーミング、長い共通文脈ならPrompt Caching、大量処理ならHaiku 4.5とBatch API、外部データが必要ならTool useを追加する流れが堅実です。
まとめ
Claude APIは、Pythonから始めるAIアプリ開発に向いた実用的な選択肢です。2026年5月時点では、Opus 4.7、Sonnet 4.6、Haiku 4.5を用途で使い分け、Prompt CachingとBatch APIでコストを抑え、Tool useで外部システムと接続するのが基本戦略になります。
Claude APIとAI開発を体系的に学ぶ
Claude APIとAIエージェント開発を実践形式で学びたい方向けのUdemy講座です。