認証
IRBANK API は API キー(Bearer トークン)で認証します。
キーの取得
IRBANK Connect で発行・失効・利用状況の確認を行います。
発行されるキーは irbk_key_ で始まる 52 文字の文字列です。平文が表示されるのは発行直後の一度きりで、あとから再表示はできません。その場でコピーして保管してください(紛失した場合は、そのキーを失効させて新しいキーを発行します)。
キーを環境変数に置く
キーはソースコードに直接書かず、環境変数など実行環境側に置いて読み込む形を推奨します。
以下のコード例では環境変数名を IRBANK_API_KEY としていますが、これは説明用の例です。API 側が特定の名前を要求することはないため、任意の名前を使えます(その場合は例の中の名前を読み替えてください)。
# macOS / Linux(そのシェルを開いている間だけ有効)
export IRBANK_API_KEY="irbk_key_..."
# Windows (PowerShell)
$env:IRBANK_API_KEY = "irbk_key_..."
シェルを開き直しても使いたい場合は ~/.zshrc などに書きます。アプリケーションから使う場合は、.env に置いて(.gitignore に追加したうえで)読み込むか、実行環境のシークレット管理機能に登録してください。
リクエストへの付与
Authorization ヘッダーに Bearer <キー> の形で載せます(Bearer とキーの間は半角スペース 1 つです)。
# macOS / Linux
curl -H "Authorization: Bearer $IRBANK_API_KEY" \
"https://api.irbank.net/v1/securities/7203"
# Windows (PowerShell)。curl は Invoke-WebRequest の別名になっているため curl.exe を使います
curl.exe -H "Authorization: Bearer $env:IRBANK_API_KEY" "https://api.irbank.net/v1/securities/7203"
import os
import requests
res = requests.get(
"https://api.irbank.net/v1/securities/7203",
headers={"Authorization": f"Bearer {os.environ['IRBANK_API_KEY']}"},
)
const res = await fetch("https://api.irbank.net/v1/securities/7203", {
headers: { Authorization: `Bearer ${process.env.IRBANK_API_KEY}` },
})
キーが正しくセットできているかだけを確かめたいときは、残りリクエスト数を返す GET /v1/usage が使えます。この照会自体は日次上限を消費しません。
# macOS / Linux
curl -H "Authorization: Bearer $IRBANK_API_KEY" \
"https://api.irbank.net/v1/usage"
# Windows (PowerShell)
curl.exe -H "Authorization: Bearer $env:IRBANK_API_KEY" "https://api.irbank.net/v1/usage"
認証に失敗したら
キーが無い・無効な場合は 401 を返します。次の点を確認してください。
- 環境変数が空になっていないか(macOS / Linux は
echo $IRBANK_API_KEY、PowerShell はecho $env:IRBANK_API_KEYで確認できます) - ヘッダーの値が
Bearerで始まっているか(キーだけを渡すと401になります) - キーが失効していないか(IRBANK Connect で確認できます)
ステータスコードとエラー形式の一覧はエラーとレート制限を参照してください。
キーの管理
- キーはユーザーに紐づきます。複数キーを発行した場合、利用上限はユーザー単位で合算されます
- キーをソースコードや公開リポジトリに含めないでください
- 用途ごと(本番・検証など)にキーを分けておくと、片方だけを失効させられます