39 個のエンドポイント · 一般 · ツール · Alpha · 生データ
https://api.blave.orgapi-key と secret-key ヘッダーを付けるAPI plan or Blave Agent plan暗号資産の get_alpha/get_exposure エンドポイントすべてに共通:
period:時間足。{n}min/{n}h/{n}d({n}m は分として解釈されます)。ドキュメントに記載している値は 5min、15min、1h、4h、8h、1d です。最小の時間足がこれより粗い指標は、各エンドポイントの説明に記載しています。period がない、または解析できない場合は 403 {"error": "period is required"} です(unusual_movement と liquidation では 400)。start_date/end_date:YYYY-MM-DD(UTC)。end_date の既定値は今日、start_date の既定値は end_date − 365 日です。365 日を超える範囲は通知なしで切り詰められます(start_date が end_date − 365 日に移動します)。形式が不正な日付は検証されず、500 になります。必ず YYYY-MM-DD で送ってください。symbol:Binance の USDT-M 無期限先物。例:BTCUSDT。BTC、btc、BTC/USDT、BTC-USDT も受け付けます(トークン名だけの場合は USDT が付加されます)。対応シンボルは get_symbols エンドポイントで取得できます。{"data": {"timestamp": [...], "alpha": [...], ...}} です。並列の配列で、足ごとに一要素です。timestamp は Unix 秒(UTC)で、足のラベルです。stat オブジェクト:各エンドポイントの説明に記載がある指標で返ります。そのシンボルの過去一年分のこの指標と、その後 24h の価格変動に当てはめたロジスティックモデルです:
| フィールド | 型 | 説明 |
|---|---|---|
up_prob | float | 最新の指標値のもとで 24h 後に上昇する確率(0–1) |
avg_up_return | float | 過去の上昇時の 24h 平均リターン(小数、0.02 = +2%) |
avg_down_return | float | 過去の下落時の 24h 平均リターン(小数、負の値) |
return_ratio | float | -avg_up_return / avg_down_return |
exp_value | float | up_prob × avg_up_return + (1 − up_prob) × avg_down_return |
is_data_sufficient | bool | シンボルの履歴が一年未満の場合は false。その場合、他のフィールドに依拠しないでください |
データがない場合、このオブジェクトは up_prob 0.5 とゼロにフォールバックします。
/price | 名称 | 説明 | 許容値 | デフォルト |
|---|---|---|---|
symbolstring · query必須 | トークンまたは USDT ペア | BTCUSDT または BTC(大文字・小文字を区別しません) |
response = requests.get(f"{BASE_URL}/price" , headers=headers, params={"symbol": "BTCUSDT"}, timeout=30)print(response.json())# {"symbol": "BTC", "price": 75838.2, "change_24h": -0.01739}フラットなオブジェクト。
| フィールド | 型 | 単位 | 説明 |
|---|---|---|---|
symbol | string | — | USDT を除いたトークン(例:BTC。BTCUSDT を送った場合も同じです) |
price | float | USDT | 最新価格 |
change_24h | float | 小数 | 24h の変化率(小数。0.025 = +2.5%) |
| ステータス | レスポンスボディ | 条件 |
|---|---|---|
| 400 | {"error": "symbol is required"} | symbol が未指定 |
| 404 | {"error": "symbol <SYMBOL> not found"} | そのトークンの価格がない |
change_24h は通常 price と同じ取引所のものですが、両者は別々にキャッシュされる(それぞれ 5 秒)ため、一時的にずれることがあります。/alpha_table なし。
response = requests.get(f"{BASE_URL}/alpha_table" , headers=headers, timeout=60)body = response.json()row = body["data"]["0G"] # one token out of the 716 keys this response carried# {"holder_concentration": {"-": 0.9267}, "holder_concentration_chg": {"15min": -0.0118, "1h": 0.0075, "24h": 0.4723, "3d": -0.1852, "30d": "", ...},# "funding_rate": {"binance": 0.005, "bybit": 0.005, "okx": 0.005, "pionex": "", ...},# "liquidation": {"15min": 0.0, "1h": -0.2665, "24h": -0.5637, "1min": "", ...},# "market_cap": {"-": 42204386.29}, "market_cap_percentile": {"-": 56.55},# "price": {"-": 0.1832}, "price_change": {"15min": -0.00215, "24h": -0.05792, ...},# "statistics": {"up_prob": 0.4277, "exp_value": -0.00478, "is_data_sufficient": false, ...}, ...}# (shape captured from a live response; `""` marks insufficient data){"data": {<TOKEN>: {...}}, "fields": [...], "note": {...}}.
data のキーはトークンです(BTC、1INCH、…)。各トークンは、指標名 → {param: value} の対応を持ちます(指標にパラメータがない場合は "-")。"" = データ不足。指標のほかに次のキーがあります:
| キー | 説明 |
|---|---|
statistics | up_prob(24h 後に上昇する確率)、exp_value(期待リターン)、avg_up_return、avg_down_return、return_ratio、is_data_sufficient |
price | {"-": 70000}:現在価格 |
price_change | {"15min": ..., "1h": ..., "24h": ...}:変化率(%) |
market_cap | {"-": 1234567890}:時価総額(USD) |
market_cap_percentile | {"-": 85.3}:全上場コインの中でのパーセンタイル |
funding_rate | {"binance": -0.01, ...}:取引所ごと |
oi_imbalance | {"-": 0.12}:OI インバランス(詳細は /oi_imbalance/get_overview_data) |
fields:指標ごとに一要素。id、name(data で使うキー)、param(パラメータ名または null)、name_en、name_zh。
note:キーは指標 ID です。値にラベルを付けるための値域のリスト {min, max, note: {en, zh}, direction: {en, zh}, color, background_color} です(例:max: -3 → "Overly Bearish")。
共通エラーのみ。
statistics を使う前に、必ず statistics.is_data_sufficient を確認してください。/kline カバー範囲。シンボルが USDT で終わる Binance の USDⓈ-M 無期限先物すべてです。2026年10月時点で 740 銘柄あり、トークン化株式、コモディティ、その他の TradFi の USDT 無期限先物を含みます。740 銘柄すべてについて、2020-01-01 または上場日からの 1 分足の全履歴をサーバー側に保存しています。新規上場の無期限先物は、上場から約 5–10 分後に照会できるようになります。
対象外:USDC、USD1、U、BTC 建ての銘柄(例:BTCUSDC、ETHBTC)と四半期限月の先物です。これらは下記の 400 unknown symbol or no data エラーを返します。上場廃止の銘柄は保証されません。保存されている履歴を返す場合もあれば、同じ 400 を返す場合もあります(2026年10月より前に上場廃止となった銘柄には 1min–4min の履歴がありません)。
| 名称 | 説明 | 許容値 | デフォルト |
|---|---|---|---|
symbolstring · query必須 | Binance の USDⓈ-M USDT 無期限先物。トークン名だけの場合は USDT が付加されます。倍率の接頭辞付きでしか存在しないトークン名は、その銘柄に解決されます(PEPE → 1000PEPEUSDT) | BTCUSDT。BTC、btc、BTC/USDT、BTC-USDT も可 | |
periodstring · query必須 | 時間足。記載した例に限らず、分単位の整数であればどの長さでも受け付けます | {n}min/{n}h/{n}d、最小は 1min(例:1min、3min、15min、2h、1d、7d)。{n}m は分として解釈されます(15m = 15min) | |
start_datestring · query | 開始日(当日を含む) | YYYY-MM-DD(UTC) | end_date − 365 日(period ≥ 5min)、end_date − 30 日(period < 5min) |
end_datestring · query | 終了日(当日を含む。その UTC 日の終わりまでの足) | YYYY-MM-DD(UTC) | 現在 |
リクエストあたりの期間:period ≥ 5min → 最大 365 日。それより長い範囲は通知なしで切り詰められます(start_date が end_date − 365 日に移動し、エラーにはなりません)。period < 5min → 最大 30 日。それより長い範囲は 400 です。
params = {"symbol": "BTCUSDT", "period": "1h", "start_date": "2026-10-01", "end_date": "2026-10-02"}response = requests.get(f"{BASE_URL}/kline" , headers=headers, params=params, timeout=60)data = response.json()# [{"time": 1790812800.0, "open": 83576.8, "high": 83612.6, "low": 83370.0, "close": 83460.0, "volume": 3123.991}, ...]JSON 配列をそのまま返します({"data": ...} で包みません)。時刻の昇順。
| フィールド | 型 | 単位 | 説明 |
|---|---|---|---|
time | float | Unix 秒(UTC) | 足の開始時刻 |
open / high / low / close | float | 決済通貨(USDT) | 価格 |
volume | float | null | 基軸資産 | 出来高。その足の出来高がデータ元にない場合は null |
| ステータス | レスポンスボディ | 条件 |
|---|---|---|
| 403 | {"error": "symbol is required"} | symbol が未指定 |
| 403 | {"error": "period is required"} | period が未指定、または解析できない |
| 400 | {"error": "minimum supported period is 1min"} | period が一分未満 |
| 400 | {"error": "periods below 5min must be a whole number of minutes"} | e.g. 90s |
| 400 | {"error": "date range exceeds max 30 days for periods below 5min"} | period < 5min で範囲 > 30 日 |
| 400 | {"error": "invalid date format, expected YYYY-MM-DD"} | start_date/end_date の形式が不正 |
| 400 | {"error": "unknown symbol or no data: <symbol>"} | 対象外のシンボル(対象外を参照)、または実在しない銘柄。例:BTCUSDC、ETHBTC、入力ミス。<symbol> には送信した値がそのまま入ります。一時的なエラーではないため、再試行しないでください |
200 と [] を返します。1min では、返る足はすべて確定足です。それより長い時間足では、end_date が今日の場合、最後が未確定の足になることがあります。この足はそれまでに確定した足から作られます(07:09 UTC の時点で、07:00 の 1h の足は 07:00–07:05 の内容です)。確定足だけが必要な場合は除外してください。5min の 3 年分 = 3 リクエスト、1min の 1 年分 = ≤30 日のリクエスト 13 回)。1min を含むすべての時間足に当てはまります。1min)、300 秒(1h/4h/1d)、60 秒(その他の時間足)。最新の確定足がまだ届いていない場合は 5 秒のみです。/market_direction/get_alpha symbol はありません。alpha はコインごとではなく、市場全体の単一の系列です。BTCUSDT は足を揃えるために内部で使うだけで、返されず、alpha にも影響しません。暗号資産指標の共通ルールを参照してください。
| 名称 | 説明 | 許容値 | デフォルト |
|---|---|---|---|
periodstring · query必須 | 時間足 | 1h、4h、8h、1d(最小 1h) | |
start_datestring · query | 開始日 | YYYY-MM-DD | end_date − 365 日 |
end_datestring · query | 終了日 | YYYY-MM-DD | 今日 |
params = {"period": "1h", "start_date": "2026-09-13", "end_date": "2026-09-15"}response = requests.get(f"{BASE_URL}/market_direction/get_alpha" , headers=headers, params=params, timeout=60)# {"data": {"alpha": [-0.5195979478976323, -0.5223392571665055, -0.5612490182062327, ...],# "timestamp": [1789257600.0, 1789261200.0, 1789264800.0, ...]}} # 72 bars{"data": {"timestamp": [...], "alpha": [...]}}。stat はありません。
| フィールド | 型 | 説明 |
|---|---|---|
timestamp | float[] | Unix 秒(UTC) |
alpha | float[] | 市場方向の値 |
| ステータス | レスポンスボディ | 条件 |
|---|---|---|
| 403 | {"error": "period is required"} | period が未指定、または解析できない |
1d の足は 2024-12-27 です。/screener/get_saved_conditions なし。
response = requests.get(f"{BASE_URL}/screener/get_saved_conditions" , headers=headers, timeout=30)conditions = response.json()["data"]{"data": {<condition_id>: {...}}}。キーは条件 ID です(JSON の文字列キー。例:"12"。送り返すときは整数の condition_id として送ります)。このアカウント自身の条件だけが返ります。
| フィールド | 型 | 説明 |
|---|---|---|
filters | object[] | 条件のフィルター。すべて AND で結合されます:indicator_id(int)、indicator_name({"en", "zh"})、param(string。"-" = 指標の既定値)、operator_id(int)、operator_symbol(string。例:>)、value(しきい値) |
note | string | 条件を保存したときに付けた名前 |
name_en / name_zh | string | null | 公式/コミュニティの条件でのみ設定されます。自分の条件では空または null になるため、代わりに note を読んでください |
description_en / description_zh | string | null | 公式/コミュニティの条件でのみ設定されます。空または null の場合があります |
| ステータス | レスポンスボディ | 条件 |
|---|---|---|
| 403 | {"error": "unsupported api feature"} | キーがユーザーアカウントに紐付いていない |
/screener/get_saved_condition_result | 名称 | 説明 | 許容値 | デフォルト |
|---|---|---|---|
condition_idint · query必須 | 実行する条件 | get_saved_conditions で得た ID |
response = requests.get(f"{BASE_URL}/screener/get_saved_condition_result" , headers=headers, params={"condition_id": 12}, timeout=60){"data": {"alpha_names": [...], "symbols": [...]}}.
| フィールド | 型 | 説明 |
|---|---|---|
alpha_names | object[] | フィルターの指標ごとに一要素(重複なし、フィルターの順):en/zh(表示名。パラメータがある場合は括弧内に付きます)、name(指標キー)、type、url。指標に定義がある場合は value_format、value_decimals、polarity も付きます |
symbols | object[] | すべてのフィルターに一致するトークン |
symbols[].symbol | string | USDT を除いたトークン(例:BTC) |
symbols[].id | int | トークン ID(不明な場合は 0) |
symbols[].user_selected | bool | トークンがアカウントのウォッチリストにあるかどうか |
symbols[].price | float | USDT 建ての最新価格(/price と同じフィード。取得できない場合は 0) |
symbols[].24h_chg | float | 24h の変化率(小数。0.025 = +2.5%) |
symbols[].alphas | float[] | 各フィルター指標に対するトークンの値。alpha_names と並列です |
symbols[].alpha_notes | object[] | 指標ごと:indicator_id、color、direction、note(ルールに一致した場合は background_color も付きます。一致しなかった場合は color が null、他は空文字列) |
| ステータス | レスポンスボディ | 条件 |
|---|---|---|
| 400 | {"error": "Missing parameter: condition_id is required."} | 未指定 |
| 400 | {"error": "Invalid parameter: condition_id must be an integer."} | 整数でない |
| 404 | {"error": "Invalid condition_id: <id> not found for user."} | このアカウントの条件ではない |
| 403 | {"error": "unsupported api feature"} | キーがユーザーアカウントに紐付いていない |
/holder_concentration/get_symbols なし。
symbols = requests.get(f"{BASE_URL}/holder_concentration/get_symbols" , headers=headers, timeout=30).json()["data"]{"data": ["BNBUSDT", "BTCUSDT", ...]}、ソート済み。
共通エラーのみ。
*/get_symbols エンドポイントは、現在すべて同じ Binance の USDT-M シンボルリストを返します。/holder_concentration/get_alpha 暗号資産指標の共通ルールを参照。
| 名称 | 説明 | 許容値 | デフォルト |
|---|---|---|---|
symbolstring · query必須 | シンボル | e.g. BTCUSDT | |
periodstring · query必須 | 時間足 | 5min, 15min, 1h, 4h, 8h, 1d | |
start_datestring · query | 開始日 | YYYY-MM-DD | end_date − 365 日 |
end_datestring · query | 終了日 | YYYY-MM-DD | 今日 |
params = {"symbol": "BTCUSDT", "period": "1h", "start_date": "2026-09-13", "end_date": "2026-09-15"}response = requests.get(f"{BASE_URL}/holder_concentration/get_alpha" , headers=headers, params=params, timeout=60)# {"data": {"alpha": [-1.1931909718306861, -1.2035898186867282, -1.2037004015202886, ...],# "timestamp": [1789257600.0, 1789261200.0, 1789264800.0, ...],# "stat": {"up_prob": 0.509739818557561, "exp_value": -0.00051954905018229,# "avg_up_return": 0.015512131150026753, "avg_down_return": -0.017188220228787618,# "return_ratio": 0.9024861762037658, "is_data_sufficient": true}}} # 72 bars{"data": {"timestamp": [...], "alpha": [...], "stat": {...}}}.
| フィールド | 型 | 説明 |
|---|---|---|
timestamp | float[] | Unix 秒(UTC) |
alpha | float[] | ロング・ショート口座比率の対数を 30 日平均と比べた Z スコア(符号を反転)。値が高いほど集中しています |
stat | object | stat オブジェクトを参照 |
| ステータス | レスポンスボディ | 条件 |
|---|---|---|
| 403 | {"error": "symbol is required"} / {"error": "period is required"} | パラメータが未指定 |
1d の足です。他のシンボルはそれより後に始まることがあります。/funding_rate/get_alpha 暗号資産指標の共通ルールを参照。
| 名称 | 説明 | 許容値 | デフォルト |
|---|---|---|---|
symbolstring · query必須 | シンボル(どの取引所でも Binance の形式) | e.g. BTCUSDT | |
periodstring · query必須 | 時間足 | 5min, 15min, 1h, 4h, 8h, 1d | |
exchangestring · query | どの取引所の無期限先物の資金調達率を読むか。それ以外の値は 400 | binance, okx, bingx, bybit | binance |
start_datestring · query | 開始日 | YYYY-MM-DD | end_date − 365 日 |
end_datestring · query | 終了日 | YYYY-MM-DD | 今日 |
params = {"symbol": "BTCUSDT", "period": "1h", "start_date": "2026-09-13", "end_date": "2026-09-15"}response = requests.get(f"{BASE_URL}/funding_rate/get_alpha" , headers=headers, params=params, timeout=60)# {"data": {"timestamp": [1789257600.0, 1789261200.0, 1789264800.0, ...],# "alpha": [0.005064, 0.006165, 0.007765, ...],# "close": [77239.5, 77285.5, 77263.9, ...],# "stat": {"up_prob": 0.5009438427095587, "exp_value": -0.0008769555139270298,# "is_data_sufficient": false, ...}}} # 72 bars{"data": {"timestamp": [...], "alpha": [...], "close": [...], "stat": {...}}}.
| フィールド | 型 | 単位 | 説明 |
|---|---|---|---|
timestamp | float[] | Unix 秒(UTC) | 足のラベル |
alpha | float[] | パーセント | 資金調達率 × 100(0.01 = 0.01%)。正の値 = ロングがショートに支払います |
close | float[] | USDT | 無期限先物の終値 |
stat | object | — | stat オブジェクトを参照 |
| ステータス | レスポンスボディ | 条件 |
|---|---|---|
| 403 | {"error": "symbol is required"} / {"error": "period is required"} | パラメータが未指定 |
| 400 | {"error": "exchange must be one of binance, okx, bingx, bybit"} | exchange がリストにない |
1d の足です。他のシンボルはそれより後に始まることがあり、exchange=bybit も開始が遅くなります。最初のタイムスタンプを確認してください。/market_sentiment/get_symbols なし。
symbols = requests.get(f"{BASE_URL}/market_sentiment/get_symbols" , headers=headers, timeout=30).json()["data"]{"data": ["BNBUSDT", "BTCUSDT", ...]}、ソート済み。
共通エラーのみ。
/market_sentiment/get_alpha 暗号資産指標の共通ルールを参照。
| 名称 | 説明 | 許容値 | デフォルト |
|---|---|---|---|
symbolstring · query必須 | シンボル | e.g. BTCUSDT | |
periodstring · query必須 | 時間足 | 5min, 15min, 1h, 4h, 8h, 1d | |
start_datestring · query | 開始日 | YYYY-MM-DD | end_date − 365 日 |
end_datestring · query | 終了日 | YYYY-MM-DD | 今日 |
params = {"symbol": "BTCUSDT", "period": "1h", "start_date": "2025-01-01", "end_date": "2025-03-01"}response = requests.get(f"{BASE_URL}/market_sentiment/get_alpha" , headers=headers, params=params, timeout=60){"data": {"timestamp": [...], "alpha": [...], "stat": {...}}}.
| フィールド | 型 | 説明 |
|---|---|---|
timestamp | float[] | Unix 秒(UTC) |
alpha | float[] | 市場センチメントの値 |
stat | object | stat オブジェクトを参照 |
| ステータス | レスポンスボディ | 条件 |
|---|---|---|
| 403 | {"error": "symbol is required"} / {"error": "period is required"} | パラメータが未指定 |
1d の足です。他のシンボルはそれより後に始まることがあります。/capital_shortage/get_alpha symbol はありません。市場全体の値です。暗号資産指標の共通ルールを参照。
| 名称 | 説明 | 許容値 | デフォルト |
|---|---|---|---|
periodstring · query必須 | 時間足。5min と 15min のどちらもデータを返します | 5min, 15min, 1h, 4h, 8h, 1d | |
start_datestring · query | 開始日 | YYYY-MM-DD | end_date − 365 日 |
end_datestring · query | 終了日 | YYYY-MM-DD | 今日 |
params = {"period": "1h", "start_date": "2025-01-01", "end_date": "2025-03-01"}response = requests.get(f"{BASE_URL}/capital_shortage/get_alpha" , headers=headers, params=params, timeout=60){"data": {"timestamp": [...], "alpha": [...], "stat": {...}}}.
| フィールド | 型 | 説明 |
|---|---|---|
timestamp | float[] | Unix 秒(UTC) |
alpha | float[] | 資金不足度の値 |
stat | object | stat オブジェクトを参照(BTC に対して計算) |
| ステータス | レスポンスボディ | 条件 |
|---|---|---|
| 403 | {"error": "period is required"} | パラメータが未指定 |
1d の足は 2023-12-09 です。/sector_rotation/get_history_data なし。
response = requests.get(f"{BASE_URL}/sector_rotation/get_history_data" , headers=headers, timeout=60)# {"data": {"alpha": {"AI": {"data": [0.0, 0.04377017039444864, 0.04922749428543449, ...],# "name_en": "AI", "name_zh": "人工智能"},# "BNB Eco": {"data": [0.0, 0.008847752133756215, ...],# "name_en": "BNB Eco", "name_zh": "BNB 生態"}, ...},# "timestamp": [1757980800.0, 1758067200.0, 1758153600.0, ...]}} # 51 sectors, 366 points{"data": {"alpha": {<sector>: {"data": [...], "name_en": ..., "name_zh": ...}}, "timestamp": [...]}}。timestamp は各セクターの中ではなく、data の直下に alpha と並んで入ります。すべてのセクター系列に共通の時間軸です。
| フィールド | 型 | 説明 |
|---|---|---|
timestamp | float[] | Unix 秒(UTC)、点ごとに一つ。観測されたレスポンスでは日次で 366 点 |
alpha.<sector>.data | float[] | セクターの系列。長さと順序は timestamp と同じ(366)で、最初の要素は 0.0 |
alpha.<sector>.name_en / name_zh | string | セクターの表示名 |
共通エラーのみ。
0.0 から始まります。パラメータはなく、再構築のたびに直近 365 日だけを再計算するため、それより長い履歴はありません。/sector_rotation/get_overview_data なし。
data = requests.get(f"{BASE_URL}/sector_rotation/get_overview_data" , headers=headers, timeout=60).json()["data"]# {"AI": {"name_en": "AI", "name_zh": "人工智能",# "data": {"1h": {"pct_change": 0.0076}, "8h": ..., "90d": ...},# "symbols": {"0G": {"id": 38337, "data": {"1h": {"pct_change": 0.0061}, ...}}, ...}}, ...}{"data": {<sector>: {"name_en", "name_zh", "data", "symbols"}}}(約 48 セクター)。
| フィールド | 説明 |
|---|---|
data | 1h、8h、24h、3d、7d、30d、90d それぞれの {<timeframe>: {"pct_change": float}}。pct_change は小数です(0.0061 = +0.61%) |
symbols | {<token>: {"id": int, "data": {<timeframe>: {"pct_change": float}}}}:トークンごとの内訳 |
共通エラーのみ。
/oi_imbalance/get_overview_data なし。
data = requests.get(f"{BASE_URL}/oi_imbalance/get_overview_data" , headers=headers, timeout=60).json()["data"]# [{"token": "TSLA", "token_id": 39618, "token_price": 313.33, "token_chg": 0.031,# "market_cap": 40415.98, "oi_total": 59916616.78, "alpha": 1482.5}, ...]{"data": [...]}、alpha の降順。
| フィールド | 型 | 単位 | 説明 |
|---|---|---|---|
token | string | — | トークン |
token_id | int | — | Blave のトークン ID |
token_price | float | USD | 価格 |
token_chg | float | 小数 | 価格変化 |
market_cap | float | USD | 時価総額 |
oi_total | float | USD | Binance、OKX、BingX を合計した先物の建玉 |
alpha | float | 比率 | oi_total / market_cap。高い = 規模に対して建玉が積み上がっている状態(スクイーズ/ボラティリティのリスク) |
共通エラーのみ。
/alpha_table の oi_imbalance には最終的な alpha だけが入ります。このエンドポイントは表全体を返します。/whale_hunter/get_symbols なし。
symbols = requests.get(f"{BASE_URL}/whale_hunter/get_symbols" , headers=headers, timeout=30).json()["data"]{"data": ["BNBUSDT", "BTCUSDT", ...]}、ソート済み。
共通エラーのみ。
/whale_hunter/get_alpha 暗号資産指標の共通ルールを参照。
| 名称 | 説明 | 許容値 | デフォルト |
|---|---|---|---|
symbolstring · query必須 | シンボル | e.g. BTCUSDT | |
periodstring · query必須 | 時間足 | 5min, 15min, 1h, 4h, 8h, 1d | |
timeframestring · query | フローを合計するローリング期間 | 15min, 1h, 4h, 8h, 24h, 3d | 24h |
score_typestring · query | 建玉の変化または出来高 | score_oi, score_volume | score_oi |
start_datestring · query | 開始日 | YYYY-MM-DD | end_date − 365 日 |
end_datestring · query | 終了日 | YYYY-MM-DD | 今日 |
params = {"symbol": "BTCUSDT", "period": "1h", "timeframe": "24h", "score_type": "score_oi"}response = requests.get(f"{BASE_URL}/whale_hunter/get_alpha" , headers=headers, params=params, timeout=60){"data": {"timestamp": [...], "alpha": [...], "stat": {...}}}.
| フィールド | 型 | 説明 |
|---|---|---|
timestamp | float[] | Unix 秒(UTC) |
alpha | float[] | timeframe で合計した建玉の変化(または出来高)を 30 日平均と比べた Z スコア |
stat | object | stat オブジェクトを参照 |
| ステータス | レスポンスボディ | 条件 |
|---|---|---|
| 403 | {"error": "symbol is required"} / {"error": "period is required"} | パラメータが未指定 |
| 403 | {"error": "Invalid score_type"} | score_type が許容値でない |
timeframe はサーバー側で検証されません。リスト外の値として 2h を一つ試したところ、200 とデータが返りました。これは一度の観測にすぎず、任意の {n}h が使えることを示すものではありません。必要な値を自分で確認しない限り、記載された値を使ってください。1d の足です。他のシンボルはそれより後に始まることがあります。/taker_intensity/get_symbols なし。
symbols = requests.get(f"{BASE_URL}/taker_intensity/get_symbols" , headers=headers, timeout=30).json()["data"]{"data": ["BNBUSDT", "BTCUSDT", ...]}、ソート済み。
共通エラーのみ。
/taker_intensity/get_alpha 暗号資産指標の共通ルールを参照。
| 名称 | 説明 | 許容値 | デフォルト |
|---|---|---|---|
symbolstring · query必須 | シンボル | e.g. BTCUSDT | |
periodstring · query必須 | 時間足 | 5min, 15min, 1h, 4h, 8h, 1d | |
timeframestring · query | ローリング期間 | 15min, 1h, 4h, 8h, 24h, 3d | 24h |
start_datestring · query | 開始日 | YYYY-MM-DD | end_date − 365 日 |
end_datestring · query | 終了日 | YYYY-MM-DD | 今日 |
params = {"symbol": "BTCUSDT", "period": "1h", "timeframe": "24h", "start_date": "2025-01-01", "end_date": "2025-03-01"}response = requests.get(f"{BASE_URL}/taker_intensity/get_alpha" , headers=headers, params=params, timeout=60){"data": {"timestamp": [...], "alpha": [...], "stat": {...}}}.
| フィールド | 型 | 説明 |
|---|---|---|
timestamp | float[] | Unix 秒(UTC) |
alpha | float[] | timeframe で合計した(テイカー買い − テイカー売り)の出来高を 30 日平均と比べた Z スコア。正の値 = 買い越し |
stat | object | stat オブジェクトを参照 |
| ステータス | レスポンスボディ | 条件 |
|---|---|---|
| 403 | {"error": "symbol is required"} / {"error": "period is required"} | パラメータが未指定 |
1d の足です。他のシンボルはそれより後に始まることがあります。/unusual_movement/get_symbols なし。
symbols = requests.get(f"{BASE_URL}/unusual_movement/get_symbols" , headers=headers, timeout=30).json()["data"]{"data": ["BNBUSDT", "BTCUSDT", ...]}、ソート済み。
共通エラーのみ。
/unusual_movement/get_alpha 暗号資産指標の共通ルールを参照。
| 名称 | 説明 | 許容値 | デフォルト |
|---|---|---|---|
symbolstring · query必須 | シンボル | e.g. BTCUSDT | |
periodstring · query必須 | 時間足 | 5min, 15min, 1h, 4h, 8h, 1d | |
timeframestring · query | 変動を測る期間 | 15min, 1h, 4h, 8h, 24h, 3d, 7d | 24h |
start_datestring · query | 開始日 | YYYY-MM-DD | end_date − 365 日 |
end_datestring · query | 終了日 | YYYY-MM-DD | 今日 |
params = {"symbol": "BTCUSDT", "period": "1h", "timeframe": "24h"}response = requests.get(f"{BASE_URL}/unusual_movement/get_alpha" , headers=headers, params=params, timeout=60){"data": {"timestamp": [...], "alpha": [...], "close": [...], "stat": {...}}}.
| フィールド | 型 | 説明 |
|---|---|---|
timestamp | float[] | Unix 秒(UTC) |
alpha | float[] | timeframe のリターンを、その期間に換算した 365 日ボラティリティで割った値。|alpha| が大きい = 外れ値 |
close | float[] | 終値(USDT) |
stat | object | stat オブジェクトを参照 |
| ステータス | レスポンスボディ | 条件 |
|---|---|---|
| 400 | {"error": "symbol is required"} / {"error": "period is required"} | パラメータが未指定 |
| 500 | サーバーエラー | timeframe が許容リストにない |
1d の足です。他のシンボルはそれより後に始まることがあります。/squeeze_momentum/get_symbols なし。
symbols = requests.get(f"{BASE_URL}/squeeze_momentum/get_symbols" , headers=headers, timeout=30).json()["data"]{"data": ["BNBUSDT", "BTCUSDT", ...]}、ソート済み。
共通エラーのみ。
/squeeze_momentum/get_alpha period はありません。1d 固定です。暗号資産指標の共通ルールを参照。
| 名称 | 説明 | 許容値 | デフォルト |
|---|---|---|---|
symbolstring · query必須 | シンボル | e.g. BTCUSDT | |
start_datestring · query | 開始日 | YYYY-MM-DD | end_date − 365 日 |
end_datestring · query | 終了日 | YYYY-MM-DD | 今日 |
params = {"symbol": "BTCUSDT", "start_date": "2025-01-01", "end_date": "2025-03-01"}response = requests.get(f"{BASE_URL}/squeeze_momentum/get_alpha" , headers=headers, params=params, timeout=60)# {"data": {"alpha": [-0.2256, ...], "scolor": ["black", ...], "timestamp": [...], "stat": {...}}}{"data": {"timestamp": [...], "alpha": [...], "scolor": [...], "stat": {...}}}.
| フィールド | 型 | 説明 |
|---|---|---|
timestamp | float[] | Unix 秒(UTC)、日次 |
alpha | float[] | モメンタムの値 |
scolor | string[] | black = スクイーズ中(ボリンジャーバンドがケルトナーチャネルの内側)、grey = スクイーズ解除 |
stat | object | stat オブジェクトを参照 |
| ステータス | レスポンスボディ | 条件 |
|---|---|---|
| 403 | {"error": "symbol is required"} | パラメータが未指定 |
alpha は 2020-02-09 まで 0.0 です。データ開始の日付より前から始まるリクエストは、この穴埋めの行を返します。これは埋め草であり、シグナルではありません。先頭のゼロを除外するか、データ開始の日付から始めてください。alpha が最初にゼロ以外になる日です。他のシンボルはそれより後に始まることがあります。/blave_top_trader/get_exposure symbol はありません。alpha はコインごとではなく、市場全体の単一の系列です。BTCUSDT は足を揃えるために内部で使うだけで、返されず、alpha にも影響しません。暗号資産指標の共通ルールを参照してください。
| 名称 | 説明 | 許容値 | デフォルト |
|---|---|---|---|
periodstring · query必須 | 時間足 | 1h, 4h, 8h, 1d | |
start_datestring · query | 開始日 | YYYY-MM-DD | end_date − 365 日 |
end_datestring · query | 終了日 | YYYY-MM-DD | 今日 |
params = {"period": "1h", "start_date": "2025-05-01", "end_date": "2025-07-01"}response = requests.get(f"{BASE_URL}/blave_top_trader/get_exposure" , headers=headers, params=params, timeout=60)# {"data": {"alpha": [34.32, 40.52, ...], "timestamp": [1747130400.0, ...]}}{"data": {"timestamp": [...], "alpha": [...]}}。stat はありません。
| フィールド | 型 | 説明 |
|---|---|---|
timestamp | float[] | Unix 秒(UTC) |
alpha | float[] | Blave のトップトレーダー(口座資産の上位 10%)のネットエクスポージャー。各トレーダーの名目ネットポジション ÷ 自己資産を求め、トレーダー間の中央値を取って ×100 した値です(正の値 = ネットロング)。Z スコアではなく、比率そのものです |
| ステータス | レスポンスボディ | 条件 |
|---|---|---|
| 403 | {"error": "period is required"} | パラメータが未指定 |
/liquidation/get_symbols なし。
symbols = requests.get(f"{BASE_URL}/liquidation/get_symbols" , headers=headers, timeout=30).json()["data"]{"data": ["BNBUSDT", "BTCUSDT", ...]}、ソート済み。
共通エラーのみ。
/liquidation/get_alpha 暗号資産指標の共通ルールを参照。
| 名称 | 説明 | 許容値 | デフォルト |
|---|---|---|---|
symbolstring · query必須 | シンボル | e.g. BTCUSDT | |
periodstring · query必須 | 時間足 | 5min, 15min, 1h, 4h, 8h, 1d | |
timeframestring · query | ローリング期間 | 15min, 1h, 4h, 8h, 24h, 3d | 24h |
start_datestring · query | 開始日 | YYYY-MM-DD | end_date − 365 日 |
end_datestring · query | 終了日 | YYYY-MM-DD | 今日 |
params = {"symbol": "BTCUSDT", "period": "1h", "timeframe": "24h"}response = requests.get(f"{BASE_URL}/liquidation/get_alpha" , headers=headers, params=params, timeout=60){"data": {"timestamp": [...], "alpha": [...], "stat": {...}}}.
| フィールド | 型 | 説明 |
|---|---|---|
timestamp | float[] | Unix 秒(UTC) |
alpha | float[] | (ショートの清算 − ロングの清算、コイン数量)を timeframe で合計し、その 30 日ローリング標準偏差で割った値。平均は差し引きません。> 0 = ロングよりショートの清算が多い、< 0 = ロングの清算が多い |
stat | object | stat オブジェクトを参照 |
| ステータス | レスポンスボディ | 条件 |
|---|---|---|
| 400 | {"error": "symbol is required"} / {"error": "period is required"} | パラメータが未指定 |
alpha は 2023-01-01 まで 0.0 です。データ開始の日付より前から始まるリクエストは、この穴埋めの行を返します。これは埋め草であり、シグナルではありません。先頭のゼロを除外するか、データ開始の日付から始めてください。BTC/ETH 以外のシンボルはさらに後にゼロ以外になるため、シンボルごとに確認してください。/liquidation/get_map | 名称 | 説明 | 許容値 | デフォルト |
|---|---|---|---|
symbolstring · query必須 | シンボル | e.g. BTCUSDT | |
price_maxfloat · query | 価格軸の上限 | 価格 | サーバーが選んだ範囲 |
price_minfloat · query | 価格軸の下限 | 価格 | サーバーが選んだ範囲 |
response = requests.get(f"{BASE_URL}/liquidation/get_map" , headers=headers, params={"symbol": "BTCUSDT"}, timeout=60)# {"data": {"price": 77554.1, "labels": [54287.9, ...], "oi_value": [57693.86, ...],# "cumsum": [1543109619.0, ...], "liquidation": {"24h": {"buy_liq": [...], "sell_liq": [...]}}}}{"data": {"price", "labels", "oi_value", "cumsum", "liquidation"}}.
| フィールド | 型 | 単位 | 説明 |
|---|---|---|---|
price | float | USDT | 現在価格 |
labels | float[] | USDT | 200 個の価格バケット |
oi_value | float[] | USD | Binance の建玉を各バケットに配分した推定値(モデルによる推定で、実際のポジションではありません) |
cumsum | float[] | USD | バケットをまたいだ累積の清算エクスポージャー |
liquidation | object | USD | {"24h": {"buy_liq": [...], "sell_liq": [...]}}:直近 24 時間に Binance で実際に発生した強制決済注文による清算をバケットごとに集計し、それぞれ Binance のシェアを 0.3 と固定で仮定して割った値です。buy_liq = ショートの清算、sell_liq = ロングの清算 |
| ステータス | レスポンスボディ | 条件 |
|---|---|---|
| 400 | {"error": "symbol is required"} | パラメータが未指定 |
/liquidation/get_map_change | 名称 | 説明 | 許容値 | デフォルト |
|---|---|---|---|
symbolstring · query必須 | シンボル | e.g. BTCUSDT | |
price_maxfloat · query | 価格軸の上限 | 価格 | サーバーが選んだ範囲 |
price_minfloat · query | 価格軸の下限 | 価格 | サーバーが選んだ範囲 |
response = requests.get(f"{BASE_URL}/liquidation/get_map_change" , headers=headers, params={"symbol": "BTCUSDT"}, timeout=60)# {"data": {"price": 77554.1, "labels": [54287.9, ...], "hist_0_1h": [0.0, ...], "hist_1_8h": [...], "hist_8_24h": [...]}}{"data": {"price", "labels", "hist_0_1h", "hist_1_8h", "hist_8_24h"}}.
| フィールド | 型 | 単位 | 説明 |
|---|---|---|---|
price | float | USDT | 現在価格 |
labels | float[] | USDT | 200 個の価格バケット(下端) |
hist_0_1h | float[] | USD | 直近 0–1 時間に新たに生じた推定清算エクスポージャー(バケットごと)。モデルによるマップのスナップショット間の正の差分であり、実際の清算ではありません |
hist_1_8h | float[] | USD | 直近 1–8 時間 |
hist_8_24h | float[] | USD | 直近 8–24 時間 |
| ステータス | レスポンスボディ | 条件 |
|---|---|---|
| 400 | {"error": "symbol is required"} | パラメータが未指定 |
/liquidation/get_coin Blave が収集するすべての取引所フィードにおける、あるコインの強制清算です。取引所別の内訳が付いた四つのローリング期間、一時間ごとの 24 点の系列、各フィードのカバー範囲に関する注記を返します。これは実際の清算フロー(get_alpha の入力と同様)であり、get_map の背後にあるモデル推定ではありません。
| 名称 | 説明 | 許容値 | デフォルト |
|---|---|---|---|
symbolstring · query必須 | コイン。決済通貨のサフィックスは取り除かれます。レスポンスの symbol は正規化されたコイン名です | BTC、BTCUSDT、btc、BTC-USDT-SWAP、BTC_USDT(≤ 32 文字) |
response = requests.get(f"{BASE_URL}/liquidation/get_coin" , headers=headers, params={"symbol": "BTC"}, timeout=30)data = response.json()["data"]day = data["windows"]["24"]print(data["symbol"], data["rank"], day["total_liq_usd"], day["long_pct"])peak = max(data["series"]["points"], key=lambda p: p["long_liq_usd"] + p["short_liq_usd"])# Live capture 2026-09-20 (abridged with ...; same payload the studio page serves):# {"data": {"symbol": "BTC", "rank": 1, "updated_at": "2026-09-20T17:15:00+00:00",# "windows": {"1": {"covered_hours": 1.0, "total_liq_usd": 3429619.97, "long_liq_usd": 129200.73, "short_liq_usd": 3300419.23,# "long_pct": 0.0377, "short_pct": 0.9623, "by_exchange": {...}},# "4": {...}, "12": {...},# "24": {"covered_hours": 24.0, "total_liq_usd": 58723607.89, "long_liq_usd": 38063430.51, "short_liq_usd": 20660177.37,# "long_pct": 0.6482, "short_pct": 0.3518,# "by_exchange": {"binance": {"long_liq_usd": 17075740.21, "short_liq_usd": 6697256.41, "total_liq_usd": 23772996.62}, ...}}},# "exchanges": [{"coverage": "sampled_1s", "exchange": "binance", "last_event_at": "2026-09-20T17:15:00+00:00", "listed": true, "price_basis": "trade_avg", "time_basis": "event"}, ... 6 rows],# "detail_complete": true,# "series": {"bucket_seconds": 3600, "points": [..., {"long_liq_usd": 60660.74, "short_liq_usd": 6129662.69, "ts": "2026-09-20T16:00:00+00:00"}, {"long_liq_usd": 95373.53, "short_liq_usd": 5473.13, "ts": "2026-09-20T17:00:00+00:00"}]}}}{"data": {"symbol", "rank", "updated_at", "windows", "exchanges", "detail_complete", "series"}}.
| フィールド | 型 | 単位 | 説明 |
|---|---|---|---|
symbol | string | — | 正規化されたコイン名。例:BTC |
rank | int / null | — | 全取引所合計の 24 時間清算額による上位 50 コイン内の順位。上位 50 の外、またはイベントがない場合は null |
updated_at | string / null | ISO 8601 UTC | 使用した最新の 5 分バケットの時刻 |
windows | object | — | キーは文字列の "1"、"4"、"12"、"24"(時間)です。それぞれ最新の 5 分バケットで終わるローリング期間で、下記のフィールドを持ちます |
windows.<h>.total_liq_usd / long_liq_usd / short_liq_usd | float | USD | 全取引所の合計。long = 清算されたロングポジション(価格が下落)、short = 清算されたショート(価格が上昇) |
windows.<h>.long_pct / short_pct | float / null | 比率 0–1 | 期間の合計に占める割合。期間の合計が 0 の場合は null |
windows.<h>.covered_hours | float | h | 期間のうち実際にバケットがある時間数(コレクターの再起動直後は < h) |
windows.<h>.by_exchange | object | USD | {exchange: {total_liq_usd, long_liq_usd, short_liq_usd}}。期間内にイベントがない取引所にはキーがありません。「フィードは稼働中で、このコインに動きがない」のか「フィードがない」のかは exchanges[] で判別してください |
exchanges[] | object[] | — | フィードごとに一行(現在は六つ。イベントがなくても含まれます)。24 時間合計の降順、次に一覧の順でソート |
exchanges[].exchange | string | — | binance, bybit, gate, okx, htx, bitfinex |
exchanges[].listed | bool / null | — | その取引所にこのコインの USDT 証拠金の無期限先物が上場しているかどうか。銘柄リストを取得できなかった場合は null(Bitfinex は常に null) |
exchanges[].last_event_at | string / null | ISO 8601 UTC | そのフィードで確認された最新のバケット(コインを問いません)。一度も確認されていない場合は null |
exchanges[].price_basis | string | — | USD 換算に使う価格:trade_avg、bankruptcy、unverified |
exchanges[].coverage | string | — | フィードの完全性:full、full_unstated、sampled_1s、aggregated_1s、sampled_undisclosed |
exchanges[].time_basis | string | — | event:イベント自体のタイムスタンプでバケットに振り分けます |
detail_complete | bool | — | バケットごとの詳細リストからこのコインが切り捨てられた可能性がある場合は false(各フィードは 5 分バケットごとに上位 100 コインを保持します)。その場合、windows は実際より少なくなることがあります。上位 50 のコインはほぼ常に true です |
series.bucket_seconds | int | s | 常に 3600 |
series.points | object[] | — | 常に 24 要素、古い順 → 新しい順、正時区切りです。最後の要素は updated_at までの現在の時間帯です(スナップショットは 5 分ごとに再構築されるため、リクエストより数分遅れることがあります)。各要素は {ts, long_liq_usd, short_liq_usd} です。イベントのない時間帯は 0 で、欠けることはありません |
windows["24"] は取引所マトリクスと同じローリング期間なので、同じコインの 24 時間の数値は両方で一致します。series は正時区切りなので、仕様上 Σ points ≠ windows["24"] です。合計は windows から、時間推移は series から取ってください。
| ステータス | レスポンスボディ | 条件 |
|---|---|---|
| 400 | {"error": "symbol is required"} | symbol が未指定、空白、32 文字超、または決済通貨のサフィックスを取り除くと何も残らない(例:symbol=USDT) |
| 404 | {"error": "<SYMBOL> is not a collected symbol"} | どの取引所にもこのコインが上場しておらず、直近 24 時間にどのフィードからも報告がない場合。これは確定した回答であり、一時的なエラーではありません |
| 503 | {"error": "liquidation data unavailable"} | アップストリームのバケットが応答しませんでした。後で再試行してください。「清算 0 件」と読まないでください |
start_date/end_date はなく、24 時間より前のデータもありません。履歴には get_alpha を使ってください(正規化されたロング/ショートの偏りで、USD の金額ではありません)。get_alpha/get_map は Binance の無期限先物の形式(BTCUSDT)が必要ですが、ここでは BTC と BTCUSDT は同じコインです。/liquidation/get_exchanges 市場全体の強制清算を、取引所ごと、およびコイン × 取引所のマトリクスとして集計します。/liquidation/get_coin の市場全体版です。5 分単位に整列した同じローリング期間を使うため、コインの 24 時間合計は両方で同じ数値になります。
| 名称 | 説明 | 許容値 | デフォルト |
|---|---|---|---|
hoursint · query | 期間の長さ。範囲外 → 400(切り詰めはしません)。整数でない値は通知なしで既定値にフォールバックします | 1–168 | 24 |
top_nint · query | 個別に列挙するコインの数。残りは others に入ります。範囲と整数以外の値に関するルールは hours と同じです | 1–50 | 10 |
params = {"hours": 24, "top_n": 10}data = requests.get(f"{BASE_URL}/liquidation/get_exchanges" , headers=headers, params=params, timeout=30).json()["data"]print(data["total"]["total_liq_usd"], data["total"]["short_pct"])print([(e["exchange"], e["total_liq_usd"], e["coverage"]) for e in data["exchanges"]])# Live capture 2026-09-22 (abridged with ...; anonymous studio twin /studio/charts/liquidation/exchanges,# same inner shape — the API-key response wraps it in "data" and allows top_n up to 50):# {"exchanges": [{"exchange": "binance", "total_liq_usd": 390250999.16, "long_liq_usd": 69367041.38,# "short_liq_usd": 320883957.78, "long_pct": 0.1777, "short_pct": 0.8223, "events": 46200,# "last_event_at": "2026-09-22T05:50:00+00:00", "price_basis": "trade_avg",# "coverage": "sampled_1s", "time_basis": "event"}, ... 6 rows],# "coins": [{"token": "BTC", "token_id": 1, "total_liq_usd": 397165128.6, "long_liq_usd": 68908479.16,# "short_liq_usd": 328256649.44,# "by_exchange": {"binance": {"long_liq_usd": 17994806.07, "short_liq_usd": 173732353.71,# "total_liq_usd": 191727159.78}, ... 6 exchanges}}, ... 10 coins],# "others": {"coin_count": 835, "total_liq_usd": 82658628.27, "long_liq_usd": 34622797.57,# "short_liq_usd": 48035830.7, "by_exchange": {...}},# "total": {"total_liq_usd": 743631889.64, "long_liq_usd": 175240866.53, "short_liq_usd": 568391023.1,# "long_pct": 0.2357, "short_pct": 0.7643},# "buckets": 1846, "covered_hours": 24.0, "window_hours": 24,# "window_start": "2026-09-21T05:55:00+00:00", "window_end": "2026-09-22T05:55:00+00:00",# "updated_at": "2026-09-22T05:50:00+00:00"}{"data": {"exchanges", "coins", "others", "total", "buckets", "covered_hours", "window_hours", "window_start", "window_end", "updated_at"}}.
| フィールド | 型 | 単位 | 説明 |
|---|---|---|---|
exchanges[] | object[] | — | フィードごとに一行、合計の降順:exchange、total_liq_usd、long_liq_usd、short_liq_usd、long_pct、short_pct、events、last_event_at。すべてのフィードが常に列挙されます。金額が null = 期間内にそのフィードからデータを受信していない(末尾に並びます)、0.0 = 接続済みだが清算なし |
exchanges[].price_basis / .coverage / .time_basis | string | — | その行の比較可能性:trade_avg/bankruptcy/unverified、full、full_unstated、sampled_1s、aggregated_1s、sampled_undisclosed、event。数値を再公開する場合は、これらを併記してください。サンプリングされたフィードは完全なフィードとは異なります |
coins[] | object[] | — | 全取引所合計の上位 top_n:token、token_id(シンボルにトークン ID がない場合は 0)、total_liq_usd、long_liq_usd、short_liq_usd、by_exchange{name: {total/long/short_liq_usd}}。by_exchange は疎で、そのコインのデータがないフィードにはキーがありません。そのフィードの exchanges[] の合計が null でなければ 0 として読んでください |
others | object | — | top_n で切り捨てられた残りすべて。同じフィールドに coin_count が加わります。そのため coins[] + others は各取引所の合計と一致します |
total | object | USD/比率 | total_liq_usd, long_liq_usd, short_liq_usd, long_pct, short_pct |
covered_hours | float | h | 期間のうち実際にバケットがある時間数(コレクターの再起動直後は < hours) |
buckets | int | — | 集計した 5 分バケットの数 |
window_hours / window_start / window_end | int / string | 時間/ISO 8601 UTC | サーバーが解決した期間 |
updated_at | string | ISO 8601 UTC | 使用した最新のバケット |
long_liq_usd = 清算されたロングポジション(価格が下落)、short_liq_usd = 清算されたショート(価格が上昇)。
| ステータス | レスポンスボディ | 条件 |
|---|---|---|
| 400 | {"error": "hours must be between 1 and 168"} / {"error": "top_n must be between 1 and 50"} | パラメータが範囲外 |
200 を返し、すべての金額が null、buckets: 0 になります。ゼロの表になることはありません。数値を使う前に total.total_liq_usd を確認してください。/liquidation/get_coin、正規化された長期のシグナルは /liquidation/get_alpha です。/liquidation/get_coin が windows["24"] に使うものと同じです。/long_short_ratio/get_table 収集しているすべてのコイン × すべてのロング・ショート比率ソースの現時点の値です。十のソース:Binance、OKX、Gate.io はそれぞれ三種類(全口座、トップトレーダーの口座、トップトレーダーのポジション)を公表し、Bybit は口座のみを公表します。行は Binance の建玉の名目額の順に並びます。Blave のトークンリストの項目に解決できるコインだけが含まれます。API キーでのレスポンスは表全体(full: true)で、匿名の Studio 版は 30 コインのホワイトリストの行だけです。
なし。
data = requests.get(f"{BASE_URL}/long_short_ratio/get_table" , headers=headers, timeout=30).json()["data"]keys = [s["key"] for s in data["sources"] if not s["stale"]]btc = next(c for c in data["coins"] if c["token"] == "BTC")print({k: btc[k] for k in keys if btc[k] is not None})# Live capture 2026-09-22 via the anonymous studio twin (/studio/charts/long_short_ratio/table) —# same inner shape; the API-key response wraps it in "data" and has full: true with every row.# {"coins": [{"binance_account": 0.8818, "binance_top_account": 1.0149, "binance_top_position": 2.2666,# "bybit_account": 1.0375, "gate_account": 0.7294, "gate_top_account": 0.6944,# "gate_top_position": 1.6436, "okx_account": 0.9084, "okx_top_account": 0.8655,# "okx_top_position": 1.0222, "token": "BTC", "token_id": 1}, ...],# "sources": [{"exchange": "binance", "key": "binance_account", "last_at": "2026-09-22T05:50:00+00:00",# "stale": false, "type": "account"}, ...,# {"exchange": "bybit", "key": "bybit_account", "last_at": "2026-09-22T05:50:00+00:00",# "stale": false, "type": "account"}],# "summary": {"binance_long_majority": 436, "binance_tokens": 509},# "tokens_shown": 30, "tokens_total": 611, "full": false, "updated_at": "2026-09-22T05:50:00+00:00"}収集開始(最初に保存されたバケット。BTC で 2026-09-22 に計測)
| ソースキー | 収集開始 |
|---|---|
binance_account | 2021-05-11 |
binance_top_account / binance_top_position | 2026-08-22 |
okx_account / okx_top_account / okx_top_position | 2025-02-18 |
gate_account / gate_top_account / gate_top_position | 2026-08-12 |
bybit_account | 2026-08-12 |
現在はどのソースも、このデータセットが提供する 7 日より長く収集されているため、クエリの制約になるソースはありません。これらの日付が意味を持つのは、あるソースに「履歴がない」と言われた場合だけです。
{"data": {"coins", "sources", "summary", "tokens_shown", "tokens_total", "full", "updated_at"}}.
| フィールド | 型 | 単位 | 説明 |
|---|---|---|---|
coins[] | object[] | — | コインごとに一行:token、token_id、およびソースキーごとの値 |
coins[].<source key> | float / null | 比率 | ロングの口座(またはポジション)÷ ショート。null = その取引所にこのコインの該当フィードがない。ロングの割合 = r / (1 + r)。API では事前に計算しません |
sources[] | object[] | — | 十のフィード(列の順)。キーのリストをハードコードせず、必ずこれを読んでください |
sources[].key | string | — | <exchange>_<type>。例:binance_top_position。coins[] で使うキーです |
sources[].exchange / .type | string | — | binance / okx / gate / bybit; account / top_account / top_position |
sources[].last_at | string | ISO 8601 UTC | そのフィードの最新サンプル |
sources[].stale | bool | — | そのフィードの最新サンプルが 1 時間以上前のものです(現在時刻との比較)。トップレベルの updated_at は最も新しいソースの時刻で、個々のソースについては何も示しません。ソースはそれぞれの last_at/stale で判断してください |
summary.binance_tokens / .binance_long_majority | int | — | Binance の口座比率があるコインの数/そのうち 1 を超えるものの数。表示された行ではなく、表全体で計算します |
tokens_shown / tokens_total | int | — | 返された行数/表の行数。API キーでは等しくなります |
full | bool | — | API キーでは true、匿名の Studio 版では false |
updated_at | string | ISO 8601 UTC | 全ソースの中で最新のバケット |
「トップトレーダー」の母集団は取引所ごとに異なります。取引所間で水準を比較しないでください。
| 取引所 | トップトレーダーの定義(公式の原文) |
|---|---|
| Binance | "the top 20% users with the highest margin balance" |
| OKX | "the top 5% of traders with the largest open position value" |
| Gate.io | 非公表。ドキュメントにはフィールド名しか記載がありません |
したがって、binance_top_account が okx_top_account より高くても、どちらの取引所の大口トレーダーがよりロングに傾いているかは分かりません。各ソースをそのソース自身の履歴と比較してください。
| ステータス | レスポンスボディ | 条件 |
|---|---|---|
| 503 | {"error": "long short ratio data unavailable"} | 新しいスナップショットがありません。後で再試行してください。市場が空であると読まないでください |
/long_short_ratio/get_coin(7 日)を使ってください。このデータセットに長期履歴のエンドポイントはありません。/long_short_ratio/get_coin 一つのコインについて、十のソースすべてを返します。各ソースの最新の 5 分の値、ソースごとの 7 日分の一時間ごとの系列、同じ時間軸での Binance の無期限先物の終値です。
| 名称 | 説明 | 許容値 | デフォルト |
|---|---|---|---|
symbolstring · query必須 | コイン。決済通貨のサフィックスは取り除かれます。レスポンスの symbol は正規化されたコイン名です | BTC、BTCUSDT、btc(≤ 32 文字) |
params = {"symbol": "BTC"}data = requests.get(f"{BASE_URL}/long_short_ratio/get_coin" , headers=headers, params=params, timeout=30).json()["data"]latest = data["latest"]["binance_top_position"] # null when Binance does not list the coinif latest is not None: r = latest["value"] print("top-trader long share:", round(r / (1 + r), 4))# Live capture 2026-09-22 (abridged with ...; anonymous studio twin, same inner shape):# {"latest": {"binance_account": {"ts": "2026-09-22T05:50:00+00:00", "value": 0.8818},# "binance_top_account": {"ts": "2026-09-22T05:50:00+00:00", "value": 1.0149}, ... 10 keys},# "series": {"bucket_seconds": 3600, "days": 7, "price_symbol": "BTCUSDT", "price_multiplier": 1,# "provisional_from": 1790053200,# "timestamp": [..., 1790049600, 1790053200],# "binance_account": [..., 0.8699, 0.8818], "price": [..., 85424.7, 85495.8], ... one array per source},# "sources": [{"exchange": "binance", "key": "binance_account", "last_at": "2026-09-22T05:50:00+00:00",# "listed": true, "stale": false, "type": "account"}, ... 10 rows],# "symbol": "BTC", "token_id": 1, "updated_at": "2026-09-22T05:50:00+00:00"}{"data": {"latest", "series", "sources", "symbol", "token_id", "updated_at"}}.
| フィールド | 型 | 単位 | 説明 |
|---|---|---|---|
latest.<source key> | object / null | — | {value, ts}:そのソースの最新の 5 分サンプル。ソースにこのコインがない場合は null |
series.bucket_seconds / .days | int | s / d | 3600 / 7 |
series.timestamp | int[] | エポック秒 | 168 スロット、古い順 → 新しい順、一時間ごとに一つ |
series.<source key> | float[] / null | 比率 | 各時間帯の最後のサンプル。サンプルのない時間帯は null。このコインがないソースでは、フィールド全体が(配列ではなく)単一の null になります |
series.price | float[] / null | USD | 同じ時間軸での Binance の無期限先物の終値。このコインに Binance の無期限先物がない場合は単一の null(price_symbol/price_multiplier も null) |
series.price_symbol / .price_multiplier | string / int | — | 価格の取得元の無期限先物と、その取引単位の倍率(1000PEPEUSDT → 1000。price ÷ price_multiplier = コインあたりの価格) |
series.provisional_from | int / null | エポック秒 | まだ変わる可能性のある最初のスロット(ソースの確定は最大で約 10 分遅れます)。どのソースにもデータがない場合は null |
sources[] | object[] | — | ソースの一覧全体。テーブルと同じフィールドに listed が加わります |
sources[].listed | bool | — | false = その取引所にこのコインの該当フィードがない。その latest と series の要素は null です |
symbol / token_id / updated_at | — | — | テーブルと同じ |
| ステータス | レスポンスボディ | 条件 |
|---|---|---|
| 400 | {"error": "symbol is required"} | symbol が未指定、空白、32 文字超、または決済通貨のサフィックスを取り除くと何も残らない |
| 404 | {"error": "<SYMBOL> is not a collected symbol"} | このコインを収集しているソースがない場合。これは確定した回答であり、一時的なエラーではありません |
| 503 | {"error": "long short ratio data unavailable"} | 上場しているソースを読み取れませんでした。null は「その取引所に上場していない」という意味にしかなりません |
/long_short_ratio/get_table に記載した、取引所間の「トップトレーダー」に関する注意点はここにも当てはまります。start_date/end_date はありません。/studio/charts/...)は、キーなしで同じビルダーから同じペイロードを返します。ここに載せた例はそこから取得したものです。これは API キーのエンドポイントの代わりにはなりません。表は 30 コインに切り詰められ(full: false)、Studio のホワイトリストにないコインはデータの代わりに 403 {"error_code": "ERR001", ..., "anon_whitelist": [...]} を返します。ここに記載した API キーのエンドポイントには、ホワイトリストも行の切り詰めもありません。/oi_imbalance/get_table 収集しているすべてのコイン × 五つの取引所の値を、USD の名目額で返します。基準:USDT 証拠金の無期限先物のみ、USD の名目額、片側。両側を報告する取引所は半分にします(exchanges[].side_factor、Gate.io = 0.5)。どの値もすでに USD の名目額なので、倍率付きの銘柄(1000PEPE など)も換算なしで取引所間の合計ができます。
なし。
data = requests.get(f"{BASE_URL}/oi_imbalance/get_table" , headers=headers, timeout=30).json()["data"]crowded = sorted((c for c in data["coins"] if c["oi_mcap"] is not None), key=lambda c: -c["oi_mcap"])[:10]print(data["total"]["oi"], [(c["token"], round(c["oi_mcap"], 4)) for c in crowded])# Live capture 2026-09-22 (abridged with ...; anonymous studio twin, same inner shape):# {"coins": [{"token": "BTC", "token_id": 1, "oi_total": 18645450917.48, "chg_1h": -0.001775,# "chg_4h": -0.001046, "chg_24h": 0.128725, "market_cap": 1629947967503.241, "oi_mcap": 0.011439,# "by_exchange": {"binance": {"oi": 9417422808.02, "chg_1h": 2e-05, "chg_4h": 0.010203, "chg_24h": 0.067527},# "bingx": {"oi": 1328003926.8, ...},# "bybit": {"oi": 2569097877.96, "chg_1h": -0.008636, "chg_4h": -0.030159, "chg_24h": null},# "gate": {...}, "okx": {"oi": 2575361192.92, ..., "chg_24h": null}}}, ...],# "exchanges": [{"key": "binance", "oi": 24712717530.01, "side_factor": 1.0, "since": null, "full_7d": true,# "last_at": "2026-09-22T05:25:00+00:00", "stale": false}, ... 5 rows],# "total": {"oi": 47428938620.05, "chg_1h": -0.008919, "chg_4h": -0.010508, "chg_24h": 0.073881,# "n_exchanges": 5, "n_full_7d": 3},# "summary": {"oi_mcap_leader": "SAGA", "oi_mcap_leader_value": 1.718336},# "tokens_shown": 30, "tokens_total": 622, "full": false, "updated_at": "2026-09-22T05:30:00+00:00"}収集開始(最初に保存されたバケット。BTC で 2026-09-22 に計測)
| 取引所 | 収集開始 |
|---|---|
binance | 2021-12-01 |
bingx | 2025-04-15 |
gate | 2026-08-12 |
okx | 2026-09-21 |
bybit | 2026-09-21 |
n_full_7d が 5 のうち 3 であること、および 2026-09-22 時点で OKX と Bybit の chg_24h がまだ null だったことは、この二つの取引所が原因です。これらの日付はいずれ意味を持たなくなるため、日付ではなく exchanges[].since/full_7d を読んでください。
{"data": {"coins", "exchanges", "total", "summary", "tokens_shown", "tokens_total", "full", "updated_at"}}.
| フィールド | 型 | 単位 | 説明 |
|---|---|---|---|
coins[].token / .token_id | string / int | — | コイン |
coins[].oi_total | float | USD | 五つの取引所の合計 |
coins[].chg_1h / .chg_4h / .chg_24h | float / null | 小数 | 小数で表した変化率(0.0675 = +6.75 %)。各期間では、その期間の開始時点に基準値がある取引所だけを数え、分子と分母に同じ集合を使います。該当する取引所がない場合は null |
coins[].market_cap | float / null | USD | 時価総額。使える値がない場合は null |
coins[].oi_mcap | float / null | 比率 | oi_total ÷ market_cap。そのトークンに時価総額がない場合は null |
coins[].by_exchange | object | — | {exchange: {oi, chg_1h, chg_4h, chg_24h}}、取引所ごとに一つのキー。その取引所にコインが上場していない場合は null。期間ごとの null は、その取引所にそこまで遡る基準値がないこと、つまりフィードの収集期間がその期間より短いことを意味します |
exchanges[] | object[] | — | binance、okx、bingx、bybit、gate:市場全体の oi、side_factor、since、full_7d、last_at、stale |
exchanges[].since / .full_7d | string / bool | 日付 | 履歴が 7 日未満のフィード(full_7d: false)ではその初日、それ以外は null/true。このテーブルでは参考情報です(7 日の期間がないため)。/oi_imbalance/get_coin では、このようなフィードには 7 d の基準値がなく、series.total から除外されます |
total | object | — | 市場全体の oi、chg_1h/4h/24h、n_exchanges、n_full_7d |
summary.oi_mcap_leader / _value | string / float | — | 建玉の上位 100 コインの中で最も高い建玉 ÷ 時価総額 |
tokens_shown / tokens_total / full / updated_at | — | — | ロング・ショート比率テーブルと同じ |
OI 失衡の指標とは別の数値です。/oi_imbalance/get_overview_data(およびスクリーナーの条件やアラートの背後にある oi_imbalance の alpha)は、Binance + OKX + BingX の三取引所の集計です。このテーブルは、上記の基準による五取引所の値です。二つの oi_total は値が異なるため、片方で調整したしきい値をもう片方に流用することはできません。
| ステータス | レスポンスボディ | 条件 |
|---|---|---|
| 503 | {"error": "open interest data unavailable"} | ジョブに新しい結果がありません(結果がない、または一時間以上前のもの)。ゼロの表になることはありません |
chg_24h: null は、収集期間が短いフィードに関するルールによるもので、市場データの欠落ではありません。この二つは 2026-09-21 に収集を始めたため、まだ 24 時間の基準値がありませんでした。/oi_imbalance/get_coin、一つのコイン・一つの取引所でバックテストに使える長さの履歴は /oi_imbalance/get_history です。/oi_imbalance/get_coin 一つのコインの取引所別の建玉を、テーブルと同じ基準で返します。現在値とシェア、四つの変化期間とそれぞれで数えた取引所、7 日分の一時間ごとの合計の系列です。
symbol。/long_short_ratio/get_coin とまったく同じです。
data = requests.get(f"{BASE_URL}/oi_imbalance/get_coin" , headers=headers, params={"symbol": "BTC"}, timeout=30).json()["data"]day = data["windows"]["24h"]print(data["oi_total"], day["chg"], "counted:", day["exchanges"])# Live capture 2026-09-22 (abridged with ...; anonymous studio twin, same inner shape):# {"exchanges": [{"key": "binance", "oi": 9454606424.48, "share": 0.5055, "chg_1h": 0.00037, "chg_4h": 0.014471,# "chg_24h": 0.064607, "chg_7d": 0.17205, "side_factor": 1.0, "listed": true, "since": null,# "full_7d": true, "last_at": "2026-09-22T05:50:00+00:00", "stale": false},# {"key": "okx", ..., "since": "2026-09-21", "full_7d": false}, ... 5 rows],# "windows": {"1h": {"chg": -0.000462, "chg_usd": -8636171.48, "exchanges": ["binance", "okx", "bingx", "bybit", "gate"]},# "4h": {...},# "24h": {"chg": 0.12231, "chg_usd": 1474912315.85, "exchanges": ["binance", "bingx", "gate"]},# "7d": {"chg": 0.212184, "chg_usd": 2368974857.56, "exchanges": ["binance", "bingx", "gate"]}},# "series": {"bucket_seconds": 3600, "days": 7, "timestamp": [1789452000, 1789455600, ...],# "total": [11171863169.89, 11167043101.84, ...], "total_exchanges": ["binance", "bingx", "gate"],# "price": [...], "price_symbol": "BTCUSDT", "price_multiplier": 1, "provisional_from": 1790053200},# "oi_total": 18704068031.08, "market_cap": 1629947967503.241, "oi_mcap": 0.011475, "oi_mcap_rank": 580,# "tokens_total": 622, "symbol": "BTC", "token_id": 1, "updated_at": "2026-09-22T05:55:00+00:00"}{"data": {"exchanges", "windows", "series", "oi_total", "market_cap", "oi_mcap", "oi_mcap_rank", "tokens_total", "symbol", "token_id", "updated_at"}}.
| フィールド | 型 | 単位 | 説明 |
|---|---|---|---|
exchanges[] | object[] | — | 五取引所すべての一覧:key、oi(USD)、share(oi_total に占める割合)、chg_1h/4h/24h/7d、side_factor、listed、since、full_7d、last_at、stale |
exchanges[].listed | bool | — | false = その取引所にコインが上場していない。その値は null です |
oi_total / market_cap / oi_mcap | float | USD/比率 | テーブルと同じ |
oi_mcap_rank / tokens_total | int / null | — | テーブルのジョブの直近の実行における oi_mcap の順位。そのジョブに新しい結果がない場合は null |
windows.<1h|4h|24h|7d>.chg / .chg_usd | float / null | 小数/USD | 数えた取引所の合計の変化 |
windows.<w>.exchanges | string[] | — | その期間で数えた取引所。収集期間が短いフィードは含まれないため、24 時間/7 日は 1 時間より取引所の数が少なくなることがあります |
series.timestamp | int[] | エポック秒 | 一時間ごとの 168 スロット、古い順 → 新しい順 |
series.total | float[] / null | USD | スロットごとの建玉の合計。この系列に含まれるのは series.total_exchanges(full_7d のフィード)だけなので、水準を oi_total と比較することはできません。それらの取引所のいずれかにその時間帯のサンプルがない場合、スロットは null です。このコインで full_7d の取引所が一つもない場合は、フィールド全体が null になります |
series.total_exchanges | string[] | — | この系列が合計している取引所 |
series.price / .price_symbol / .price_multiplier / .provisional_from | — | — | /long_short_ratio/get_coin と同じ |
400/404/503 は /long_short_ratio/get_coin とまったく同じです。503 では {"error": "open interest data unavailable"} を返します。
windows["1h"]["exchanges"] が五要素で windows["24h"] が三要素なのは、収集期間が短いフィードに関するルールによるもので、データの欠落ではありません。期間同士を比較する前に、このリストを確認してください。/oi_imbalance/get_table に記載した OI 失衡に関する注意点は、この oi_total にも当てはまります。/oi_imbalance/get_history を使ってください(取引所は一つ、単位は USD ではなくコイン数量で、oi_total とは基準が異なります)。/oi_imbalance/get_history 一つのコインの一つの取引所における建玉を、バックテストに使える時系列として返します。Studio のダッシュボードにある未平倉量カードと同じ基準です。alpha は片側の建玉をコイン数量で表したもので、USD ではありません。倍率付きの銘柄はコイン数量に戻して換算します(1000PEPE は PEPE の数量を返します)。各バケットはその期間の最後の値です。建玉は残高であり、合計することはありません。
| 名称 | 説明 | 許容値 | デフォルト |
|---|---|---|---|
symbolstring · query必須 | コイン。ルールは /oi_imbalance/get_coin と同じ | BTC, BTCUSDT, btc | |
periodstring · query必須 | バケットの長さ。1w は 400 です(単位が非対応)。1m は 1min として解釈され、5min 未満になるため 400 です | {n}min/{n}h/{n}d、最小は 5min(例:5min、1h、4h、1d) | |
start_datestring · query | 開始日(当日を含む) | YYYY-MM-DD(UTC) | end_date − 365 日 |
end_datestring · query | 終了日(当日を含む) | YYYY-MM-DD(UTC) | 今日 |
oi_exchangestring · query | どの取引所の建玉を読むか | binance、bybit、gate(大文字・小文字を区別しません) | binance |
リクエストあたりの期間:最大 365 日。それより長い範囲は、/kline と同様に通知なしで切り詰められます(start_date が end_date − 365 日に移動し、エラーにはなりません)。
params = {"symbol": "BTC", "period": "1d", "start_date": "2022-01-01", "end_date": "2022-01-03"}data = requests.get(f"{BASE_URL}/oi_imbalance/get_history" , headers=headers, params=params, timeout=120).json()["data"]# Live capture 2026-10-02:# {"data": {"alpha": [72913.725, 73310.482, 79515.424], "close": [47704.35, 47280.0, 46445.81],# "exchanges": ["binance"], "timestamp": [1640995200.0, 1641081600.0, 1641168000.0]}}params = {"symbol": "SOL", "period": "4h", "oi_exchange": "bybit", "start_date": "2026-09-30", "end_date": "2026-09-30"}# {"data": {"alpha": [3443506.2, 3344470.1, 3269534.6, 3108222.6, 3082040.9, 3042368.1],# "close": [119.08, 118.41, 119.47, 119.25, 117.17, 118.05], "exchanges": ["bybit"],# "timestamp": [1790726400.0, 1790740800.0, 1790755200.0, 1790769600.0, 1790784000.0, 1790798400.0]}}params = {"symbol": "1000PEPE", "period": "1d", "start_date": "2026-09-01", "end_date": "2026-09-02"}# alpha is PEPE coins; close is per 1000 PEPE, so USD OI = alpha × close / 1000# {"data": {"alpha": [19073240707000.0, 17615934147000.0], "close": [0.0034752, 0.0034306],# "exchanges": ["binance"], "timestamp": [1788220800.0, 1788307200.0]}}{"data": {"timestamp", "alpha", "close", "exchanges"}}、並列の配列、古い順 → 新しい順。
| フィールド | 型 | 単位 | 説明 |
|---|---|---|---|
timestamp | float[] | Unix 秒(UTC) | バケットの開始時刻 |
alpha | float[] | コイン数量 | oi_exchange における片側の建玉。バケットの最後の値 |
close | float[] | USDT | Binance の USDT-M 無期限先物の価格。取引単位あたりの価格なので、1000PEPE では 1000 コインあたりです |
exchanges | string[] | — | 実際に読み取った取引所。例:["binance"] |
倍率付きの銘柄では、alpha × close は USD 建ての建玉になりません。その場合の close は取引単位あたりの価格(1000PEPE では 1000 コインあたり)ですが、alpha はコイン単位です。先に close を倍率で割ってください。BTC のような倍率のない銘柄では、alpha × close ≈ USD 建ての建玉です。
Gate.io:必ず start_date ≥ 2026-03-28 を送ってください。既定の期間(end_date − 365 日)は Gate の履歴より前から始まるため、400 になります。
/oi_imbalance/get_table/get_coin(五取引所の合計、USD)とも、OI 失衡の指標(/oi_imbalance/get_overview_data)とも別の数値です。
| ステータス | レスポンスボディ | 条件 |
|---|---|---|
| 400 | {"error": "symbol is required"} / {"error": "period is required"} | 未指定(ここでは 400 で、指標エンドポイントの 403 とは異なります) |
| 400 | {"error": "period must be at least 5min, in min / h / d units"} | period が 5min 未満(1min として解釈される 1m を含む)、または min/h/d 以外の単位(1w) |
| 400 | {"error": "invalid date format, expected YYYY-MM-DD"} | start_date/end_date の形式が不正 |
| 400 | {"error": "start_date must not be after end_date"} | start_date > end_date |
| 400 | {"error": "oi_exchange must be one of binance, bybit, gate"} | oi_exchange がリストにない |
| 400 | {"error": "no <exchange> open interest for <TOKEN> at start_date; this exchange's history may start later — try a later start_date"} | 期間がその取引所の履歴より前から始まっています(データ開始を参照)。start_date を指定しない場合、oi_exchange=gate は必ずこのエラーになります(履歴が 365 日を超える ≈ 2027-03 まで)。Gate では必ず start_date ≥ 2026-03-28 を送ってください |
| 404 | {"error": "<TOKEN> is not a collected symbol on <exchange>"} | その取引所にコインが上場していない、コインに Binance の無期限先物がない、または上場廃止の場合。これは確定した回答であり、一時的なエラーではありません |
| 503 | {"error": "<exchange> open interest data unavailable for <TOKEN>"} | 現在データを読み取れません。再試行してください |
close は Binance の USDT-M 無期限先物の価格です。200 は、その期間にバケットがないことを意味します(例:コインの上場がその後だった場合)。恒久的な「データなし」としてキャッシュしないでください。end_date が今日の場合、最後のバケットはその期間が確定するまで変化し続けます。/taker_intensity/get_cvd_table コインごとのテイカー(成行注文)の買いと売りの売買代金を、USD 建てで三つの取引所について返します。Binance は 5 分足のテイカー買いの決済通貨建て出来高から(売り = その足の合計からこれを引いた値)、OKX は USD 建てのテイカー出来高から、Gate.io はテイカーの枚数 × 同じ行の倍率とマーク価格から算出します。無期限先物のみで、現物は含みません。また、約定ごとのデータではなく 5 分足から集計しています。各取引所が自ら報告した売買代金を使い、出来高に他の取引所の価格を掛けることはありません。
なし。
data = requests.get(f"{BASE_URL}/taker_intensity/get_cvd_table" , headers=headers, timeout=30).json()["data"]buying = sorted((c for c in data["coins"] if c["net_24h"] is not None), key=lambda c: -c["net_24h"])[:10]print(data["total"]["net_24h"], [(c["token"], c["net_24h"]) for c in buying])# Live capture 2026-09-22 (abridged with ...; anonymous studio twin, same inner shape):# {"coins": [{"token": "BTC", "token_id": 1, "buy_24h": 24607245298.03, "sell_24h": 23128502231.73,# "net_1h": -212647361.27, "net_4h": -207128163.51, "net_24h": 1478743066.31,# "by_exchange": {"binance": {"buy_24h": 12663681424.94, "sell_24h": 12135756153.44,# "net_1h": -191133129.94, "net_4h": -217337267.5, "net_24h": 527925271.5},# "gate": {...}, "okx": {...}}}, ...],# "exchanges": [{"key": "binance", "buy_24h": 34978603608.55, "sell_24h": 35112588381.38,# "net_24h": -133984772.74, "last_at": "2026-09-22T05:25:00+00:00", "stale": false}, ... 3 rows],# "total": {"buy_24h": 63543431942.93, "sell_24h": 62491177680.21, "net_24h": 1052254262.8},# "tokens_shown": 30, "tokens_total": 591, "full": false, "updated_at": "2026-09-22T05:25:00+00:00"}収集開始(最初に保存されたバケット。BTC で 2026-09-22 に計測)
| 取引所 | ソースのフィールド | 収集開始 |
|---|---|---|
binance | 5 分足の kline(テイカー買いの売買代金) | 2020-01-01 |
gate | contract_stats | 2026-08-12 |
okx | taker_volume_usd | 2026-09-21 |
OKX はさらに、取引所側が 5 日分しか保持しないという制約があるため、その日付の一週間後まで full_7d: false のままです。このテーブルには since/full_7d がありません(7 日の期間がないため)。これらの日付からではなく、/taker_intensity/get_cvd_coin の exchanges[] からコインごとに読んでください。
{"data": {"coins", "exchanges", "total", "tokens_shown", "tokens_total", "full", "updated_at"}}.
| フィールド | 型 | 単位 | 説明 |
|---|---|---|---|
coins[].token / .token_id | string / int | — | コイン |
coins[].buy_24h / .sell_24h | float / null | USD | ローリングの 24 時間におけるテイカーの買い/売りの売買代金。そのコインの、データが古くなっていない取引所の合計です。すべての取引所でデータが古い場合は null |
coins[].net_1h / .net_4h / .net_24h | float / null | USD | 各ローリング期間における buy − sell(null のルールは同じ) |
coins[].by_exchange | object | — | {exchange: {buy_24h, sell_24h, net_1h, net_4h, net_24h}}、取引所ごとに一つのキー。その取引所にコインが上場していない場合、またはその取引所のデータが古い場合は null |
exchanges[] | object[] | — | binance、okx、gate:市場全体の buy_24h、sell_24h、net_24h、last_at、stale |
exchanges[].stale | bool | — | そのフィードの最後の足が一時間以上前のものです。その期間の値は null で返り、期間の一部しかカバーしない合計を黙って加える代わりに、合計から除外されます |
total | object | USD | データが新しい取引所を対象とした、市場全体の buy_24h、sell_24h、net_24h |
tokens_shown / tokens_total / full / updated_at | — | — | 他の生データテーブルと同じ |
| ステータス | レスポンスボディ | 条件 |
|---|---|---|
| 503 | {"error": "cvd data unavailable"} | ジョブに新しい結果がありません。ゼロになることはありません |
taker_intensity の alpha(/taker_intensity/get_alpha)とは異なります。そちらは数年分の履歴を持つ、Z スコアに近い正規化されたシグナルです。こちらは現時点の USD 建て売買代金の生データです。net_24h は暦日ではありません。/taker_intensity/get_cvd_coin 一つのコインの取引所別のテイカー買い/売り/差引(テーブルと同じ基準)に加え、7 日分の一時間ごとの差引とその累計、つまり CVD の系列そのものを返します。
symbol。/long_short_ratio/get_coin とまったく同じです。
data = requests.get(f"{BASE_URL}/taker_intensity/get_cvd_coin" , headers=headers, params={"symbol": "BTC"}, timeout=30).json()["data"]print(data["windows"]["24h"]["net"], "line covers:", data["series"]["exchanges"], "last cvd:", data["series"]["cvd"][-1])# Live capture 2026-09-22 (abridged with ...; anonymous studio twin, same inner shape):# {"exchanges": [{"key": "binance", "listed": true, "since": null, "full_7d": true, "stale": false,# "last_at": "2026-09-22T05:50:00+00:00",# "windows": {"1h": {"buy": 334079345.8, "sell": 432484304.99, "net": -98404959.2},# "4h": {...}, "24h": {"buy": 12764594401.23, "sell": 12156150828.71, "net": 608443572.52},# "7d": {"buy": 48395824125.78, "sell": 48033568140.24, "net": 362255985.54}}},# {"key": "okx", "full_7d": false, "since": "2026-09-21", ...}, {"key": "gate", ...}],# "windows": {"1h": {"buy": 661443769.03, "sell": 760343818.66, "net": -98900049.65}, "4h": {...},# "24h": {"buy": 24795988390.84, "sell": 23206873390.07, "net": 1589115000.77},# "7d": {"buy": 69832361511.62, "sell": 68794205279.31, "net": 1038156232.31}},# "series": {"bucket_seconds": 3600, "days": 7, "timestamp": [1789452000, 1789455600, ...],# "net": [-53629060.26, -75636445.35, ...], "cvd": [0.0, -75636445.35, ...],# "exchanges": ["binance", "gate"], "price": [...], "price_symbol": "BTCUSDT",# "price_multiplier": 1, "provisional_from": 1790053200},# "symbol": "BTC", "token_id": 1, "updated_at": "2026-09-22T05:50:00+00:00"}{"data": {"exchanges", "windows", "series", "symbol", "token_id", "updated_at"}}.
| フィールド | 型 | 単位 | 説明 |
|---|---|---|---|
windows.<1h|4h|24h|7d> | object | USD | データが新しい取引所を合計した {buy, sell, net} |
exchanges[] | object[] | — | 一覧全体:key、listed、windows(取引所ごとに同じ四つ)、since、full_7d、last_at、stale |
exchanges[].full_7d | bool | — | false = その取引所でのこのコインの履歴が 7 日未満です。その 7 d の期間は null で、7 d の合計と系列から除外されます。OKX は 5 日分しか保持しないため、フィードの開始から一週間後までは false です |
series.timestamp | int[] | エポック秒 | 一時間ごとの 168 スロット、古い順 → 新しい順 |
series.net | float[] | USD | 正時区切りの一時間ごとのテイカーの差引フロー。series.exchanges の合計です。データのない時間帯は null。series.exchanges が空の場合はすべてのスロットが null になり、cvd は 0 のまま横ばいになります。その場合、この系列に情報はありません |
series.cvd | float[] | USD | net の累計。cvd[0] = 0。この系列は形を表すもので、絶対的な水準ではありません |
series.exchanges | string[] | — | この系列が合計している取引所 |
series.price / .price_symbol / .price_multiplier / .provisional_from | — | — | /long_short_ratio/get_coin と同じ |
400/404/503 は /long_short_ratio/get_coin とまったく同じです。503 では {"error": "cvd data unavailable"} を返します。
series.exchanges が exchanges[] より短いのは full_7d のルールによるものです。系列は、より多くの取引所を数える windows["24h"] とではなく、系列自身と比較してください。cvd[0] = 0 は仕組み上の値です。情報を持つのは傾きと転換点だけです。/cme_cot/get_latest CME の四つの暗号資産先物それぞれについて、CFTC の最新の週次の行を返します。加えて、資産ごとに標準とマイクロをコイン数量で合計した値も返します。/cme_cot/get_history の一行と同じ構造で、price はありません。
なし。
data = requests.get(f"{BASE_URL}/cme_cot/get_latest" , headers=headers, timeout=60).json()["data"]btc = next(c for c in data["contracts"] if c["key"] == "btc")# Live capture 2026-10-07 (abridged):# {"key": "btc", "name": "Bitcoin Futures (CME)", "cftc_code": "133741", "coin": "BTC", "coin_per_contract": 5,# "latest": {"date": "2026-09-29", "open_interest": 19596, "open_interest_change": -2719,# "tff": {"leveraged_funds": {"long": 4980, "short": 11836, "spread": 538, "net": -6856,# "long_change": 235, "short_change": -862, "spread_change": -2187, "net_change": 1097},# "asset_manager": {"long": 5069, "short": 1483, "spread": 297, "net": 3586, ...}, ...},# "legacy": {"non_commercial": {...}, "commercial": {...}, "nonreportable": {...}}}}# data["source_updated"] == "Fri, 02 Oct 2026 19:30:08 GMT", data["stale"] == False{"data": {"contracts": [...], "combined": [...], "report", "units", "source", "source_updated", "fetched_at", "stale"}}
| フィールド | 説明 |
|---|---|
contracts[] | 銘柄ごとに一要素:key(btc、micro_btc、eth、micro_eth)、name、cftc_code、coin、coin_per_contract(5/0.1/50/0.1)、latest(一行分。get_history を参照。その銘柄に行がない場合は null) |
combined[] | btc_combined、eth_combined:name、coin、components、units、micro_since、note、latest(合算した行、コイン数量) |
report | futures_only |
units | contracts[].latest のポジションの単位:枚数(× coin_per_contract でコイン数量) |
source | CFTC の出典表記。数値を公開するときは必ず併記してください |
source_updated | CFTC がデータセットを最後に更新した日時 |
fetched_at | Blave が取得した日時(UTC) |
stale | true = CFTC に接続できず、最後に保存したコピーを返しています |
| ステータス | レスポンスボディ | 条件 |
|---|---|---|
| 503 | {"error": "CFTC data unavailable. Please retry shortly."} | CFTC に接続できず、保存したコピーもない |
/cme_cot/get_history を使ってください。/cme_cot/get_history 一つの銘柄の、トレーダー区分別の週次ポジションです。行の日付は報告日、つまりポジションの基準日で、通常は火曜日です(火曜日が米国の祝日の場合は月曜日)。データが公開されたのはそれより後です。通常はその週の金曜日 15:30 ET ですが、水曜日から金曜日の間に連邦の祝日があると公表は翌営業日にずれ、政府機関の閉鎖があると数週間遅れます(2018-12-24 … 2019-02-26 の報告は 2019-02-01 … 03-05 に、2025-09-30 … 2026-01-20 の報告は 2025-11-19 … 2026-01-23 に公表されました。CFTC Release 7864-19 および 9138-25)。バックテストでは、公表前の行に基づいて売買してはいけません。
| 名称 | 説明 | 許容値 | デフォルト |
|---|---|---|---|
contractstring · query | 単一の銘柄は枚数、*_combined = 標準 + マイクロをコイン数量で合計したもの | btc、micro_btc、eth、micro_eth、btc_combined、eth_combined(大文字・小文字を区別しません) | btc |
start_datestring · query | 最初の報告日(当日を含む)。省略すると直近一年のみです。全履歴が必要な場合は早い日付(例:2018-01-01)を渡してください | YYYY-MM-DD | 今日(UTC)− 365 日 |
end_datestring · query | 最後の報告日(当日を含む) | YYYY-MM-DD | 最新 |
data = requests.get(f"{BASE_URL}/cme_cot/get_history" , headers=headers, params={"contract": "btc_combined", "start_date": "2026-09-01"}, timeout=60).json()["data"]lev_net = {r["date"]: r["tff"]["leveraged_funds"]["net"] for r in data["rows"]} # BTC# Live capture 2026-10-07 (abridged): 5 rows 2026-09-01 … 2026-09-29# {"contract": {"key": "btc_combined", "name": "Bitcoin + Micro Bitcoin Futures (CME), in BTC", "coin": "BTC",# "components": ["btc", "micro_btc"], "micro_since": "2021-05-04", "units": "coins (...)", "note": "..."},# "rows": [..., {"date": "2026-09-29", "included": ["btc", "micro_btc"], "price": 83663.66,# "open_interest": 100612.0, "open_interest_change": -14522.7,# "tff": {"leveraged_funds": {"long": 25889.6, "short": 61305.6, "spread": 2742.4, "net": -35416.0,# "long_change": 680.4, "short_change": -4283.9,# "spread_change": -11214.8, "net_change": 4964.3},# "asset_manager": {"long": 25570.8, "short": 7421.7, "net": 18149.1, ...},# "dealer": {"net": 13483.9, ...}, "other_reportables": {...}, "nonreportable": {...}},# "legacy": {"non_commercial": {"net": 11754.9, ...}, "commercial": {"net": -13695.5, ...},# "nonreportable": {...}}}],# "price_source": "Binance spot BTCUSDT, UTC daily close on the report date (Tuesday)",# "report": "futures_only", "source": "Source: U.S. Commodity Futures Trading Commission (CFTC), ...",# "source_updated": "Fri, 02 Oct 2026 19:30:08 GMT", "fetched_at": "2026-10-07T09:16:35Z", "stale": false}{"data": {"contract": {...}, "rows": [...], "price_source", "report", "units", "source", "source_updated", "fetched_at", "stale"}}、行は古い順 → 新しい順。
contract:key、name、coin、および cftc_code + coin_per_contract(単一の銘柄)または components + micro_since + note(合算)。
各行:
| フィールド | 型 | 説明 |
|---|---|---|
date | string | 報告日。通常は火曜日、火曜日が米国の祝日の場合は月曜日 |
open_interest / open_interest_change | number | 建玉の合計とその前週比 |
tff | object | 区分 dealer、asset_manager、leveraged_funds、other_reportables、nonreportable |
legacy | object | null | 区分 non_commercial、commercial、nonreportable。その週の Legacy の行が CFTC にない場合は null |
price | float | null | 報告日における Binance の現物 BTCUSDT/ETHUSDT の UTC 日次終値。取得できない場合は null |
included | string[] | 合算の銘柄のみ:この行が合計している銘柄(micro_since より前は ["btc"]) |
各区分:long、short、spread(nonreportable/commercial にはありません)、net(= ロング − ショート)、および long_change、short_change、spread_change、net_change。単位:単一の銘柄は枚数、合算はコイン数量。*_change のフィールドは CFTC 自身による前週比で、行同士の差分ではありません。CFTC は週を飛ばすことがある(例:政府機関の閉鎖)ため、自分で行の差分を取らないでください。
| ステータス | レスポンスボディ | 条件 |
|---|---|---|
| 400 | {"error": "contract must be one of btc, micro_btc, eth, micro_eth, btc_combined, eth_combined"} | 不明な銘柄 |
| 400 | {"error": "Invalid start_date, expected YYYY-MM-DD"}(または end_date)/{"error": "start_date must not be after end_date"} | 日付が不正/範囲が逆転 |
| 503 | {"error": "CFTC data unavailable. Please retry shortly."} | CFTC に接続できず、保存したコピーもない |
*_combined には micro_since で断絶があります。マイクロが加わる週に合計が段階的に増え、その週の *_change にはマイクロの最初のポジション全体が含まれます。合算でのバックテストは micro_since より後から始めるか、単一の btc/eth の銘柄を使ってください。source を併記してください。CFTC による承認を受けたものではありません。btc 2018-04-10、micro_btc 2021-05-04、eth 2021-04-06、micro_eth 2021-12-14。CME の BTC 先物が COT に含まれるのは、取引開始の 2017-12 ではなく 2018-04-10 からです。price は Binance の現物の UTC 日次終値です。