Anthropic API 使い方入門|APIキー取得からPython実装まで【2026年版】
Anthropic APIの使い方を基礎から丁寧に解説。APIキー取得手順・Python/Node.js実装コード例・Claudeモデル別料金・Prompt Caching・Claude Codeとの使い分けまで、公式ドキュメント準拠で2026年7月最新情報を完全網羅。
Anthropic API(アンソロピック API)を使えば、Python や Node.js のコードから Claude を直接呼び出し、チャットボット・文書要約・コード生成といった AI 機能を自社サービスへ組み込めます。本記事では API キーの取得から実際の実装例まで、公式ドキュメント(Anthropic API Reference)をもとに 2026 年 7 月時点の最新情報で解説します。
1. Anthropic API とは
Anthropic API は、Anthropic が提供する Claude モデルを HTTP リクエストで利用するための REST API です。エンドポイントにプロンプトを送ると、Claude が生成したテキストが JSON 形式で返ってきます。
1-1. API でできること
API を使って実現できる主なユースケースを整理します。
| ユースケース | 概要 |
|---|---|
| チャットボット | カスタマーサポート・社内問い合わせ Bot の構築 |
| 文書要約・分類 | 契約書・メール・記事を自動で要約・タグ付け |
| コード生成・レビュー | 指定した言語でコードを生成し、バグを自動検出 |
| データ抽出 | 非構造化テキストから JSON 形式でデータを抽出 |
| 多言語翻訳 | 自然な文体での翻訳・ローカライズ |
| 画像解析(Vision) | 画像に写るものをテキストで説明・分析 |
1-2. Claude Code / Claude.ai との違い
Anthropic の製品は用途で使い分けます。
| 製品 | 主な用途 | 技術形態 |
|---|---|---|
| Anthropic API | アプリ・サービスへの Claude 組み込み | REST API / SDK |
| Claude Code | ターミナル上での AI 開発エージェント | CLI ツール |
| Claude.ai | ブラウザ上でのチャット型 AI アシスタント | Web アプリ |
API を選ぶのは「自社サービスや社内ツールに Claude を組み込みたい」ときです。Claude Code の詳細は Claude Code 完全ガイド を参照してください。
2. API キーの取得手順
2-1. Anthropic Console でアカウントを作成する
API キーは Anthropic Console で発行します。手順は以下のとおりです。
console.anthropic.comにアクセス- メールアドレスで新規アカウント登録(無料)
- メール認証を完了する
- 電話番号による 2 段階認証を設定する
アカウント作成直後は**無料クレジット(Free Tier)**が付与されており、トライアル利用が可能です(付与額・有効期限は Anthropic の方針変更に伴い変わる場合があります。最新情報は Anthropic コンソール でご確認ください)。
2-2. API キーを発行する
コンソールにログイン後、左メニューの 「API Keys」 → 「Create Key」 をクリックし、わかりやすい名前(例: my-app-dev)を付けて発行します。
重要: API キーは発行直後の 1 回しか表示されません。必ずその場でコピーして安全な場所に保管してください。
2-3. API キーの安全な管理方法
API キーは絶対にソースコードに直書きしないのが鉄則です。以下の方法で管理してください。
# .env ファイルに保存(.gitignore に追加必須)
ANTHROPIC_API_KEY=sk-ant-xxxxxxxxxxxxxxxxxxxxxxxx
# Python でロードする例
import os
from dotenv import load_dotenv
load_dotenv()
api_key = os.environ.get("ANTHROPIC_API_KEY")
本番環境では AWS Secrets Manager / GCP Secret Manager / Vercel Environment Variables などのシークレット管理サービスを利用することを推奨します。
3. Claudeモデルと API 料金
3-1. 主要モデル一覧(2026 年 7 月時点)
Anthropic API で利用できる主要モデルの比較です(出典: Anthropic 公式 Claude モデル一覧)。
| モデル名 | コンテキスト | 入力料金 | 出力料金 | 用途 |
|---|---|---|---|---|
| claude-opus-4-8 | 200K | $15 / MTok | $75 / MTok | 複雑な推論・エージェント |
| claude-sonnet-4-5 | 200K | $3 / MTok | $15 / MTok | バランス型・汎用 |
| claude-haiku-3-5 | 200K | $0.8 / MTok | $4 / MTok | 高速・低コスト・大量処理 |
注意: 料金・モデル仕様は Anthropic の方針により変更されることがあります。最新情報は Anthropic 公式料金ページ を必ずご確認ください。
3-2. トークンと料金の計算方法
Claude の料金はトークン(テキストの最小単位)数で計算されます。目安として、日本語は 1 文字 ≈ 1〜2 トークン、英語は 4 文字 ≈ 1 トークンが一般的です。
コストを抑えるには以下が有効です(詳細は Claude Code トークンコスト節約テク9選 を参照)。
- Prompt Caching: 同じシステムプロンプトを繰り返す場合、最大 90% のコスト削減(Anthropic 公式機能)
- Haiku を使い分ける: 定型・大量処理は Haiku、複雑な推論のみ Opus に振る
- 出力トークンの制御:
max_tokensパラメータで出力長を制限する
4. Python での実装例
4-1. SDK のインストール
pip install anthropic
4-2. 基本的なメッセージ送信
最もシンプルな Claude への質問コードです。
import anthropic
client = anthropic.Anthropic() # ANTHROPIC_API_KEY を環境変数から自動読み込み
message = client.messages.create(
model="claude-sonnet-4-5",
max_tokens=1024,
messages=[
{"role": "user", "content": "Pythonでフィボナッチ数列を生成するコードを書いて"}
]
)
print(message.content[0].text)
4-3. システムプロンプトとマルチターン対話
実際のチャットアプリでは、役割指定(システムプロンプト)と会話履歴の管理が必要です。
import anthropic
client = anthropic.Anthropic()
# 会話履歴を蓄積するリスト
conversation_history = []
def chat(user_message: str) -> str:
conversation_history.append({
"role": "user",
"content": user_message
})
response = client.messages.create(
model="claude-sonnet-4-5",
max_tokens=2048,
system="あなたは日本語で丁寧に答えるビジネスアシスタントです。簡潔で実用的な回答を心がけてください。",
messages=conversation_history
)
assistant_message = response.content[0].text
conversation_history.append({
"role": "assistant",
"content": assistant_message
})
return assistant_message
# 使用例
print(chat("売上レポートの要約テンプレートを作って"))
print(chat("もう少し簡潔にして"))
4-4. ストリーミングレスポンス
長い回答をリアルタイムで表示したい場合はストリーミングを使います。
import anthropic
client = anthropic.Anthropic()
with client.messages.stream(
model="claude-sonnet-4-5",
max_tokens=1024,
messages=[{"role": "user", "content": "日本のAI活用トレンドを詳しく解説して"}],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
5. Node.js / TypeScript での実装例
5-1. SDK のインストール
npm install @anthropic-ai/sdk
# または
yarn add @anthropic-ai/sdk
5-2. TypeScript での基本実装
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic();
// ANTHROPIC_API_KEY 環境変数を自動読み込み
async function main() {
const message = await client.messages.create({
model: "claude-sonnet-4-5",
max_tokens: 1024,
messages: [
{
role: "user",
content: "TypeScriptでRESTful APIを設計するベストプラクティスを教えて",
},
],
});
console.log(message.content[0].text);
}
main();
5-3. Next.js App Router での活用例
Web アプリのバックエンドに組み込む典型パターンです。
// app/api/chat/route.ts
import Anthropic from "@anthropic-ai/sdk";
import { NextRequest, NextResponse } from "next/server";
const client = new Anthropic();
export async function POST(req: NextRequest) {
const { message } = await req.json();
const response = await client.messages.create({
model: "claude-haiku-3-5",
max_tokens: 512,
messages: [{ role: "user", content: message }],
});
return NextResponse.json({
reply: response.content[0].text,
});
}
6. 実践的な活用パターン
6-1. PDF・長文ドキュメントの要約
Claude は 200K トークンのコンテキストを持つため、長い PDF や契約書を丸ごと渡して要約させることができます。
def summarize_document(text: str) -> str:
"""長文ドキュメントを3行に要約する"""
response = client.messages.create(
model="claude-opus-4-8",
max_tokens=300,
system="与えられたドキュメントを日本語で3行以内に要約してください。重要なポイントを箇条書きで示してください。",
messages=[{"role": "user", "content": text}]
)
return response.content[0].text
6-2. 構造化データの抽出
非構造化テキストから JSON でデータを抽出する典型パターンです。
import json
def extract_contact_info(text: str) -> dict:
"""テキストから連絡先情報を抽出する"""
response = client.messages.create(
model="claude-haiku-3-5",
max_tokens=200,
system='テキストから連絡先情報を抽出し、必ず{"name": "", "email": "", "phone": ""}形式のJSONのみを返してください。',
messages=[{"role": "user", "content": text}]
)
return json.loads(response.content[0].text)
6-3. Vision API で画像を解析する
Claude は画像も入力として受け付けます。
import base64
def analyze_image(image_path: str, question: str) -> str:
"""画像を分析して質問に答える"""
with open(image_path, "rb") as f:
image_data = base64.standard_b64encode(f.read()).decode("utf-8")
response = client.messages.create(
model="claude-opus-4-8",
max_tokens=1024,
messages=[
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/jpeg",
"data": image_data,
},
},
{"type": "text", "text": question}
],
}
],
)
return response.content[0].text
# 使用例
result = analyze_image("chart.jpg", "このグラフのトレンドを分析してください")
7. エラーハンドリングとベストプラクティス
7-1. よくあるエラーと対処法
| エラー | 原因 | 対処法 |
|---|---|---|
AuthenticationError | API キーが無効・未設定 | 環境変数 ANTHROPIC_API_KEY を確認 |
RateLimitError | リクエスト数の上限超過 | リトライ処理を実装、上位 Tier に申請 |
OverloadedError | Anthropic サーバー高負荷 | 指数バックオフでリトライ |
BadRequestError | リクエスト形式エラー | メッセージ構造・パラメータを確認 |
7-2. リトライ処理の実装
import time
import anthropic
client = anthropic.Anthropic(
max_retries=3, # SDK 内蔵のリトライ機能(指数バックオフ付き)
)
Anthropic の公式 SDK には指数バックオフ付きのリトライ機能が標準実装されています。max_retries パラメータで最大リトライ回数を制御できます。
7-3. コスト管理のポイント
- 使用量の監視: Anthropic Console の Usage ダッシュボードで日次コストを確認する
- 予算アラート: Console でコスト上限を設定し、閾値超過時にメール通知を受け取る
- テスト環境では Haiku を使う: 開発・テスト時は
claude-haiku-3-5を使い、本番のみ Opus / Sonnet に切り替える
まとめ
Anthropic API の基本的な使い方を整理します。
- アカウント作成: Anthropic Console でアカウントを作成し、API キーを発行
- SDK インストール:
pip install anthropicまたはnpm install @anthropic-ai/sdk - 環境変数管理:
ANTHROPIC_API_KEYを.envに設定し、ソースコードに直書きしない - モデル選択: コスト重視なら Haiku、バランスなら Sonnet、複雑な推論なら Opus
- コスト管理: Prompt Caching・トークン制限・Haiku 使い分けで効率化
Claude Code を使った AI 開発エージェントの実装については Claude Code 完全ガイド を、API を Claude Code から呼び出す方法については Claude Code SDK とは? をあわせてご覧ください。
