目次
2026 年 3 月、X(旧 Twitter)で「Claude Code から証券口座に注文を出せる状態」と題した kabu Station API のセットアップガイドが注目を集めた。これは三菱 UFJ e スマート証券(旧 au カブコム証券)が提供する個人向け API を、AI エージェントの Claude Code と連携させる取り組みだ。
本稿はこのセットアップを、口座開設からペーパートレードまで完全解説する。
kabu Station API とは
kabu Station API は、プログラミングによって株式データの取得や注文の執行を可能にする REST API だ。C#、Python、Java、PHP など様々な言語に対応しており、2026 年 2 月には Ver5.38.0.0 へバージョンアップされ、新規発注機能が拡充された。
最大の特徴:ローカル API
普通、API といえばクラウド上にあるサーバーにリクエストを送るものだ。Twitter API、Stripe、OpenAI——どれもインターネット越しにどこかのサーバーと通信する。
kabu Station API は違う。自分の PC 上に API サーバーが立つ。
Windows PC に kabu Station というアプリをインストールして起動すると、その PC 上の http://localhost:18080 に REST API ができる。リクエスト先は自分の PC。インターネット越しではない。
自作プログラム ── HTTP ──▶ kabu Station(自分の PC) ──▶ 証券会社サーバー
kabu Station が中継役になって、証券会社のサーバーとやりとりしてくれる。
なぜクラウドじゃないのか
証券会社側の「レギュレーション上の課題」による。公式 GitHub で「レギュレーション課題もあり、現状は LocalHost からのアクセスに制限させていただいております」と回答している。
API サービス利用規定には「情報を閲覧している端末機以外へ転載することを禁じる」という条項がある。つまり、kabu Station が動いている PC 上のプロセスからしか API を叩けない。Claude Code も同じ PC 上で動かす必要がある。
これは実用上、2 つのことを意味する。
- kabu Station を起動し忘れると、API が一切応答しない
- PC の電源を切ったら終わり
面倒に聞こえるかもしれないが、裏を返せばセキュリティは高い。自分の PC に物理的にアクセスできない限り、誰も勝手に注文を出せない。
1. 口座を開設する
まず三菱 UFJ e スマート証券で口座を開設する。
この証券会社はもともと「au カブコム証券」だった。2025 年 2 月に「三菱 UFJ e スマート証券」に商号変更している。漢字・英字・大文字小文字が混在する名前で、正直打ちにくい。Google 検索するとフィッシングサイトが紛れ込んでいることがあるので、公式 URL(kabu.com)をブックマークしておくことを勧める。
口座開設は Web から申し込む。本人確認書類をアップロードして、数日〜1 週間ほどで開設される。
信用取引口座も開設する
ここが少し面倒なところだ。kabu Station API を使うには「Professional プラン」の適用が必要で、その条件の一つが信用取引口座または先物オプション取引口座の開設になっている。Professional プランは無料で、条件を満たせば自動適用される。追加料金は発生しない。
「信用取引」と聞くと身構えるかもしれないが、口座を開設するだけなら無料で、開設したからといって信用取引をする義務はない。本記事では現物取引しか扱わない。あくまで API 利用のために開設するだけだ。
なお、信用口座の開設には審査があり、投資経験や資産状況の申告が求められる。審査に通らなかった場合は先物オプション取引口座でも同じ条件を満たせる。
2. kabu Station をインストールする
kabu Station はWindows 専用のデスクトップアプリだ。
推奨環境:
- OS:Windows 11
- メモリ:8GB 以上
- ストレージ:5GB 以上の空き容量
- ディスプレイ:1920×1080 以上
インストール自体は普通の Windows アプリと同じ。口座開設が完了したら、三菱 UFJ e スマート証券のサイトからダウンロードしてインストールする。
Mac ユーザーは仮想環境かクラウド Windows が必要になるが、本記事では扱わない。
3. 取引を 1 回する
API を使うには Professional プランの適用が必要だ。条件は 2 つ。
- 信用取引口座または先物オプション取引口座を開設済み(1. で完了)
- 約定回数が 1 回以上
この「1 回」は API を使う必要はない。kabu Station アプリ上、または Web サイトから普通に取引すればいい。
おすすめは NTT(9432)あたりだ。流動性が高く単価も手頃なので、少額で売買できる。最新の株価は証券会社のサイトで確認してほしい。買ってすぐ売ればいい。手数料コースによっては現物取引手数料が無料になるので、事前に確認しておくこと。株価の変動分(数十円〜数百円程度)以外のコストはほぼかからない。
これで Professional プランの適用条件を満たす。判定は日次で行われ、翌営業日から適用される。
4. API の利用申し込みとパスワード設定
Professional プランが適用されたら、API の利用申し込みをする。取引を 1 回した翌日から申し込み可能だ。
利用申し込み
Web サイトにログインし、以下の順にたどる。
設定・申込 > らくらく電子契約 > 取引ツール > kabu ステーション API > 設定
「らくらく電子契約」は各種サービスの申込受付画面だ。書面や捺印は不要で、画面上で完結する。なお、UI の画面遷移は変更されることがある。見つからない場合は公式サポートページを確認してほしい。
API パスワードの設定
API パスワードは kabu Station アプリ内で設定する。Web サイトではない。
- kabu Station アプリを起動してログインする
- 画面右上の
歯車アイコンを右クリックする - 「システム設定 > API」を選択する
- 「API を利用する」にチェックを入れる
- API パスワードを入力する(英数字 6〜16 桁)
- 「OK」をクリックしてアプリを再起動する
- 再起動後、右上のアイコンが緑色になれば有効化完了
このパスワードはログインパスワードとは別物だ。API の認証にだけ使う。
本番用(ポート 18080)と検証用(ポート 18081)で別々のパスワードを設定できる。検証用については後述する。
5. 毎朝の起動について
kabu Station には知っておくべき仕様がある。
毎朝 6:15 に自動ログアウトされる。 サービス利用時間は 6:30〜翌 6:15 で、この時間外は API も含めて一切使えない。つまり毎朝 6:30 以降にアプリを起動してログインし直す必要がある。
さらに、2024 年 9 月から二段階認証が段階的に導入され、現在は毎回のログイン時に必須となっている。アプリ起動時のログインにワンタイムパスワード等の認証が入るため、起動の完全自動化は困難だ。
ただし、二段階認証がかかるのはアプリのログイン時だけだ。API の認証(トークン取得)自体は API パスワードのみで通る。つまりアプリの起動さえ人間がやれば、あとは Claude Code が全部やってくれる。
朝 1 回、kabu Station を起動してログインする。慣れれば 30 秒もかからない。取引日の朝のルーティンに組み込んでしまえばいい。
起動し忘れると API が一切応答しないので、注意が必要だ。
6. Claude Code でスクリプトを作る
ここからが本題だ。環境が整ったので、Claude Code を使って実際に API を叩いてみる。
大事なのはいきなり全部作らないこと。 段階的に動作確認しながら進める。1 ステップずつ確認すれば、どこで問題が起きたか切り分けやすい。
まず検証ポートで試す
kabu Station API には本番ポート(18080)と検証ポート(18081)がある。
| 環境 | 残高・板情報 | 注文 |
|---|---|---|
| 本番(18080) | 実際のデータ | 実際に発注される |
| 検証(18081) | 固定値を返す | 受け付けるが発注はされない |
検証ポートなら注文 API を叩いても実際には発注されないので、安全にテストできる。まずはこちらで動作確認しよう。
Step 1: 認証(API トークンの取得)
Claude Code にこう伝える。
「kabu Station API の検証ポート(18081)に接続して、API トークンを取得する Python スクリプトを書いて実行して。API パスワードは環境変数 KABU_API_PASSWORD から読み取って」
環境変数の設定方法が分からなければ、Claude Code に「KABU_API_PASSWORD という環境変数を安全に設定する方法を教えて」と聞けばいい。.env ファイルに書いて読み込む方法を提案してくれるはずだ。API パスワードをスクリプトに直接書くのは避けること。 GitHub などにうっかりアップロードすると、第三者に発注される危険がある。
API トークンは kabu Station が起動している間だけ有効だ。アプリを再起動したり、朝の自動ログアウト後に再ログインしたりすると、トークンは無効になる。そのたびに再取得が必要になるが、スクリプトの冒頭で毎回取得する作りにしておけば問題ない。
トークンが返ってくれば、API 接続は成功だ。
Step 2: 残高照会
「取得したトークンを使って、口座の残高(買付余力)を取得して表示して」
検証ポートでは固定値が返ってくる。実際の残高とは一致しないが、API の通信が正常に動いていることは確認できる。
Step 3: 板情報の取得
「銘柄コード 9432(NTT)の板情報を取得して表示して。売り気配、買い気配、出来高を見せて」
板情報は株の売買注文の状況を示すデータだ。どの価格にどれだけの注文が入っているかが分かる。検証ポートでも構造は同じなので、レスポンスの形式を確認できる。
Step 4: 注文の発行
「検証ポートで、NTT(9432)を 100 株、成行で買い注文を出すスクリプトを書いて実行して」
検証ポートなので実際に発注されることはない。注文 API のリクエスト形式とレスポンスを確認する。
ここまで動けば、本番ポート(18080)に切り替えるだけで実際の取引ができる状態だ。
補足:API リクエストの制限
注文系の API は 1 秒あたり 5 回、情報系(残高・板情報等)は 1 秒あたり 10 回の制限がある。普通の使い方ではまず引っかからないが、大量の銘柄を一度に処理するスクリプトを書く場合は意識しておくこと。
7. ペーパートレードで試す
検証ポートでの動作確認が終わったら、次は本番ポート(18080)でペーパートレードを試す。
ペーパートレードとは、実際の注文は出さずに、売買の記録だけを残す仕組みだ。本番ポートのリアルな株価データを使いながら、注文の発行だけをスキップする。検証ポートの固定値データではなく、実際の市場データで動作を確認できる。
注文 API を呼ばないので、口座に資金を入金する必要はない。3. で行った 1 回の取引は API 利用条件を満たすためのもので、ペーパートレード自体はゼロ円で始められる。
この時点ではまだ戦略もスクリーニングも作っていない。ここでの目的は「本番環境で注文フローが正常に動くか」の最小限の確認だ。
Claude Code にこう伝える。
「kabu Station API の本番ポート(18080)に接続して、NTT(9432)の現在の株価を取得し、100 株の買い注文をペーパートレード(実際には発注せず記録だけ残す)で実行するスクリプトを書いて」
ペーパートレードの仕組みはスクリプト側で制御する。本番 API から株価を取得し、「この価格で買ったことにする」という記録をファイルに書き出す。注文 API は呼ばない。
記録の例はこんな形だ。
{"date": "YYYY-MM-DD", "symbol": "9432", "side": "buy", "qty": 100, "price": 155.2, "mode": "paper"}
Claude Code に任せれば記録の形式は自動で決めてくれるが、最低限「いつ・何を・何株・いくらで・買い/売り」が残っていれば十分だ。
正常に動けば、あとは戦略とスクリーニングの構築だ。
まとめ
ここまでの手順で「Claude Code から kabu Station API を叩ける状態」が完成した。
やったこと:
- 三菱 UFJ e スマート証券の口座開設(信用口座含む)
- kabu Station のインストール
- 取引を 1 回して Professional プランを適用
- API の利用申し込みとパスワード設定
- Claude Code でスクリプト作成(認証→残高→板情報→注文)
- 検証ポートで動作確認
- 本番ポートでペーパートレード
口座開設に数日かかるが、それ以外は半日もあれば終わる。
次のステップ:
注文を出す仕組みは整ったが、「どの銘柄を、いつ、いくら買うか」がまだ決まっていない。次回は J-Quants API を使ったスクリーニング条件の設定と、戦略のバックテストによる検証を扱う。
繰り返すが、ペーパートレードで十分な実績を確認するまで、本番の注文は出さないこと。 仕組みが動くことと、その仕組みで利益が出ることは全く別の話だ。
免責事項: 本稿は技術的な環境構築の解説であり、特定の投資戦略や銘柄を推奨するものではない。株式投資には元本割れのリスクがある。投資判断は自己責任で行うこと。また、API を介した自動売買にはプログラムの不具合による意図しない発注のリスクが伴う。必ず少額から始め、十分な検証を経てから運用すること。
引用元・参考リンク
免責事項 — 掲載情報は執筆時点のものです。料金・機能は変更される場合があります。最新情報は各公式サイトをご確認ください。