Grok APIキーは、xAIが開発者コンソールから発行する認証情報で、コードがHTTPS経由でGrokモデルを呼び出すために使用します。一度作成すれば、すべてのリクエストでBearerトークンとして送信し、xAIはチームのプリペイドクレジットに対して使用したトークンを請求します。この概念が初めての場合は、APIキーとは何かで基本を理解できます。このガイドは、今日からキーをすぐに使いたい開発者向けです。
手順は次のとおりです。console.x.aiでキーを作成し、curlとPythonでそれぞれ1回リクエストを送信した後、Apidogにキーを移動して安全に保存し、シェルに貼り付けることなくリクエストを送信し、最初のリクエストを保存されたテストに変換します。現在の主力モデルはgrok-4.6で、以下のすべての例でこれを使用しています。
始める前に必要なもの
- xAIアカウント。 console.x.aiでサインアップしてください。

- アカウントのクレジット。コンソールはプリペイドクレジットで動作し、公式のクイックスタートでは、サインアップ直後にクレジットをチャージするよう指示されています。残高がゼロの場合、リクエストは拒否されます。
- curl(macOSおよびほとんどのLinuxディストリビューションに付属)と、
pipがインストールされたPython 3.9以降。 - リクエストを保存、テスト、共有したい場合はApidog。無料プランは4ユーザーまで対応しており、小規模チームには十分です。ステップ4の前にApidogをダウンロードしてください。

ステップ1: xAIコンソールでキーを作成する
- サインインして「Billing」(請求)を開きます。「API spend management」(API利用状況管理)の下で、カード(即時反映)または銀行振込(請求書ドキュメントによると2~3営業日)でクレジットを購入します。
- 「API Keys」ページを開きます。クイックスタートでは
console.x.ai/team/default/api-keysにリンクされています。teamセグメントは重要です。キーは個人のログインではなく、チームに属します。 - 「Create API key」をクリックし、6ヶ月後にも識別できる名前を付けます。「key1」よりも「apidog-local-dev」の方が良いでしょう。
- キーが作成されたらすぐにコピーしてください。これが完全な値を見ることができる唯一の機会だと考えてください。
- コードではなく環境変数として保存します。
export XAI_API_KEY="paste-your-key-here"
XAI_API_KEYは公式ドキュメントが使用している変数名であるため、xAI独自のSDKやほとんどのコミュニティ統合では、追加の設定なしにこれを認識します。

環境ごとに1つのキーを持つのが良い習慣です。ローカル開発、CI、本番環境で別々のキーを使用することで、ラップトップのキーが漏洩した場合でも、他の環境に影響を与えることなく削除できます。
ステップ2: curlで最初のリクエストを送信する
xAIの主要なテキストエンドポイントはPOST https://api.x.ai/v1/responsesです。Authorizationヘッダーにキーを、ボディにJSONを、modelフィールドにモデルIDを送信します。
curl https://api.x.ai/v1/responses \
-H "Authorization: Bearer $XAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "grok-4.6",
"instructions": "You are a senior backend engineer. Answer in three sentences.",
"input": "My API returns 429 to a client that retries instantly. What should the client change?"
}'
成功したレスポンスはoutput配列を含むJSONです。テキストは"type": "output_text"とともにoutput[].content[].textに存在し、usageオブジェクトはinput_tokens、output_tokens、total_tokens、さらに推論トークンとキャッシュされたトークンの内訳を報告します。これらの使用量は請求の対象となるため、初日からログに記録してください。
知っておくべき2つの詳細点:
instructionsはシステムプロンプトです。チャット形式を好む場合は、{role, content}メッセージの配列としてinputを渡すこともできます。- 既存のOpenAIスタイルのコードがある場合、
POST https://api.x.ai/v1/chat/completionsは同じキーとモデルIDで引き続き機能します。xAIはこれをレガシーエンドポイントと位置付け、新機能はまずResponsesに提供するため、新規プロジェクトは/v1/responsesで開始してください。
この同じエンドポイントでのストリーミング、ツール呼び出し、画像入力については、Grok 4.6 APIの使い方を参照してください。
ステップ3: Pythonからの同じ呼び出し
xAIのREST APIはOpenAI SDKと互換性があるため、新しいクライアントライブラリは必要ありません。base_urlをxAIに向け、環境からキーを読み取ります。
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["XAI_API_KEY"],
base_url="https://api.x.ai/v1",
)
response = client.responses.create(
model="grok-4.6",
instructions="You are a senior backend engineer. Answer in three sentences.",
input="My API returns 429 to a client that retries instantly. What should the client change?",
)
print(response.output_text)
print(response.usage.input_tokens, response.usage.output_tokens)
pip install openaiでSDKをインストールします。os.environ["XAI_API_KEY"]を読み取ると、変数が存在しない場合に明確なKeyErrorが発生します。これは空のBearerヘッダーを送信して401エラーをデバッグするよりも優れています。
xAIはまた、gRPCトランスポートと、コレクションや音声APIなどの追加機能を備えたネイティブPython SDK(xai-sdk)も公開しています。最初の呼び出しでは、OpenAIクライアントの方が簡単な方法です。
ステップ4: Apidogでキーを保存してテストする
キーをターミナルに貼り付けるのは一度きりです。リクエストをチームメイトと共有したり、モデルの更新後に再実行したり、CIに組み込んだりする際に、APIクライアントがその真価を発揮します。Apidogでの流れは次のとおりです。

キーをローカル値として保存する。「Environments」(環境)を開き、「xAI」という名前の環境を作成し、2つの変数を追加します。baseUrlには共有値としてhttps://api.x.ai/v1を、XAI_API_KEYには共有値としてプレースホルダーを、ローカル値として実際のキーを設定します。共有値はチームメイトと同期されますが、ローカル値はクライアントのマシン上のキャッシュに保存され、Apidogのサーバーには決して送信されません。変数名はプロジェクトと一緒に提供されますが、秘密は提供されません。Apidog環境と秘密変数では、CIが独自のキーを注入する方法を含め、共有値とローカル値の使い分けについて詳しく説明されています。
最初のリクエストを送信する。新しいエンドポイントPOST {{baseUrl}}/responsesを作成します。「Auth」タブで「Bearer Token」を選択し、{{XAI_API_KEY}}を入力します。ステップ2のJSONボディを貼り付け、xAI環境を選択し、「Send」(送信)をクリックします。レスポンスパネルにはステータス、タイミング、解析されたボディが表示されるため、生のJSONを読む代わりにoutputやusageをクリックして詳細を確認できます。
テストとして保存する。「Post Processors」で「Assert」ステップを追加します。ステータスコードが200であることを確認し、JSONPathで$.modelがgrok-4.6と等しいことをチェックします。さらに、$.usage.output_tokensが0より大きいことを確認するアサーションを追加します。エンドポイントを保存し、「Tests」を開いてテストシナリオを作成し、その中にエンドポイントをインポートします。そうすれば、ワンクリックで呼び出しを再実行し、キー、モデルID、およびレスポンスの形式がまだ機能しているかどうかを確認できます。
オプション: モック化する。実際のリクエストをエンドポイントの例として保存し、ApidogのモックURLに切り替えます。フロントエンドの開発や単体テストは、クレジットを消費したりレート制限に達したりすることなく、偽のGrokレスポンスに対して実行できます。
制限、クレジット、料金
請求。クレジットはチームごとにプリペイドです。自動チャージ機能は、設定したしきい値(1回のチャージにつき最低5ドル)を下回った場合に、さらに購入できます。月額上限が設定され、その80%に達すると警告が表示されます。月額請求書発行も可能ですが、デフォルトではオフになっており、xAIの営業担当者を通じて行われます。デフォルトの請求上限が0ドルの場合、プリペイドクレジットが尽きた瞬間にリクエストは拒否されます。
Grok 4.6の料金(100万トークンあたり)、公式の料金ページより:
| プロンプトサイズ | 入力 | キャッシュされた入力 | 出力 |
|---|---|---|---|
| 20万トークン未満 | $2.00 | $0.50 | $6.00 |
| 20万トークン以上 | $4.00 | $1.00 | $12.00 |
コンテキストウィンドウは50万トークンです。プロンプトが20万トークンのしきい値を超えたリクエストは、超過分だけでなくすべてのトークンに対して高い料金で請求されます。
レート制限。xAIは1秒あたりのリクエスト数と1分あたりのトークン数を制限しています。これらの数値はティアによって異なり、5つのティア(0から4)とエンタープライズがあります。これらは2026年1月1日以降の累計利用額によって自動的にアンロックされ、ティアが降格することはありません。チームの現在の制限はコンソールのモデルページで確認できます。推論トークンとキャッシュされたプロンプトトークンを含むすべてのトークンがTPMにカウントされます。
無料クレジット。xAIのドキュメントではプリペイドモデルが説明されており、APIの恒久的な無料ティアは宣伝されていません。プロモーションクレジットはコンソールに時々表示されることがあります。ブログ記事に頼るのではなく、ご自身の「Billing」(請求)ページを確認してください。
よくあるエラーとその対処法
401 Unauthorized。キーが見つからないか、形式が間違っているか、削除されています。ヘッダーがAuthorization: Bearer <key>と1つのスペースで記述されていること、curlを実行しているシェルで$XAI_API_KEYが設定されていること(echo $XAI_API_KEY | wc -cが1より大きい値を返すはず)、そしてキーがコンソール上にまだ存在していることを確認してください。コピー&ペーストによる末尾の改行も典型的な原因です。
403 Forbidden。キーは有効ですが、要求された操作を実行する権限がありません。考えられる理由としては、キーまたはチームがブロックされている、請求上限0ドルでクレジットが使い果たされている、またはチームがモデルへのアクセス権を持っていないなどが挙げられます。まず「Billing」(請求)を、次に「API Keys」ページのキーを確認してください。
429 Too Many Requests。現在のティアのリクエスト/秒(RPS)またはトークン/分(TPM)の上限に達しました。ジッター付きの指数関数的バックオフを追加し、同時実行数を制限し、プロンプトサイズを削減し、大量の作業をBatch APIに移行してください。一日中上限に達している場合は、コードではなくティア(利用額)を上げることが解決策です。
400 Bad Request。通常はモデルIDの誤り(grok-4.6でありgrok-4-6ではない)または無効なJSONです。エラーボディにフィールド名が示されます。
ストリーミングやツール呼び出しの失敗を含む、これらのレスポンスの読み方に関する詳細な解説は、Grok 4.6 APIリクエストのテストとデバッグ方法にあります。
よくある質問
Grokの無料APIキーはありますか?
文書化された恒久的な提供としてはありません。APIはプリペイドクレジットで動作し、クイックスタートでは最初のリクエストの前にクレジットをチャージするよう指示されています。Grokを試すことが目的で、Grokの上に何かを構築することが目的でない場合は、Grokを無料で使う方法がキーを必要としない消費者向けルートをカバーしています。
Grok APIキーはOpenAI SDKで動作しますか?
はい。base_url="https://api.x.ai/v1"を設定し、xAIキーをapi_keyとして渡します。client.responses.create()とレガシーなclient.chat.completions.create()の両方がmodel="grok-4.6"で動作します。
リクエストにはどのモデルIDを設定すればよいですか?
主力モデルにはgrok-4.6を使用します。エイリアスgrok-4.6-latestは最新のリビジョンを追跡します。grok-4.5やgrok-4.3などの古いIDもそれぞれの料金でリストに残っていますが、新しい作業は4.6で始めるべきです。
キーが漏洩した場合、どうすればよいですか?
API Keysページで直ちに削除し、代替キーを作成し、使用されているすべての環境変数を更新してください。その後、リポジトリとCIログで古い値を検索します。Apidogのエンタープライズプランでは、Secret Scannerがリクエスト、変数、スクリプト、ドキュメントに含まれるキーを検出し、誰かがローカル値ではなく共有値にキーを貼り付けてしまったケースを捕捉します。
次のステップ
これで、動作するGrok APIキー、成功するcurlおよびPython呼び出し、そしてApidogに繰り返し可能なテストとして保存されたリクエストが手に入りました。そのテストを実際のプロンプトに向け、usageの数字を監視すれば、本番トラフィックが発生する前に、消費量とレート制限の余裕を把握できるでしょう。
