auカブコム証券kabu STATION API(kabusapi)のノウハウ

APIのエラーで、「HTTP Error 400: Bad Request」「レジスト数エラー」になる場合、登録銘柄が規定数より多いことが原因の一つです。


「レジスト数エラー」は「登録銘柄50件以上になって登録できません」ということです。


自分ではそんなに登録していないのに50件を超えるのは、自動的に登録されているからです。

何かの情報をGetする場合、登録銘柄にない場合は、サーバ側で自動的に銘柄を登録するという仕様です。

銘柄が50件登録されている状態で、登録されていない銘柄の板情報などを照会しようとすると、サーバ側で新しい銘柄を登録しようとしてエラーになります。

登録されている銘柄を確認してもいいのですが「一旦登録銘柄を全部削除してから登録」とすれば確認する必要はないです。


50件以上見たい場合は、50件ずつ塊にしてループで回します。 実際に試した方によると、平均3件/秒で取得できるようです。

プログラムの中で銘柄一覧からコードを50件ずつ切り出し「登録銘柄を全部削除 → 登録 → 取得」をループで回します。 pythonでリクエストを並列処理し、1秒10件の制限を超えないように調整し、東証1部の2200件程の株価を早い時で12分程度(平均3件/秒)で取得することができました。


また、起動直後の5分間ほどはネットワークがほとんど送信に使われてしまうため、その間はGETリクエストが非常に遅くなっているという報告もありました。


参考

2022/10/25