当サイトに記載されている会社名、製品名などは一般に各社または団体の商標または登録商標です。
当サイトの資料により直接的および間接的障害が生じても一切責任を負いません。
あらかじめご了承ください。
PowerShellを使ってbitFlyerの板情報APIの使用例を以下に記します。
HTTP Public APIなのでbitFlyerに取引口座を開設していなくても使用することができます。
板情報のAPI仕様(bitFlyer APIページから抜粋)
リクエスト GET /v1/getboard GET /v1/board
クエリパラメータ product_code: マーケットの一覧で取得できる product_code または alias のいずれかを指定してください。 省略した場合の値は BTC_JPY です。
レスポンス
{
"mid_price": 33320,
"bids": [
{
"price": 30000,
"size": 0.1
},
{
"price": 25570,
"size": 3
}
],
"asks": [
{
"price": 36640,
"size": 5
},
{
"price": 36700,
"size": 1.2
}
]
}
GETなのでブラウザで板情報を取得することができます。
以下のようなURLになります。
https://api.bitflyer.jp/v1/getboard
以下ブラウザから上記URLにアクセスしたときの出力です。
FirefoxではJSONが整形され表示されています。
見やすいですね。
(生データをクリックすると上記同様にJSON形式の返却された文字列が表示されます。)
PS C:\> $board_api = "https://api.bitflyer.jp/v1/getboard"
$board = Invoke-RestMethod -UseBasicParsing -Uri $board_api
PS C:\> $board
mid_price bids
--------- ----
985268.0 {@{price=985140.0; size=0.061}, @{price=984792.0; size=0.01}, @{price=984787.0; size=0.01}, @{price=984777.0; siz...PS C:\> $board.mid_price 985268.0 PS C:\> $board.asks.Count 2118 PS C:\> $board.bids.Count 2869
PS C:\> $board.asks | % { "$($_.price) : $($_.size)" } | Select-Object -First 10
985396.0 : 2.0171
985400.0 : 0.056
985499.0 : 0.0199
985500.0 : 11.885
985574.0 : 0.003
985589.0 : 0.01
985595.0 : 1.0
985690.0 : 1.2
985901.0 : 0.02
985999.0 : 0.50000013
PS C:\> $board.bids | % { "$($_.price) : $($_.size)" } | Select-Object -First 10
985140.0 : 0.061
984792.0 : 0.01
984787.0 : 0.01
984777.0 : 0.01
984771.0 : 0.00253457
984454.0 : 0.48
984453.0 : 2.67272649
984452.0 : 0.6034
984451.0 : 0.039
984382.0 : 0.01000004上記では、Invoke-RestMethodにてJSONをPowerShellで扱いやすい状態に変換してくれます。 しかし、Webサーバから返却された値を変換せず、取得後JSONを別のコマンドレットで変換する操作手順を以下に記します。
PS C:\> $board_api = "https://api.bitflyer.jp/v1/getboard"
PS C:\> $res = Invoke-WebRequest -UseBasicParsing -Uri $board_api
PS C:\> $res
StatusCode : 200
StatusDescription : OK
Content : {"mid_price":984918.0,"bids":[{"price":984788.0,"size":0.039},{"price":984751.0,"size":0.01},{"price":9846
51.0,"size":0.23050078},{"price":984650.0,"size":0.50000013},{"price":984649.0,"size":1.411689...
RawContent : HTTP/1.1 200 OK
Transfer-Encoding: chunked
Connection: keep-alive
Pragma: no-cache
Request-Context: appId=cid-v1:e4fbc941-a2df-48ac-bbac-f2180e904002
X-Content-Type-Options: nosniff
X-XSS-Protec...
Forms :
Headers : {[Transfer-Encoding, chunked], [Connection, keep-alive], [Pragma, no-cache], [Request-Context, appId=cid-v
1:e4fbc941-a2df-48ac-bbac-f2180e904002]...}
Images : {}
InputFields : {}
Links : {}
ParsedHtml :
RawContentLength : 158809PS C:\> $res.StatusCode 200
PS C:\> $json = ($res.Content | ConvertFrom-Json)
PS C:\> $json
mid_price bids
--------- ----
984918.0 {@{price=984788.0; size=0.039}, @{price=984751.0; size=0.01}, @{price=984651.0; size=0.23050078}, @{price=984650....
PS C:\> $json.mid_price
984918.0
PS C:\> $json.asks[0]
price size
----- ----
985049.0 0.68455953以上、PowerShellを使って、bitFlyerの板情報を取得・getboardからの返却値を表示する方法でした。