ドテン君のAPIのレートリミットについて

APIのレートリミットについて調べてみました。
内容誤っている箇所あったらご指摘お願いしますm(_ _)m


APIのレートリミットとは?

ほとんどのAPIは好き放題に実行できません。
例えば、一定時間内に一定回数以上のアクセスを行うと
サービス提供側のサーバーがアクセス制限を行い
APIで実行したリクエストを処理してくれません。
(レートリミットにかかっているという内容の返事がきます)
つまりレートリミットを超えた場合は、APIから注文入れても無視されます。


ドテン君で利用しているAPIは下記、3つです
1.cryptowatchのAPI(価格取得用)
2.bitFlyerのAPI(注文用)
3.BitMEXのAPI(注文用)


・各APIのレートリミットは以下です。

1.CryptowatchのAPIレートリミットについて

CryptowatchのAPI レートリミットは
一定時間で一定回数以内という制限ではなく
CPU処理時間によって制限されます。
CPU処理時間とはサーバーがAPIに対する
レスポンスを返すのに利用したCPUの処理時間です。
Cryptowatchが提供するAPIは何種類かあり、
実行するAPIによってサーバーでの処理の重さが異なります。
Cryptowatchのレートリミット
1時間でサーバーが返事を返すのにかかるCPUの処理時間の合計が8秒を超えた場合に発生します。
この合計時間は1時間毎にクリアされます。

・公式のドキュメントURL

残りのCPU処理時間を知りたい場合、下記のURLにアクセスすればわかります。
https://api.cryptowat.ch/
"allowance"の"remaining"が残りCPU処理時間(単位はナノ秒)


2.bitFlyerのAPIレートリミットについて

~ 公式ドキュメントより引用 ~
API制限
HTTP API は、以下のとおり呼出回数を制限いたします。
Private API は 1 分間に約 200 回を上限とします。
IP アドレスごとに 1 分間に約 500 回を上限とします。
注文数量が 0.01 以下の注文を大量に発注するユーザーは、一時的に、発注できる注文数が 1 分間に約 10 回までに制限されることがあります。
システムに負荷をかける目的での発注を繰り返していると当社が判断した場合は、API の使用が制限されることがあります。ご了承ください。

注文を行うAPIは Private API のため
bitFlyerのレートリミットは 1 分間約 200 回となります。

・公式のドキュメントURL


3.BitMEXのAPIレートリミットについて

~ 公式ドキュメントより引用 ~
当社の REST API へのリクエストは、5 分あたり 300 リクエストに制限されています。
このカウンタは継続的に補充されます。
ログインしていない場合は、レート制限は 5 分あたり 150 リクエストになります。

BOTにてトレードを行う場合、通常ログインしていない状態が想定されるため
BitMEXのAPIレートリミットは5 分間150 回となります。

・公式のドキュメント


まとめ

■Cryptowatchのレートリミット
1時間内のCPU処理時間の合計が8秒
同じAPIでも実行タイミングによってCPU処理時間が異なるため、
正確な時間は算出できませんでした。
※アクセス集中してると上がるかも?

■bitFlyerのレートリミット
1 分間に約 200 回 ≒ 約0.3秒に1回はアクセスOK

■BitMEXのレートリミット
5 分間で 150 回 ≒ 2秒に1回はアクセスOK



この記事が気に入ったらサポートをしてみませんか?