取引ボットで自動売買したい、サードパーティツールでポートフォリオを分析したい、自分でプログラムを書いて相場データを取得したい——そんな時にはBinanceのAPIインターフェースが必要です。APIとは、プログラムに渡す「鍵」のようなもので、プログラムがこの鍵を使ってあなたに代わって特定の操作を実行できます。
まだBinanceアカウントをお持ちでない場合は、Binance公式サイトで登録してください。登録リンクには取引手数料割引が含まれています。スマートフォンでの操作がお好みなら、Binanceアプリをダウンロードして登録と後続の設定を行うこともできます。
API KeyとSecret Keyとは
APIを作成すると、2つのものが発行されます:
- API Key:ユーザー名に相当し、Binanceに「自分が誰か」を伝えるもの
- Secret Key:パスワードに相当し、リクエストが確かにあなたから送信されたことを検証するもの
この2つを組み合わせることで、プログラムがAPIを通じてあなたのBinanceアカウントとやり取りできます。Secret Keyは作成時に一度だけ表示され、その後は確認できないため、作成時に必ず保存してください。
APIキー申請の前提条件
APIを作成する前に、アカウントが以下を満たしている必要があります:
- 本人確認(KYC)が完了していること
- 二段階認証が有効化されていること(Google Authenticatorを推奨)
- アカウントが正常な状態で、セキュリティ制限がないこと
これらがすべて完了していれば、作成を始められます。
APIキーの作成手順
ステップ1:API管理ページを開く
Binance Web版にログインし、右上のアイコンをクリックして、ドロップダウンメニューから「API管理」を選択。ページ上部の検索バーで「API」と検索して直接ジャンプすることもできます。
ステップ2:APIに名前をつける
API管理ページの入力欄にラベル名を入力します。例えば「量化ボット」や「相場読取」など。この名前は自分の区別用で、機能には影響しません。「APIの作成」をクリック。
ステップ3:セキュリティ認証を完了する
二段階認証の完了が求められます。通常はメール認証コードとGoogle Authenticator認証コードの入力です。案内に従って操作してください。
ステップ4:Secret Keyを保存する
認証が通ると、ページにAPI KeyとSecret Keyが同時に表示されます。Secret Keyが完全に表示されるのはこの一度きりです。すぐにコピーしてパスワードマネージャーなどの安全な場所に保存してください。他人にスクリーンショットで送ったり、チャット履歴に保存したりしないでください。
API権限の設定
APIキーを作成したら、次に最も重要なステップが権限の設定です。デフォルトでは、新規作成されたAPIキーには「読み取り」権限のみが付与されています。実際の用途に応じて他の権限を手動で有効化する必要があります:
読み取り権限(デフォルトで有効)
アカウント残高、注文履歴、相場データなどを照会できます。サードパーティツールでポートフォリオ分析を見るだけなら、この権限だけで十分です。
取引権限
APIを通じた注文、キャンセル、注文変更を許可します。量化取引ボットを動かすなら有効化が必須です。有効化すると、プログラムがあなたのアカウントで自動的に売買できるようになります。
出金権限
APIを通じた出金操作を許可します。非常に確実な必要性がない限り、有効化しないことを強く推奨します。ほとんどの使用シーンではこの権限は不要です。APIキーが漏洩した場合、出金権限が有効化されていると資金が送金されてしまう恐れがあります。
権限設定の原則は「必要最小限」:プログラムが必要とする権限のみ有効化し、不要なものは有効化しない。
IPホワイトリストの設定
多くの人が見落とすが極めて重要なステップです。IPホワイトリストとは、特定のIPアドレスからのみこのAPIキーの使用を許可するという意味です。
なぜIPホワイトリストが必要か?
ホワイトリストを設定しないと、API KeyとSecret Keyを持っている人は、どこからでもあなたのアカウントを操作できてしまいます。ホワイトリストを設定すれば、キーが漏洩しても、相手のIPがホワイトリストに含まれていないため使用できません。
設定方法:
- APIの詳細ページで「IPアクセス制限」オプションを見つける
- 「信頼できるIPからのアクセスのみに制限」を選択
- サーバーのIPアドレスまたはローカルIPアドレスを入力
- 設定を保存
ローカルPCでプログラムを実行する場合は、パブリックIPを入力してください(検索エンジンで「マイIP」と検索すれば確認できます)。クラウドサーバーを使用する場合は、サーバーのIPを入力します。
注意点として、動的IPの場合(ほとんどの家庭用回線がそうです)、IPが変わるたびにホワイトリストを更新する必要があります。この場合、固定IPのクラウドサーバーを使用するとずっと便利です。
実際の接続テスト
設定完了後、APIが正常に動作することを確認するため、簡単なテストを行うことをおすすめします。
Pythonでの最も基本的な例:
from binance.client import Client
api_key = 'あなたのAPI_Key'
api_secret = 'あなたのSecret_Key'
client = Client(api_key, api_secret)
# 接続テスト:アカウント情報を取得
account = client.get_account()
print(account['balances'][:5]) # 最初の5通貨の残高を表示
アカウント残高情報が返ってくれば、API設定は成功です。エラーが出る場合、よくある原因:
- Secret Keyのコピーミス(余分なスペースや文字の欠落)
- IPがホワイトリストに含まれていない
- 権限が正しく有効化されていない
- システム時刻のズレ(APIリクエストはタイムスタンプに厳密な要件があり、PCの時計が数秒以上ずれると失敗する)
API使用のセキュリティに関するアドバイス
APIのセキュリティはいくら強調してもしすぎることはありません。キーが漏洩し権限設定が不適切な場合、損失は即座かつ不可逆的になり得ます。
絶対にやってはいけないこと:
- API KeyとSecret Keyを公開コードリポジトリに書かない(GitHubでこれが原因で資産を失ったケースは多数)
- WeChat、Telegramなどのチャットツールでキーを送信しない
- 信頼できないサードパーティツールに取引・出金権限を付与しない
やるべきセキュリティ対策:
- 環境変数や設定ファイルでキーを保管し、プログラムにハードコードしない
- 定期的にAPIキーをローテーションし、使用しなくなった古いキーを削除
- IPホワイトリストを設定
- 不要な権限をオフにする
- BinanceのAPI取引リスク通知を有効化
よくある質問
Q:1つのアカウントで最大いくつのAPIキーを作成できるか?
一般ユーザーは通常30個まで作成可能です。VIPユーザーの上限はさらに高くなります。
Q:APIキーには有効期限があるか?
デフォルトでは有効期限はありませんが、手動で削除したりセキュリティリスクが検出された場合は別です。ただし、90日間使用しないと、Binanceが自動的に無効化する場合があります。
Q:APIで取引する場合の手数料は手動取引と同じか?
同じです。手数料はVIPレベルとBNB手数料控除の使用有無に基づいて計算され、APIで注文するかどうかとは関係ありません。
APIは強力なツールですが、力が大きければ責任も大きくなります。初めて使用する際は小額でテストし、すべてが正常に動作することを確認してから取引規模を拡大しましょう。