GMOコインAPIとは、金融庁登録の国内暗号資産取引所であるGMOコインが無料で提供している、プログラムから相場データの取得や注文の発注を行うための公式インターフェースである。結論から言うと、日本で暗号資産の自動売買(bot取引)を始めるなら、GMOコインAPIは最有力の出発点のひとつだ。理由は3つある。認証不要のPublic APIと取引用のPrivate APIが整備されていて学習コストが低いこと、取引所形式の現物取引ならMaker手数料がマイナス(受け取り)でbot運用とコスト面の相性がよいこと、そして金融庁登録業者なので海外取引所のような規制外リスクを負わずに済むことだ。
本記事では、2026年7月時点の仕様を前提に、GMOコインで口座を作るところからAPIキーの発行、Pythonでの接続、少額でのテスト稼働まで、自動売買を始める手順を6ステップで解説する。プログラミングの経験が浅い人でも、順番どおりに進めれば最初の自動注文まで到達できる構成にした。
GMOコインAPIとは:できることの全体像
GMOコインのAPIは、大きく2種類に分かれている。
- Public API: 認証不要で誰でも呼び出せる。最新レート(ticker)、板情報(orderbooks)、取引履歴(trades)、KLine(ローソク足)などの市場データを取得できる。
- Private API: APIキーによる認証が必要。残高照会、注文の発注・変更・キャンセル、約定履歴の取得、建玉の照会など、口座に紐づく操作を行う。
対象となるのは現物取引とレバレッジ取引で、リアルタイムデータが必要な場合はWebSocket APIも利用できる。利用料は無料で、口座があれば誰でもAPIキーを発行できる。取扱銘柄は26銘柄(2026年7月時点)あり、ビットコイン(BTC)やイーサリアム(ETH)を含む主要銘柄が取引所形式(板取引)に対応している。
手数料面も確認しておこう。取引所形式の現物取引では、BTC・ETH・XRP・DAIの4銘柄はMaker手数料-0.01%(つまり受け取り)・Taker手数料0.05%、それ以外の銘柄はMaker-0.03%・Taker0.09%となっている。指値注文を板に置いて約定を待つスタイルのbotなら、取引するほど手数料を受け取れる構造であり、これは高頻度で回す自動売買にとって大きな追い風になる。また、日本円の即時入金や暗号資産の送付にかかる手数料も無料だ(大口出金など一部例外あり)。
なぜ国内取引所のAPIから始めるべきか
自動売買の情報を集めると、レバレッジの高い海外取引所のAPIを勧める記事も多い。しかし、これから始める人には国内取引所のAPIからのスタートを勧めたい。
第一に、規制と資産保全の枠組みだ。GMOコインは金融庁登録の暗号資産交換業者であり、顧客資産の分別管理などの規制に服している。海外取引所は日本の規制の外にあり、出金停止やサービス撤退が起きても日本の枠組みでの保護は期待できない。
第二に、日本円との距離だ。国内取引所なら銀行口座から日本円を直接入金してすぐ取引を始められ、利益の出金も日本円で完結する。海外取引所は日本円を直接扱えないことが多く、国内取引所から暗号資産を送金する手間とリスクが挟まる。
第三に、税務のシンプルさだ。国内取引所は整った取引履歴やCSVを提供しており、損益計算ツールの対応も安定している。海外取引所のUSDT建て取引は円換算の手間が増える。自動売買で利益が出れば確定申告が必要になるので、履歴管理のしやすさは最初から効いてくる。
海外取引所のAPIが持つ強み(後述)を否定するものではないが、それは国内で口座を持ち、bot運用の基礎を固めた上で検討すればよい。
GMOコインAPIの主要エンドポイント
自動売買でよく使う機能を整理する。
| 分類 | 機能の例 | 認証 |
|---|---|---|
| Public API | 最新レート、板情報、取引履歴、ステータス確認 | 不要 |
| Private API | 残高照会、注文・変更・キャンセル、約定履歴、建玉照会 | APIキー |
| WebSocket (Public) | レート・板・約定のリアルタイム配信 | 不要 |
| WebSocket (Private) | 約定通知・注文イベントの受信 | アクセストークン |
REST APIのベースURLはPublicが api.coin.z.com/public、Privateが api.coin.z.com/private という構成で、Private APIの呼び出しには、APIキー・タイムスタンプ・リクエスト内容から生成するHMAC-SHA256署名をヘッダーに付与する。署名の生成はライブラリを使えば数行で済むので、暗号処理の知識がなくても心配はいらない。
RESTとWebSocketの使い分けの目安も示しておく。数分〜数時間おきに判断するスイングタイプのbotなら、必要なときにRESTで取りに行く方式で十分だ。一方、秒単位の価格変化に反応する高頻度タイプや、約定の瞬間を検知して次の注文を出すグリッド系では、WebSocketでリアルタイム配信を受ける方式が向く。最初のbotはRESTのみで組むほうが構造が単純になり、デバッグもしやすい。WebSocketは必要になってから足せばよい。
GMOコインAPIで自動売買を始める6ステップ
ここからが実践だ。所要時間の目安は、口座開設の審査を除けば半日もあれば手順6まで到達できる。
手順1: GMOコインの口座を開設する
まず口座がなければ始まらない。GMOコインの口座開設はオンラインで完結する。流れは「メールアドレス登録 → 基本情報の入力 → スマートフォンでの本人確認(かんたん本人確認)→ 審査 → 口座開設完了」で、本人確認には運転免許証やマイナンバーカードが使える。かんたん本人確認を使えば最短で当日〜翌営業日には取引を開始できる。口座ができたら、銀行振込か即時入金で日本円を入金する。即時入金は手数料無料で、対応ネットバンクからなら数分で残高に反映される。日本円の最低購入額は銘柄によっては1,000円程度からで、bot開発の初期テストに大きな資金は必要ない。口座開設料・維持費は無料だ。
手順2: APIキーを発行し、権限を最小限に設定する
口座ができたら、会員ページのAPI設定画面からAPIキーを発行する。このとき重要なのが権限設定だ。GMOコインのAPIキーは、発行時に指定した機能(照会のみ、注文、出金など)だけを呼び出せる仕組みになっている。自動売買botに出金権限は不要なので、必ず「照会+注文」の最小構成で発行しよう。万一キーが漏洩した場合でも、出金権限がなければ資産を直接抜かれる事態は避けられる。
さらに、会員ページでIP制限機能を有効にすれば、指定したIPアドレス以外からのAPI呼び出しをブロックできる。botを動かすサーバーのIPを登録しておくのが基本だ。発行されたAPIキーとシークレットは、ソースコードに直書きせず、環境変数や専用の設定ファイルで管理する。GitHubへの誤コミットはAPIキー漏洩事故の定番なので、リポジトリ管理している人は特に注意してほしい。
手順3: Python環境を準備する
開発言語は何でもよいが、情報量の多さからPythonを推奨する。Python 3系をインストールし、HTTPリクエスト用のrequestsライブラリを入れれば最低限の準備は完了だ。
pip install requests
手順4: Public APIでレートを取得してみる
最初の一歩として、認証不要のPublic APIでビットコインの最新レートを取得してみよう。
import requests
endPoint = 公式ドキュメント記載のパブリックAPIエンドポイント
path = "/v1/ticker?symbol=BTC"
res = requests.get(endPoint + path)
print(res.json())
このコードを実行して、最終取引価格(last)や売買の気配値(bid/ask)を含むJSONが返ってくれば、APIとの通信は成功している。symbolを変えれば他銘柄のレートも取れる。板情報(/v1/orderbooks)やローソク足(/v1/klines)も同じ要領だ。まずはPublic APIだけで「5分ごとにレートを記録する」プログラムを書いてみると、自動売買の土台となるデータ取得の感覚がつかめる。
手順5: Private APIで残高照会と注文を実装する
次に、手順2で発行したAPIキーを使ってPrivate APIを呼び出す。Private APIでは、リクエストごとにタイムスタンプ・メソッド・パス・リクエストボディを連結した文字列をシークレットキーでHMAC-SHA256署名し、API-KEY、API-TIMESTAMP、API-SIGNの3つのヘッダーを付与する。署名部分は公式ドキュメントにサンプルコードがあるので、それをベースにすればよい。
実装の順序は「残高照会 → 注文照会 → 少額の指値注文」の順を強く勧める。いきなり注文処理を書くのではなく、まず読み取り系のAPIで認証まわりの動作を確認し、署名やヘッダーの不備を潰してから、発注系に進む。最初の注文は、現在価格から大きく離れた約定しない指値を最小数量で出し、注文照会で確認してからキャンセルする、という流れにすれば、1円も使わずに発注・取消の一連の動作をテストできる。
手順6: 売買ロジックを載せて少額で稼働させる
通信部分ができたら、売買ロジックを載せて自動化する。全体の構成は「データ取得 → 売買判断 → 発注 → 結果記録」の4つの関数に分けておくと、後からロジックだけを差し替えられて保守しやすい。ループの実行間隔は戦略によるが、最初は5分〜1時間おきの低頻度から始めると、レート制限にも触れにくく、ログの確認も追いつきやすい。初心者がいきなり複雑な戦略を組む必要はない。「移動平均線のゴールデンクロスで買い、デッドクロスで売る」「一定幅で指値を並べる」といった単純なルールで構わないので、まず「判断→発注→記録」のループを完成させることが重要だ。稼働は必ず失っても許容できる少額から始め、すべての判断と注文をログに残す。プログラムの定期実行は、サーバーやPCのスケジューラ(cronやタスクスケジューラ)に任せればよい。
なお、編集部はClaude Codeに売買判断を任せる自動売買を実口座で運用しており、その検証結果は当サイトの運用実績ページで公開している。生成AIにロジックの実装を手伝わせると開発速度は大きく上がるが、その場合も動作確認とリスク管理の最終責任は運用者自身にある点は変わらない。
初心者向けの戦略パターン3つ
「何を売買ロジックにすればいいのか」で止まってしまう人のために、最初のbotに載せやすい代表的な戦略パターンを3つ紹介する。いずれも利益を保証するものではなく、相場つきによって成績は大きく変わる。まず少額で挙動を確認する前提で読んでほしい。
第一に、移動平均クロス戦略だ。短期の移動平均線が長期線を上抜いたら買い、下抜いたら売るという古典的な順張り手法で、実装が単純なため最初の題材に向く。トレンドが出ている相場では機能しやすい一方、方向感のないレンジ相場では小さな損失を繰り返しやすい、という性質まで含めて体験できるのが教材としての価値だ。
第二に、グリッド(リピート注文)戦略だ。現在価格を挟んで一定間隔で買い指値と売り指値を並べ、約定するたびに反対側へ注文を置き直す。レンジ相場でコツコツ利益を積む設計で、Maker注文中心になるためGMOコインの取引所形式の手数料体系と相性がよい。ただし、レンジを抜けた急落局面では買い下がりが続き含み損が膨らむため、稼働範囲の下限と総投入額の上限を必ず決めておく必要がある。
第三に、時間分散の自動積立だ。毎日決まった時刻に一定額を成行または指値で買うだけのbotで、厳密には「売買戦略」ではないが、判断→発注→記録のループを本番運用する練習として最適だ。GMOコインには公式の積立サービスもあるので、APIでの自作と公式機能を比べてみるのも学びになる。
どの戦略でも共通するのは、パラメータ(移動平均の期間、グリッド幅、注文サイズ)を外部設定ファイルに出しておき、コードを触らずに調整できる形にしておくことだ。運用しながらの改善が格段に楽になる。
バックテストと検証の考え方
戦略を思いついたら、いきなり実弾で試すのではなく、過去データでの検証(バックテスト)を挟みたい。GMOコインのPublic APIではローソク足データ(KLine)が取得できるため、これを保存しておけば自前の検証環境が作れる。
検証の手順は次の4段階が基本だ。
- 対象銘柄の過去データ(例: 1時間足を1年分)を取得・保存する
- 戦略ロジックを過去データに適用し、仮想の売買履歴を生成する
- 手数料・スリッページ(想定約定価格とのズレ)を差し引いた損益を集計する
- 最大ドローダウン(資産の最大落ち込み幅)を確認し、耐えられる資金設計かを判断する
初心者が特に見落としやすいのが3と4だ。手数料とスリッページを無視したバックテストは、高頻度の戦略ほど実運用との乖離が大きくなる。また、平均的な利益率よりも「最悪の時期にいくら減るか」のほうが、実運用を続けられるかを左右する。バックテストで好成績でも、それは過去の相場に最適化されただけの可能性(過剰適合)が常にある。検証を通過した戦略でも、本番はデモのつもりの少額から始めるのが鉄則だ。
レート制限とエラー処理
APIには呼び出し回数の上限(レート制限)がある。GMOコインのPrivate APIは、2023年12月の変更以降、取引高にかかわらず1秒間に最大20回まで呼び出せる仕様になっている(2026年7月時点)。またWebSocketのsubscribe系リクエストは同一IPから1秒間に1回が上限とされる。通常の個人botでこの上限に頻繁に当たることは少ないが、ループの書き方を誤ると一瞬で超過するので、リクエスト間に適切な間隔を置く設計にしておこう。
エラー処理も自動売買の生命線だ。最低限、次の3つは実装したい。
- HTTPエラーやタイムアウト時のリトライ(ただし発注系は二重注文防止のため、注文照会で状態確認してから再試行する)
- レート制限超過時の待機処理
- 想定外のレスポンスを受けた場合の「安全側停止」(新規注文を止めて通知する)
また、取引所には定期メンテナンスの時間帯があり、その間はAPIが利用できない。メンテナンス時間帯を避けてループを止める、あるいはエラーとして扱わずスキップする処理を入れておくと、無駄なアラートに悩まされずに済む。
よくあるつまずきポイントと対処法
実装段階でハマりやすいポイントをまとめておく。先に知っておけば数時間の遠回りを防げるはずだ。
まず、Private APIの認証エラーだ。署名の生成に使うタイムスタンプがずれていたり、署名対象の文字列の組み立て(メソッド・パス・ボディの連結順)が仕様と違っていたりすると認証に失敗する。エラーが出たら、まず公式ドキュメントのサンプルコードと自分の署名生成処理を一字ずつ突き合わせるのが最短ルートだ。実行環境の時計が大きくずれている場合も失敗の原因になるので、サーバーの時刻同期も確認したい。
次に、注文パラメータの単位ミスだ。注文数量は日本円建てではなく暗号資産の数量(BTCなら0.0001単位など銘柄ごとの最小単位)で指定する。「1万円分買う」つもりで「1」と指定すれば1BTCの注文になる。銘柄ごとの最小注文数量・注文単位を必ず確認し、コード側でも発注前に「想定金額の上限チェック」を入れておくと事故を防げる。
また、板の薄い銘柄での成行注文にも注意が必要だ。取引量の少ない銘柄では、成行注文が想定より不利な価格で約定すること(スリッページ)がある。自動売買では原則として指値注文を使い、成行を使う場合は主要銘柄に限定するのが無難だ。
最後に、「動いているのに約定しない」ケース。指値が板から遠すぎる、注文が期限切れになっている、証拠金・残高が不足している、などが典型原因だ。注文照会APIで注文の状態(受付済み・約定・キャンセル)を確認する習慣をつければ、原因の切り分けは難しくない。
他の選択肢との比較
GMOコインAPIでの自動売買を、代表的な代替手段と比べておこう。
対 Bitget API(海外取引所)
Bitgetは2018年創業の海外大手で、REST/WebSocket APIを提供し、先物はメイカー0.02%・テイカー0.06%、レバレッジは最大125倍まで対応する。デリバティブ中心の高レバレッジbotや、コピートレードAPIを使いたい場合の選択肢になる。ただし金融庁登録の交換業者ではなく、日本の規制・補償の枠外である点、日本円を直接扱えない点、USDT建て取引で税務の円換算が複雑になる点は明確なデメリットだ。使うなら国内取引所で口座を持った上で、余剰資金の範囲で併用する位置づけが妥当だろう。
対 手動トレード
手動トレードとの最大の違いは、感情の排除と24時間の監視体制だ。暗号資産市場は土日も深夜も動き続けるため、人間が張り付くことは物理的に不可能で、裁量判断は疲労や欲望に引きずられる。一方、botはルールを淡々と実行するが、想定外の相場(急変動、板の消失)への柔軟な対応は苦手だ。「平常時はbot、異常時は人間が介入」というハイブリッド運用が現実解になる。
対 販売所形式での取引
同じGMOコイン内でも、販売所形式は売値と買値の差(スプレッド)が実質コストとなり、頻繁に売買する自動売買には向かない。API経由で取引所形式(板取引)を使えば、Maker手数料マイナスの恩恵を受けられる。自動売買のコスト設計では「取引所形式・Maker中心」が基本と覚えておこう。
| 項目 | GMOコインAPI | Bitget API | 手動トレード |
|---|---|---|---|
| 規制 | 金融庁登録 | 日本の規制外 | 取引所に依存 |
| 日本円の入出金 | 直接可能 | 不可(送金経由) | 取引所に依存 |
| 現物手数料 | Maker -0.01%〜(取引所形式) | 0.1%(BGB払いで0.08%) | 形式による |
| レバレッジ | 国内規制の範囲(暗号資産FXは2倍) | 最大125倍 | 取引所に依存 |
| 監視時間 | 24時間365日 | 24時間365日 | 起きている間のみ |
安定運用のコツ:止まらない・暴れない仕組み作り
botは「作る」より「安定して動かし続ける」ほうが難しい。運用フェーズで効いてくるコツを4つ挙げる。
1つ目は、ログの構造化だ。「いつ・何を根拠に・どんな注文を出し・結果どうなったか」を1行1イベントで記録しておくと、不調時の原因究明が数分で終わる。判断根拠(指標の値など)まで残すのがポイントで、注文結果だけのログでは「なぜその注文を出したのか」が後から追えない。
2つ目は、死活監視だ。botが止まっていることに1週間気づかなかった、という事態は珍しくない。定期的に「生存報告」を通知アプリやメールに送る、一定時間ログが更新されなければアラートを出す、といった単純な仕組みで十分防げる。
3つ目は、資金管理のルール化だ。1回の注文サイズの上限、同時に持つポジションの上限、累積損失がいくらに達したら新規注文を止めるか(いわゆるキルスイッチ)を、コード内の定数として明示しておく。相場が荒れてから決めるのでは遅い。
4つ目は、変更管理だ。パラメータやロジックを変更した日時と内容を記録し、成績の変化と対応づけられるようにしておく。複数の変更を同時に入れると、何が効いたのか分からなくなる。1回に1変更が原則だ。
こうした地味な仕組みこそが、数か月単位でbotを回し続けられるかどうかを分ける。戦略のアイデアよりも先に、この土台に時間を使う価値がある。
リスクと注意点
自動売買を始める前に、必ず理解しておくべきリスクを挙げる。
- 相場リスク: 自動売買は利益を保証する仕組みではない。ロジックが相場に合わなければ、自動的に損失を積み上げることもある。必ず失っても生活に影響しない資金で行うこと。
- プログラムの不具合: 発注ループの暴走や条件式のミスは、想定外の注文を連発させる。少額テストとログ確認を経ずに本稼働させてはいけない。
- APIキーの漏洩: 出金権限を付けない、IP制限を使う、コードにキーを直書きしないという3点は最低限の防衛線だ。
- レート制限・メンテナンス: 上限超過やメンテナンス時間帯を考慮しない設計は、肝心な場面での機能停止を招く。
- 仕様変更: APIのエンドポイントやレート制限は変更されることがある。公式のお知らせを定期的に確認し、変更に追随できる体制を持つこと。本記事の仕様記述も2026年7月時点のものだ。
- レバレッジ取引のリスク: 国内のレバレッジ取引でも、急変動時にはロスカットや追加証拠金の可能性がある。現物から始めるのが安全だ。
- 税金: 自動売買の利益は原則として雑所得となり、給与所得者は年20万円を超えると確定申告が必要になる。botの取引履歴は損益計算に必須なので月次で保存し、具体的な税額や申告の判断は税理士など専門家に相談してほしい。
稼働前チェックリスト
- APIキーの権限を「照会+注文」の最小構成にした(出金権限なし)
- IP制限を設定し、キーは環境変数で管理している
- 約定しない指値での発注・取消テストを完了した
- 想定外レスポンス時に新規注文を停止する処理を入れた
- 失っても許容できる金額だけを口座に入れた
- 全取引をログと取引履歴で追跡できる状態にした
- 累積損失の上限(新規注文を止める基準)を決めた
- 取引履歴を月次で保存する運用を決めた(確定申告用)
チェックリストがすべて埋まってからが本稼働だ。特に「止める基準」を決めずに走り出すと、不調時にずるずると損失を広げやすい。botの停止条件は、エントリー条件と同じかそれ以上に重要な設計項目だと考えてほしい。
まとめ
GMOコインAPIは、無料で使える公式API・取引所形式のMaker手数料マイナス・金融庁登録という3点が揃った、日本で自動売買を始めるための現実的なスタート地点だ。手順は「口座開設 → APIキー発行(最小権限)→ Public APIでデータ取得 → Private APIで残高・注文 → 少額稼働」の流れで、半日から数日あれば最初のbotは動き出す。重要なのは、いきなり勝てる戦略を狙うことではなく、安全に動き続ける仕組み(最小権限・少額・ログ・安全側停止)を先に作ることだ。その土台があれば、戦略の改善は後からいくらでも積み上げられる。自動売買は利益を保証するものではないが、正しく始めれば、感情に左右されない24時間の取引体制という個人投資家にとって大きな武器になる。
<!-- INTERNAL_LINKS_RELATED -->
関連記事
<!-- INTERNAL_LINKS_RELATED -->
