暗号資産(仮想通貨) > 取引所API

仮想通貨APIの使い方|国内4社比較・Pythonで価格取得

最終更新日:

制作・編集:金融ナンバーワンサイト

仮想通貨APIは、プログラムから価格や取引記録を読み、許可した範囲で注文もできる接続口です。価格を見るだけなら、口座やAPIキーなしで試せます。自分の残高を読むときや注文するときは、認証と権限の設定が必要です。

価格を読むまず1回、BTC価格を取得

口座・キー不要。Pythonの取得例と値の読み方へ

口座の記録を読む残高・履歴だけ連携したい

参照用の権限に絞ります。用途別の選び方へ

注文を出す対応する市場・機能を比較

現物・信用・CFDでは条件が違います。国内4社のAPI比較へ

APIは操作を自動化する道具です。利益や約定を保証するものではなく、相場変動や誤発注、通信障害で損失が出ることがあります。

APIキーなしでビットコインの価格を取得する

最初は注文を出さず、公開されている価格を1回読むところから始めましょう。以下はGMOコインのPublic API「最新レート」を使う例です。Python 3の標準ライブラリだけを使い、口座・APIキー・追加パッケージは不要です。GMOコインを売買先として推奨する例ではありません。

  1. 応答を見てみる:現物BTCの公開データをブラウザで開くと、JSON形式のデータを確認できます。
  2. Pythonで読む:下のコードを price.py として保存し、Python 3を使える環境で python price.py を実行します。環境によっては python3 price.py です。
  3. 値と時刻を確かめる:正常時は4項目を表示します。取得できないときは値を表示せず終了します。エラーや空の応答を0円として保存しないでください。
import json
from urllib.request import urlopen

# GMOコインの現物BTC。認証なしで1回だけ取得します。
url = "https://api.coin.z.com/public/v1/ticker?symbol=BTC"
try:
    with urlopen(url, timeout=10) as response:
        payload = json.load(response)
    if payload.get("status") != 0:
        raise ValueError("APIがエラーを返しました")
    ticker = next(x for x in payload["data"] if x["symbol"] == "BTC")
    fields = ("last", "ask", "bid", "timestamp")
    if any(not isinstance(ticker[k], str) or not ticker[k] for k in fields):
        raise ValueError("必要な値を取得できませんでした")
except (OSError, ValueError, KeyError, TypeError, AttributeError, StopIteration):
    raise SystemExit("取得できませんでした。値を使わず終了します。")

print("最終取引価格(円):", ticker["last"])
print("売りの最良気配値(円):", ticker["ask"])
print("買いの最良気配値(円):", ticker["bid"])
print("約定時刻(UTC):", ticker["timestamp"])
取得した値は、何を表しているか
項目意味と読み方
last最後に成立した取引の価格。次に自分が買える価格ではありません。
ask / bidaskは売注文、bidは買注文の最良気配値。希望数量のすべてをこの価格で売買できるとは限りません。
timestamp約定時の時刻。プログラムが読み込んだ時刻とは別です。末尾のZはUTCを表し、日本時間は9時間先です。

このAPIの BTC は現物、BTC_JPY はレバレッジ取引です。同じビットコインでも市場を混ぜないようにします。価格は文字列で返るため、この例では丸めずにそのまま表示します。

ここで確認できるのは、公開価格を読み取れることまでです。自動注文を作る前にはデータの古さ、取引所の稼働状態、呼出上限の扱いが別に必要です。取得例は繰り返し送信や発注を行いません。通信が切れたときや注文の応答が来ないときの対応も先に決めておきます。

仮想通貨APIとは|3種類を先に分ける

検索で「仮想通貨API」と呼ばれるものは一つではありません。価格を集めるサービスと、取引所口座を操作するAPIを混同すると、必要な機能もリスクも判断できません。

仮想通貨関連APIの役割
種類主な用途できないこと・注意点
市場データAPI複数取引所の価格、時価総額、銘柄情報等をまとめて取得する(例:CoinGeckoの価格API)通常は国内取引所口座への注文を出すAPIではありません。提供範囲と利用条件を確認します。
取引所API価格・板・約定の取得、残高照会、注文、取消、取引所ごとのイベント受信Private機能は口座と結び付きます。対応市場、権限、制限、送付・出金機能は各社で異なります。
ブロックチェーン/RPC APIノードへの照会、トランザクション送信、スマートコントラクトとの接続中央集権型取引所の注文APIとは別物です。本ページの比較対象には含めません。

Public/PrivateとREST/リアルタイム配信の違い

Public API

価格、板、約定履歴等の公開情報を取得します。認証不要で使える場合が多く、学習や接続確認の出発点になります。

Private API

残高、注文、取消、取引履歴等の口座情報を扱います。APIキーと署名が必要で、許可した権限が被害範囲になります。

REST/HTTP

必要な時点でリクエストし、応答を受け取ります。初期スナップショット、注文送信、状態照会に向きます。

WebSocket等

接続を維持して更新を受け取ります。低遅延の監視に使えますが、切断中の欠落を想定した再取得が必要です。

国内取引所APIの公式仕様を4社比較

比較対象は、公式API文書が継続公開されているbitbank、GMOコイン、bitFlyer、Coincheckの4社です。国内のAPI提供会社を網羅した順位表ではありません。BitTrade、Zaif、OKJ等にもAPIがあるため、利用したい市場や機能が4社にない場合は各社公式文書も確認してください。

比較方法:主観的な「速さ」「安定性」「使いやすさ」には点数を付けず、公式文書で確認できるAPI種別、注文対象、権限、IP制限、代表的な呼出上限を掲載しています。仕様はページ上部の最終更新日時点で、負荷や改定により変わる場合があります。

機能と対象市場の比較
取引所APIで扱う主な市場REST/リアルタイム配信公式仕様
bitbank 現物・信用取引の注文 Public RESTPrivate REST
公開WebSocket、Private stream(PubNub)
公式API文書
GMOコイン 取引所の現物・レバレッジ取引 Public REST/WSPrivate REST/WS 公式API文書
bitFlyer Lightning現物・bitFlyer Crypto CFD(BTC-CFD/JPY) Public HTTPPrivate HTTP
Realtime APIの公開・非公開チャンネル
公式HTTP API
Coincheck 取引所の現物注文 Public REST/WSPrivate REST/WS 公式API文書
権限・IP制限・代表的レート制限
取引所APIキーとIP制限公式文書にある代表的な上限
bitbank 必要権限を選択。参照だけの用途では参照権限に絞る。一般向け公式API資料ではIP許可リストを確認できず。 Private RESTは通常、QUERY 10回/秒、UPDATE 6回/秒。超過時はHTTP 429。
GMOコイン 発行時に機能を選択。会員画面で接続元IPを制限可能。 Private RESTはTier 1でGET・POST各20回/秒、Tier 2で各30回/秒。Tierは前週取引高で決定。
bitFlyer キーごとにエンドポイント権限を設定。一般向け公式API資料ではIP許可リストを確認できず。 同一IPとPrivate APIは各500回/5分。指定された注文系エンドポイントは300回/5分。小口注文には別上限あり。
Coincheck 機能ごとの権限と許可元IPを設定可能。 新規注文はAPI仕様上4回/秒まで、注文詳細は1回/秒。負荷により変更される場合あり。

レート制限は全エンドポイントの完全な一覧ではありません。bitFlyerの小口注文など個別条件もあります。CoincheckはAPI文書と2026年4月23日の取引説明書で注文頻度の表現が一致しないため、本ページは現行API文書の4回/秒を採用し、実装直前の再確認を前提としています。上限ぎりぎりの送信を目標にせず、429時の待機を組み込みます。

送付・出金機能は会社ごとに違います。公式文書上、bitbankは暗号資産・日本円の引出し依頼、bitFlyerは日本向けアカウントの日本円出金APIを含み、bitFlyerの実行には2段階認証コード等が必要です。CoincheckのAPI文書には暗号資産送金と日本円出金のエンドポイントが掲載されています。ブラウザでの暗号資産送金にはパスキーが必要ですが、APIへの適用方法は公開資料だけでは確定できません。APIでの実行可否と事前設定は公式サポートへ確認してください。GMOコインの現行API文書では外部送付・銀行出金の実行エンドポイントを確認できません。使わない機能の権限は付けず、取引権限だけでも不正注文や誤発注の損失があり得ると考えます。

4社のAPIで確認するポイント

bitbank|更新系と取得系を分けて管理

  • Public REST、Private REST、公開WebSocket、Private stream(PubNub)を提供。
  • Private認証はHMAC-SHA256で、request-timeとtime-windowを使う方式に対応しています。
  • 注文・取消・引出し依頼はUPDATE枠、その他はQUERY枠として通常上限が分かれます。
  • 取引所ステータスAPIを注文前の停止判定に利用できます。
Private REST仕様を見る

GMOコイン|機能権限とIP制限を先に設定

  • Public/PrivateのRESTとWebSocketを同じ公式文書で確認できます。
  • APIキー発行時に機能を選び、会員画面で接続元IPを限定できます。
  • Private RESTの上限は前週取引高に応じたTierで変わります。
  • status APIと定期メンテナンスを考慮して注文を止めます。
API仕様を見る

bitFlyer|HTTPとRealtimeを役割分担

  • HTTP APIで照会・注文を行い、Realtime APIで公開・非公開チャンネルを購読できます。
  • キーごとの許可エンドポイントはgetpermissionsで確認できます。
  • 同一IP、Private API、指定注文系、小口注文に別々の上限があります。
  • gethealth、getboardstate、公式ステータス情報を停止判定に使えます。
Realtime API仕様を見る

Coincheck|nonceと注文状態を照合

  • Public/PrivateのRESTとWebSocketを提供し、APIキーに機能権限と許可元IPを設定できます。
  • 認証ではAPIキーごとに増加するnonceとHMAC-SHA256署名を使います。
  • 注文詳細には未約定、部分約定、失効等の状態があり、executed_amountも確認します。
  • 取引所ステータスAPIで通貨ペアごとの注文・取消可否を確認できます。
取引所API仕様を見る

用途別に必要なAPIを決める

目的から逆算する確認項目
目的必要な機能選定時の確認
価格・板の取得Public REST、必要に応じて公開リアルタイム配信対象ペア、更新頻度、利用条件、呼出上限、再配布の可否
残高・損益管理読み取り用Private API参照だけの権限、履歴期間、時刻・ページング、第三者連携先でのキー保存方法
自動注文Private注文・取消・注文照会対象市場、注文方式、最小数量、権限、レート制限、注文IDと約定状態
イベント駆動公開/非公開リアルタイム配信とREST照合再接続、切断中の欠落、購読上限、スナップショット復旧、順序管理

取引所名より先に決める7条件

  • 市場とペア:現物、信用、レバレッジ、CFDのどれを使い、どのペアを注文するか。
  • 注文方式:指値・成行・特殊注文、取消、注文詳細、約定通知まで必要か。
  • データ方式:定期取得で足りるか、リアルタイム配信とPrivateイベントが必要か。
  • 被害範囲:参照・取引・送付・出金のどこまでキーに許可し、IPを限定できるか。
  • 呼出予算:監視ペア数と更新間隔から必要回数を計算し、上限と余裕を確保できるか。
  • 復旧手段:429、タイムアウト、配信切断、メンテナンス後に注文状態を照合できるか。
  • コスト:Maker/Taker、スプレッド、維持費、サーバー・監視費を含めて運用できるか。
RESTの概算リクエスト予算 監視ペア数 × 1ペアで呼ぶエンドポイント数 ÷ 更新間隔(秒) 各ペアを別々に呼ぶ場合の概算です。例:5ペア×2種類を2秒ごとに取得すると5回/秒です。一度に複数ペアを返すAPIは、その1回として数えます。認証単位、エンドポイント別枠、同一IP枠を分け、注文照会や再試行の余裕も残します。

仮想通貨APIを始める8ステップ

  1. 目的と停止条件を決める:データ取得だけか、残高照会か、実注文かを分け、1注文数量・保有量・注文回数・損失の上限を数値で決めます。
  2. 公式仕様を保存する:対象エンドポイント、認証、パラメータ、エラー、レート制限、変更履歴、メンテナンス情報を確認します。
  3. Public APIで接続する:まずキーを使わず、価格取得、タイムアウト、429、JSONの欠損・型変更を処理します。
  4. ローカルで擬似約定する:取得した価格を使って売買判定と記録だけを動かし、実注文を送らずに数量・手数料・停止条件を検証します。
  5. 用途別のキーを発行する:参照用と取引用を分け、使わない送付・出金権限は付けません。対応する場合は接続元IPを限定します。
  6. 秘密情報と時刻を管理する:シークレットをソースコード、Git、画面、ログへ残さず、サーバー時刻とnonce/timestampを管理します。
  7. 監視下で小さく確認する:実注文が必要な場合は公式最小数量と許容損失を確認し、すぐ停止・取消・照合できる時間帯に限定します。
  8. 監視と更新を続ける:注文状態、残高、エラー率、429、配信切断を監視し、仕様変更や利用終了時にキーを無効化します。

本番から分離されたホスト型のSandbox/Testnetは、今回確認した4社の一般向け公式資料では確認できませんでした。bitFlyerのAPI Playgroundは公式が本番ライブ環境と明記しており、Sandboxではありません。学習・接続確認の目的でPrivate注文や出金を実行しないでください。bitbankのローカルモックも本番の約定やスリッページを再現する取引所ではないため、公開データによる擬似約定と、監視下の小さな確認を分けます。

APIキーの漏えいと誤発注を抑える設定

権限を用途ごとに分ける

会計・残高連携は参照だけ、注文botは取引に必要な範囲だけにします。送付・出金機能を使わないキーへ付与しません。

接続元を限定する

GMOコインとCoincheckは公式資料でIP制限を確認できます。固定IPを使う場合は変更・障害時の復旧手順も残します。

シークレットを分離する

コードに直書きせず、アクセスを絞った秘密情報ストア等で管理します。ログ、エラー通知、画面共有へ出力しません。

キーを使い回さない

開発・本番、参照・取引、サービスごとに分けます。第三者ツールの権限や保存方法を確認できない場合は連携を見送ります。

APIキーが漏えいした疑いがあるとき

  1. 停止
    botと外部連携を止める
  2. 無効化
    該当キーを削除・失効
  3. 照合
    注文・約定・送付・出金を確認
  4. 保護
    口座認証と端末を点検
  5. 連絡
    不審履歴を取引所へ相談

キーを無効化した後、残高、未約定注文、約定、送付・出金履歴を公式画面で照合します。アカウント自体の侵害が疑われる場合は、公式窓口の案内に従ってパスワード、2段階認証、登録端末も見直します。時刻、IP、注文ID、ログを保全し、秘密情報そのものは問い合わせ文へ貼り付けません。口座全体の対策は仮想通貨のセキュリティ対策で確認できます。

自動売買botで防ぐ6つの運用事故

異常時に止めて照合するポイント
事象誤った処理設計する対応
注文送信後のタイムアウト未送信と決めつけて同じ注文を再送する注文が到達した可能性を残し、注文ID、未約定、約定、残高を照合。状態不明なら新規注文を止める。
部分約定・失効受付応答を全量約定として在庫を更新するstatusと約定数量を確認し、残数量・取消結果・残高を同じ基準時刻で照合する。
HTTP 429同じ間隔で連続再試行する新規注文を抑制し、待機時間を増やすバックオフと揺らぎを入れ、呼出予算を下げる。
WebSocket切断再接続後のデータだけで連続しているとみなす再接続し、RESTで板・注文・残高のスナップショットを取り直してから再開する。
時刻・nonceエラー署名だけを作り直して無制限に再送する時刻同期、nonceの共有・永続化、複数プロセスの競合を確認し、認証エラー時は取引を止める。
保守・取引停止価格が止まった状態で古いシグナルを発注するstatus、公式メンテナンス情報、データ時刻を確認し、新規注文停止と再開条件を分ける。

注文受付から残高照合までを1単位にする

  1. 事前確認
    status・残高・上限
  2. 注文送信
    要求IDと時刻を保存
  3. 受付記録
    注文IDと応答を保存
  4. 状態照合
    約定量・残量・取消
  5. 残高照合
    手数料込みで更新

各処理に一意の内部IDを付け、同じ売買シグナルを二重処理しないようにします。取引所がidempotency keyを提供しているとは限らないため、自分の側でシグナルID、注文ID、状態遷移を保存し、不明状態を解消するまで次の注文を止めます。

自動売買botと自動積立は別の仕組み

API botと定額自動積立の違い
比較APIを使う自動売買bot取引所の自動積立
動作自作・連携したロジックが条件に応じて注文する取引所の機能が決めた金額・頻度で購入する
必要な設定APIキー、権限、コード/ツール、監視、停止設計積立額、頻度、引落方法等
主な障害誤発注、二重注文、通信断、キー漏えい、仕様変更残高不足、購入条件、サービス停止等
向く目的独自ルールで取得・注文を制御したい定額購入を取引所の機能に任せたい

定額購入が目的なら、APIを作る前にビットコイン自動積立の比較を確認してください。板取引と販売所の違いは取引所と販売所の仕組みで整理しています。

API運用で見落としやすい費用と記録

「APIを呼べるか」と「取引コストが低いか」は別の問題です。API利用料の有無だけでなく、売買、ポジション維持、入出金、インフラ、監視の総額を見ます。会社・銘柄・注文方式・取引量で変わる料率は、仮想通貨取引所の手数料比較と各社の最新料金表で確認してください。

取引に直接かかる費用

  • Maker/Taker手数料
  • 販売所を使う場合の価格差
  • 成行・薄い板でのスリッページ
  • 信用・レバレッジ・CFDの維持費等

運用にかかる費用

  • サーバー、固定IP、監視、通知
  • ログ・データ保存
  • 開発、テスト、仕様変更対応
  • 障害時の手動対応時間

秘密情報を除いて残す記録

  • 要求:内部ID、エンドポイント、送信時刻、注文条件
  • 応答:HTTP状態、エラーコード、取引所の注文ID
  • 状態:未約定、部分約定、約定、取消、失効と更新時刻
  • 数量:注文量、約定量、残量、平均価格、手数料
  • 残高:処理前後の資産・拘束額と照合結果
  • 運用:429、切断、再接続、停止・再開、仕様バージョン

APIキー、シークレット、署名元データをそのままログへ残しません。損益計算サービスへ渡す場合は参照権限に絞り、取得できる期間や取引の種類を確認します。API連携だけで過去の全取引がそろうとは限りません。足りない記録は取引所の履歴やCSVと照合し、取引履歴をまとめて損益計算・確定申告を進める手順へ進んでください。課税の考え方は仮想通貨の税金にまとめています。

Python以外の言語や外部ツールでも使える?

Pythonは選択肢の一つです。HTTP通信や必要な認証に対応した言語なら実装でき、各社の公式文書には別の言語の例もあります。すでに使っている環境で、接続・例外処理・秘密情報の管理を扱えるかを確かめましょう。

外部ツールを使う場合は、連携に必要な権限とキーの保存方法、連携を解除する手順を確認します。残高を読むだけのツールが取引や出金権限まで求めるなら、その理由が分かるまで連携を進めないでください。

確認した主な公式API情報

各社の仕様、対応市場、権限、上限、メンテナンス条件は変更されます。実装・利用時点の公式ドキュメント、変更履歴、利用規約、取引画面を確認してください。

まとめ|API対応より「止めて照合できるか」を重視する

仮想通貨APIは、公開データの取得から口座の注文まで幅広い機能を持ちます。まず市場データAPIと取引所API、PublicとPrivate、RESTとリアルタイム配信を分けます。そのうえで、必要な市場・注文・権限・上限を公式仕様で確認し、取引所名の順位ではなく自分の要件に合うかを判断します。

実装前の最終確認

  • 機能:対象市場・ペア・注文方式・注文状態・配信範囲を確認した。
  • 権限:用途別キー、最小権限、IP制限、シークレット保管を決めた。
  • 停止:429、切断、タイムアウト、部分約定、保守時の停止・照合手順がある。
  • 上限:注文数量、保有量、回数、損失、再試行に機械的な上限がある。
  • 記録:注文ID、状態、約定量、手数料、残高、エラー、仕様変更を追跡できる。

本ページは一般的な情報提供であり、特定の取引所、暗号資産、売買bot、投資手法の利用を勧めるものではありません。暗号資産には価格変動、流動性、信用、技術、サイバー攻撃等のリスクがあります。APIの仕様と損失可能性を理解できない場合は実注文を行わないでください。

あわせて読みたい

TRUST & TRANSPARENCY|情報の信頼性について

本ページは各暗号資産取引所の公式APIドキュメントと公式サポート情報を優先し、API種別、対象市場、権限、IP制限、レート制限、注文状態を確認しています。独自スコアや収益ランキングは掲載していません。

本ページは一般的な情報提供を目的とし、特定の暗号資産、取引所、API連携、投資行動を勧誘するものではありません。
暗号資産は価格変動が大きく、価値を失う可能性があります。投資判断はご自身の責任で行ってください。
API仕様、対応市場、権限、レート制限、料金は変更されるため、利用時点の公式情報を確認してください。
本ページ内の各社API文書リンクは公式情報への直接リンクで、成果報酬リンクではありません。