Claude APIキーの取得方法 — Consoleでの作成手順と最初の呼び出し
Claude APIキーはConsoleのSettings → API keysで作ります。キー種別・有効期限・ワークスペースの選び方と、環境変数への設定、最初のリクエストまでの手順です。
Claude APIキー(Anthropic APIキー)は、Claude ConsoleのSettings → API keysページで作成します。ConsoleにサインインしてCreate keyを押し、名前・有効期限・Linked accountを決めれば発行されます。キーの全文が表示されるのは作成した直後の一度きりです。
この記事は、最初のキーを作って環境変数に入れ、最初のリクエストを送るところまでを順に追います。
作成前に決めておくこと
Create keyのフォームには、種別・有効期限・ワークスペースの3つの選択が並びます。有効期限は作成後に変えられないので、先に整理しておくと迷いません。
| 項目 | 選択肢 | 公式の記述 |
|---|---|---|
| キー種別(Linked account) | 選択肢自分(個人キー)/ サービスアカウント | 公式の記述作成時に選ぶ |
| 有効期限 | 選択肢3時間・1日・7日・30日・任意の期間・Never | 公式の記述作成後に変更できない |
| ワークスペース | 選択肢特定のワークスペース / 指定なし | 公式の記述作成時に選ぶ。任意項目 |
種別の概念整理と、WIFやApp Attestとの選び分けはClaude APIの認証方式まとめに任せます。ここでは、最初のキー作成に必要な最低限だけ押さえます。
個人キーとサービスアカウントキーの使い分け
個人キー(personal key)は、あなた自身として動くキーです。自分の開発やスクリプトに使います。サービスアカウントキーは、CIパイプラインや本番サービス、エージェントなどのワークロード用です。
公式の指針は明快で、自分用なら個人キー、共有するものはサービスアカウントキーです。共有している個人キーは「ひとりの人間として」動き続けるため、その人が抜けた時点で止まります。
個人キーが止まる条件
個人キーは、組織へのアクセスを失うと止まります。ワークスペースを1つに絞って作ったキーなら、そのワークスペースへのアクセスを失った時点でも止まります。
組織から外されたときは、個人キーがアーカイブされます。再招待されても、アーカイブ済みのキーは復活しません。新しく作り直します。
つまり、退職や異動で組織を抜けたメンバーのキーを、ほかの誰かが使い回す運用は成立しません。チームで使うキーは最初からサービスアカウントで作るのが筋です。
サービスアカウントキーも同じ考え方で、サービスアカウントがアーカイブされると止まります。単一ワークスペース用なら、そのワークスペースから外された時点でも止まります。
ワークスペースキーは新規に作らない
ほかに、所有者を持たない旧来のワークスペースキーがあります。作成者が組織を抜けても動き続けるため、持ち主が不在のまま残りやすい種類です。個人キーやサービスアカウントキーなら、紐づくアカウントの削除と同時に止まります。新しい連携には、個人キーかサービスアカウントキーを選ぶのが公式の推奨です。既存のワークスペースキーからの置き換え手順は、認証方式の記事に載っています。
ConsoleでAPIキーを作る手順
手順は4ステップです。
- platform.claude.com にサインインします。アカウントがなければ、ここで作成します
- Settings → API keysのページを開きます
- Create keyを押し、名前・有効期限・Linked accountを設定します。必要ならワークスペースも選びます
- 表示されたキーをコピーして、安全な場所に保管します
キーは sk-ant- で始まる文字列です。
有効期限は何を選ぶか
期限はプリセットの3時間・1日・7日・30日、任意の期間、Neverから選びます。Neverは、シークレットマネージャーに入れて自分でローテーションするキー向けに用意された選択肢です。
組織に最大有効期限のポリシーがあると、Consoleのプリセットと任意期間はその上限に切り詰められ、Neverは選べなくなります。期限は作成時に決めるもので、あとから変更できません。
期限が近づくと、作成者にメールが届きます。ただし通知が来る条件は決まっています。
- 寿命が14日以上のキーは、期限の7日前
- 寿命が7日以上のキーは、期限の1日前
- それより短い寿命のキーは、警告メールなしで切れる
期限切れのキーで送ったリクエストは、401 authentication_error を返します。期限切れのキーは再有効化できないので、新しく作ります。
ワークスペースを絞るかどうか
ワークスペースを指定してキーを作ると、そのキーはそのワークスペースでだけ動きます。リクエストにワークスペースIDを付ける必要もなくなります。
指定しないキーは、リクエストごとに anthropic-workspace-id ヘッダーでワークスペースIDを渡します。IDはSettings → WorkspacesのID列で確認できます。
迷ったら、使うワークスペースが1つなら絞って作る形が簡単です。複数をまたぐ必要が出てから、指定なしのキーを作れば十分です。
Create keyが押せないとき
Create keyボタンが無効になっている場合は、あなたのロールではConsoleからキーを作れない設定です。組織の管理者に、ロールの変更を頼みます。ワークロード用なら、管理者にサービスアカウントキーの作成を頼む方法もあります。
キーを安全に保管する
Consoleがキーの全文を見せるのは、作成時の一度だけです。なくした場合は、後から見直す手段がありません。新しいキーを作り直すことになります。
保管先はシークレットマネージャーが公式の例です。ソースコードやリポジトリに直書きしない点は、漏洩時の被害に直結します。漏れたかもしれないと思った時点の動き方は、APIキーの漏洩が疑われるときの無効化手順にまとめています。
無効化の操作は2種類あります。
| 操作 | 取り消せるか | キーの状態 |
|---|---|---|
| Disable | 取り消せるか取り消せる(Re-enableで戻る) | キーの状態Admin APIでは inactive |
| Delete | 取り消せるか取り消せない | キーの状態アーカイブ(archived) |
期限切れのキーに対しては、Deleteしか選べません。
作ったキーを使う
環境変数に設定する
SDKは ANTHROPIC_API_KEY を自動で読み込みます。シェルで次のように設定します。
export ANTHROPIC_API_KEY="sk-ant-api03-..."同じシェルから起動したSDKは、コードにキーを書かなくても認証されます。永続化したいときは、キーをファイルに書き残すより、シークレットマネージャーから注入する形が先ほどの保管方針に沿います。
curlで最初のリクエストを送る
直接HTTPで呼ぶときは、リクエストヘッダーにキーを載せます。公式のクイックスタートに沿った形は次のとおりです。
curl https://api.anthropic.com/v1/messages \
-H "content-type: application/json" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-opus-5-5",
"max_tokens": 1000,
"messages": [
{"role": "user", "content": "Hello, Claude"}
]
}'認証ページでは、Authorization: Bearer <キー> を基本の送り方として説明しています。x-api-key は従来のヘッダーで、引き続き使えます。どちらを選んでも、キー自体は同じものです。
指定なしのキーを使っているなら、ここに -H "anthropic-workspace-id: <ワークスペースID>" を足します。ワークスペースを絞ったキーでは、このヘッダーは不要です。
ブラウザ上でリクエストを試したいときは、ConsoleのPlaygroundの使い方が役に立ちます。
SDKから呼ぶ
自作のアプリから使うなら、SDKを経由するのが普通です。SDKは環境変数 ANTHROPIC_API_KEY を自動で読むので、コードにキーを書く必要はありません。Pythonの場合は、仮想環境を作ってSDKを入れます。
mkdir claude-quickstart && cd claude-quickstart
python3 -m venv .venv && source .venv/bin/activate
pip install anthropicquickstart.py に最小の呼び出しを書きます。
import anthropic
client = anthropic.Anthropic()
message = client.messages.create(
model="claude-opus-5-5",
max_tokens=1000,
messages=[
{"role": "user", "content": "Hello, Claude"}
],
)
for block in message.content:
if block.type == "text":
print(block.text)python quickstart.py で実行すると、返答のテキストが表示されます。
TypeScriptでは、プロジェクトを作ってパッケージを入れます。
mkdir claude-quickstart && cd claude-quickstart
npm init -y
npm pkg set type=module
npm install @anthropic-ai/sdkquickstart.ts は次のとおりです。
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic();
const message = await client.messages.create({
model: "claude-opus-5-5",
max_tokens: 1000,
messages: [{ role: "user", content: "Hello, Claude" }]
});
for (const block of message.content) {
if (block.type === "text") {
console.log(block.text);
}
}実行は npx tsx quickstart.ts です。どちらも引数にキーを渡していません。コンストラクタが環境変数から読むためで、ソースコードやリポジトリにキーが残らない形になります。
curlと見比べると、model・max_tokens・messages の3つが同じ形で並んでいます。違うのは、ヘッダーの組み立てやレスポンスの取り出しをSDKが引き受ける点です。
つまずきやすい3つの場面
作ったはずのキーが見つからない
全文表示は一度きりです。コピーを忘れたら、キーを再表示する方法はありません。API keysページのテーブルには各キーの有効期限が出るだけです。同じ名前でもう一度作り、古いキーはDeleteします。
Admin APIでキーを発行しようとする
Admin APIには、キーの一覧や取得のエンドポイントがあります。ただし返るのは一部を伏せたヒントだけで、キーの秘密の値は返りません。Admin APIで、紛失したキーの復元やClaude API用のキーの発行はできません。使えるキーを手に入れる唯一の場所は、ConsoleのSettings → API keysです。
Admin APIを呼ぶには、Admin APIキーか、ワークスペースを絞っていない個人・サービスアカウントキーなどが使えます。Admin APIキーの作り方はAdmin APIキーの取得方法とスコープ選択を見てください。
突然401になる
まず、有効期限を疑います。Consoleのキー一覧で期限を確認し、切れていれば新しく作ります。次に、個人キーなら紐づく自分のアカウントが組織に残っているかを確かめます。組織から外されたあとのキーは、アーカイブされて復活しません。
Claude Codeを使うだけならキーは不要か
Claude Codeは、Console認証でのサインインに対応しています。APIキーを発行せずに使う方法は、Claude CodeでAPIキーなしにログインする方法で扱っています。API経由で自作のアプリを動かすのでなければ、キーを作る前にこちらも選択肢になります。
まとめ
最初のキーは、Settings → API keysでCreate keyを押し、名前・有効期限・Linked accountを決めるだけで作れます。自分の開発なら個人キー、共有するワークロードならサービスアカウントキーを選びます。
個人キーは、組織から外れると復活せずに止まります。チームで使うキーを個人キーにしない理由は、この一点です。有効期限は作成後に変えられないため、決め方は後からではなく作る時点で考えます。キーの全文は一度しか見られません。作ったらすぐシークレットマネージャーに入れ、ANTHROPIC_API_KEY として読み込ませます。