「Claude CodeとAnthropic APIって、結局どっちを使えばいいんですか」 — ここ最近、エンジニアからこの質問を受ける機会が増えました。両方Anthropicが提供しているサービスで名前も似ているので、混乱して当然です。

この記事では、Claude CodeとAnthropic APIの関係を整理して、どんな場面でどちらを使うべきかを実例とともに解説します。

Claude CodeはAnthropic APIをラップしたCLIツール

技術的に言うと、Claude Codeは内部でAnthropic APIを呼んでいます。つまりClaude Codeを動かすたびに、裏ではAnthropic APIへのリクエストが飛んでいる。両者は対立する選択肢ではなく、包含関係にあります。

[Anthropic API]  ← 生のAPIエンドポイント
        ↑ 呼び出し
[Claude Code]    ← CLI + ファイル操作 + ツール群でラップ
        ↑ 起動
[利用者]

Claude Codeが付け加えているのは、ターミナルで動く対話インターフェース、ファイル読み書きの権限管理、コマンド実行、CLAUDE.mdの自動読み込み、サブエージェント、MCP連携など。「APIだけだと自分で実装する必要があるもの」を全部まとめてくれているイメージです。

私が研修で説明するときは、「Anthropic APIが食材で、Claude Codeが定食」というたとえを使っています。食材から自分で料理を作るか、できあがった定食を食べるかの違い。

どんな時にAPIを直接叩くべきか

「定食で十分」がほとんどの場面の答えです。それでもAPIを直接叩くべき場面は確実にあります。

第一に、自社サービスにClaudeを組み込みたい場合。チャットボット、自動要約サービス、コード分析ツールなど、最終ユーザーがClaudeに直接触れる製品を作るならAPIが必須です。Claude CodeはCLIツールなので、Webサービスの裏側には入りません。

第二に、独自の権限管理やログ取得が必要な場合。社内システムに組み込んで、誰がいつ何を聞いたかをすべてログに残すような要件だと、APIを直接叩いて全部自前で扱うほうが制御しやすい。

第三に、Claude Code以外のフレームワーク(LangChain、LlamaIndex等)と統合したい場合。これらは独自の抽象化レイヤを持っているので、Claude Code経由ではなくAPIを直接叩く形になります。

逆に、開発者個人の作業効率化や、社内の業務自動化(議事録/日報/Excel)が目的なら、Claude Codeで十分です。APIを直接叩く理由はほぼ無い。

私はある時、議事録要約スクリプトをAPI直接利用で書き始めて、認証・リトライ・エラーハンドリング・コスト計算と1日かけても完成しませんでした。claude を起動して「議事録を要約して」と指示する10秒で済む話だった。

料金体系の違い

両者の料金は性質が違います。

Anthropic API(直接利用)

  • 入力1Mトークン × 単価 + 出力1Mトークン × 単価
  • モデルごとに単価が異なる(Opus / Sonnet / Haiku)
  • 月の請求はクレジットカード払いの従量制
  • プリペイドのクレジット購入も可能

Claude Code(Pro / Max / Team プラン経由)

  • 月額固定のサブスクリプション
  • プランごとに利用上限あり(時間あたりの呼び出し数等)
  • 上限内ならいくら使っても定額

軽い試用ならAPI直接利用(数百円で始められる)、本格運用ならClaude Codeのプラン契約、というのが王道です。API直接利用で月50時間以上クロードを使う人は、Proプランの方が安く済むケースが多いです。

APIを叩く時の最小サンプル

参考までに、curl 1発で Anthropic APIを呼ぶサンプルを置いておきます。

curl https://api.anthropic.com/v1/messages \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-opus-4-7",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "1+1は?"}]
  }'

レスポンスがJSONで返ってきて、content[0].text に応答テキストが入っています。Pythonならanthropic SDK(pip install anthropic)を使うのが標準。

from anthropic import Anthropic
client = Anthropic()
msg = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=1024,
    messages=[{"role": "user", "content": "1+1は?"}],
)
print(msg.content[0].text)

これだけ書いておけば、Pythonからは数行でClaudeに話しかけられます。Claude Codeを使わずにAPIを使うシーンは、こうした「アプリに組み込む」用途がほとんどです。

キーの発行と保管に注意

API直接利用にはAnthropic APIキーの発行が必要です。Claude Code経由(Pro/Max/Teamプラン)では、APIキーを意識しなくても済みますが、API直接利用は別。

キーは Anthropic Console から発行できます。発行後は1度しか表示されないので、控え忘れに注意。

セキュリティ上の鉄則は次のとおり。

  • リポジトリにコミットしない(必ず .env / .gitignore で保護)
  • 公開Slackチャンネルに貼らない
  • 漏洩したら即座にコンソールから無効化
  • 用途別にキーを分けて、漏洩時の被害範囲を狭める

私は自分のAPIキー1本を社内Wiki経由で漏らした経験があります(社内限定とはいえ全社員から見える状態でした)。気づいてから無効化まで1時間、その間の不正利用はゼロでしたが冷や汗もの。それ以来、キーは1Password に入れて、必要な時だけ環境変数で読み込む運用に変えました。

まとめ

  • Claude CodeはAnthropic APIをラップしたCLIツール。技術的には包含関係
  • 個人の作業効率化・社内業務自動化が目的ならClaude Codeで十分
  • 自社サービス組み込み・独自権限管理・他フレームワーク統合ならAPI直接利用
  • 料金は別建て。API直接が従量、Claude Codeがプラン定額
  • API利用はキー管理に注意。リポジトリ・チャットへの貼り付け禁止