指定した時間の取引価格を調べたくてAPIを使ってみましたが、うまくいかなかったです。
(ご存じの方、コメントください。。。)
※ 2021-10-12 にAPIが更新されたようです。検証時期は更新前で更新前APIでの調査結果になります。
試してみたもののみ備忘録として残しておきます。
APIの仕様についてはPublic Rest API for Bitrueを参照してください。
認証不要API(Endpoint security type = NONE)
Ping
まずは、基本のPingで通信確認してみます。
https://www.bitrue.com/api/v1/ping
実行結果は以下のようになります。
{}
※おそらくメンテナンス中などはエラーが返信されると思います。(未確認)
Check server time
サーバ時間を確認するAPIです。
https://www.bitrue.com/api/v1/time
実行結果は以下のようになりました。
{"serverTime":1627655885801}
UNIX時間で返却されるので、ぱっと見わかりませんね。
上記例では、日本時間で 2021/07/30 23:38:05 となります。下3桁(801)はミリ秒のようです。
返却された時間を確認するにはUNIXタイムスタンプ変換ツールが簡単そうです。
Recent trades list
直近の取引リストを取得するAPIです。
以下の引数を設定します。
- symbol:通貨ペア [必須]
- limit:最大取得数 [任意] (デフォルト:100, 最大:1000)
以下、BTC / USDT の直近 10取引の情報を表示する例です。
https://www.bitrue.com/api/v1/trades?symbol=BTCUSDT&limit=10
実行結果(JSON)の整形を行いたい場合はJ&Eがおすすめです。
Old trade lookup (MARKET_DATA)
過去のトレード情報を取得するAPIです。
※fronIdを指定したら過去の情報を取得できるかと思ったのですが、うまくいかなかったです。。。
引数は以下を設定しました。
- symbol:通貨ペア [必須]
- limit:最大取得数 [任意](デフォルト:100, 最大:1000)
- fromId:基点とする取引ID [任意]
以下、BTC / USDT、 基点とする取引ID= 224379412 から 10取引の情報を表示しようとした時の実行例です。
https://www.bitrue.com/api/v1/historicalTrades?symbol=BTCUSDT&limit=10&fromId=224379412
うまくいかないので、curlでAPIKEY指定もしてみました。
curl -H "X-MBX-APIKEY: vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A" -X POST "https://www.bitrue.com/api/v1/historicalTrades" -d "symbol=BTCUSDT&limit=10&fromId=224379148" > tmp.txt
結果、うまくいかない(過去データが取得できない)。。。
Compressed/Aggregate trades list
指定した時間の取引価格を調べるには、このAPIが使用できるかな?と思いましたが、こちらもダメでした。。。
引数は以下の通り。
- symbol:通貨ペア [必須]
- fromId:含める取引ID [任意]
- startTime:開始時刻 [任意]
- endTime:終了時刻 [任意]
- limit:最大取得数 [任意](デフォルト:100, 最大:1000)
以下、BTC / USDT について
2021/07/30 01:38:00 ~ 2021/07/30 01:39:00
の間で最大30取引の情報を表示しようとした時の例です。
https://www.bitrue.com/api/v1/aggTrades?symbol=BTCUSDT&startTime=1627576680000&endTime=1627576740000&limit=30
J&Eで整形して確認しましたが、目的のデータは取得できず。。。
認証要API(Endpoint security type = TRADE)
当然ですが、取引を行うには認証が必要です。有効なAPIキーと取引ユーザの情報が必要です。
※プログラムを組めば自動取引もできそうですが、未だ試していません。