CoincheckのAPIで全約定履歴を取得しようとした記録

仮想通貨

CoincheckのAPIを利用して、過去数年分の全約定履歴を取得しようとアレコレした記録です。

コインチェックAPIについてはこちら

スポンサーリンク

結論

取得できません(2023/04/06現在)

starting_afterとending_beforeのパラメータが使えないため、過去100件分のみ取得出来ます。

私の勘違いでもし取得できる方法がありましたら、コメント欄の方で教えて頂けると助かります。

ここから先は結論に至るまでに悪戦苦闘した備忘録です。

備忘録

ページネーション

デフォルトの取引履歴API(/api/trades)では最新10件までしか取得できない。

ページネーションを使えば過去のデータが取れるらしい。

ページネーションのパラメータについて

  • limit: 1ページあたりの取得件数を指定できます。
  • order: “desc”, “asc” を指定できます。
  • starting_after: IDを指定すると絞り込みの開始位置を設定できます。
  • ending_before: IDを指定すると絞り込みの終了位置を設定できます。

この説明だけだと分からない点があるので検証した

各パラメータの検証

limit

1ページあたりの取得件数を指定できます。

取得件数は1~100の範囲で指定できる。

100を超える値を指定しても100のみ返される、1の方も同様。

order

“desc”, “asc” を指定できます。

直近limit件の約定履歴を昇順か降順で返す指定かと思ったが違った。

descを指定した場合は直観通りのデータが返されるが、ascを指定した場合は全約定履歴(過去データ含む)を昇順に返す。

limitを3、orderをascにした場合に返されたデータ

{'data': [{'amount': '0.0951',
           'created_at': '2014-10-31T06:12:09.000Z',
           'id': 1,
           'order_type': 'sell',
           'pair': 'btc_jpy',
           'rate': '36880.0'},
          {'amount': '1.2366',
           'created_at': '2014-10-31T07:13:24.000Z',
           'id': 2,
           'order_type': 'buy',
           'pair': 'btc_jpy',
           'rate': '38880.0'},
          {'amount': '0.5094',
           'created_at': '2014-10-31T07:21:25.000Z',
           'id': 3,
           'order_type': 'buy',
           'pair': 'btc_jpy',
           'rate': '39130.0'}],
 'pagination': {'ending_before': None,
                'limit': 3,
                'order': 'asc',
                'starting_after': None},
 'success': True}

2014年の約定履歴が返されている事が分かる。

starting_afterとending_before

IDを指定すると絞り込みの開始位置/終了位置を設定できます。

IDを指定すれば任意の約定履歴を取得出来るらしい。

下は返されたデータ

{'error': 'starting_after and ending_before is now unavailable parameter', 'success': False}

残念ながら、今はこのパラメータは使うことが出来ないっぽい。(どういうこと・・・?)

コメント

タイトルとURLをコピーしました