Claude Media
Claude APIキーの取得方法 — Consoleでの作成手順と最初の呼び出し

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ステップです。

  1. platform.claude.com にサインインします。アカウントがなければ、ここで作成します
  2. Settings → API keysのページを開きます
  3. Create keyを押し、名前・有効期限・Linked accountを設定します。必要ならワークスペースも選びます
  4. 表示されたキーをコピーして、安全な場所に保管します

キーは 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 anthropic

quickstart.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/sdk

quickstart.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 として読み込ませます。

この記事を共有:XはてブLinkedIn