先物APIリファレンス
29の先物の価格と履歴
概要
29の先物(商品、株価指数、米国債、通貨)の価格と価格履歴。すべてのリクエストに Bearer キーが必要で、REST と MCP は同じクレジット残高を使います。
ID は取引所のルートコードです。たとえば WTI 原油は CL、金は GC、E-mini S&P 500 は ES、ユーロは 6E です。大文字小文字は問いません。一覧ルートは、すべての ID を名称、カテゴリ、取引所、通貨、単位とともに返します。
各系列は期近限月の契約を端から端までつないだもので、調整はしていません。期近限月が切り替わる日には、価格が前の契約から次の契約へ段差を描きます。この段差は、取引されたとおりにデータに含まれます。
ベースURL: https:/。 MCP ツールは次のとおりです: futures, with one action 以下の各ルートに対応します。
すべてのアカウントで利用できるもの
| 課金額 | すべてのアカウント |
|---|---|
| 最新の価格 | ライブ |
| 日次バー | 全履歴(2017年4月から) |
| 1分足バー | 過去12か月 |
| 系列一覧 | 含まれる |
参照: 料金表 で、呼び出し1回の料金を確認できます。ルートに別の記載がない限り、リクエストはそのAPIの料金で課金されます。
- 先物の価格には、前日終値、変化、出来高がありません。ロールをまたぐ変化は誤った値になるため、API は算出しません。
- 価格とバーは、取引されたとおりの期近限月です。ロール日ごとに段差が生じます。CL は 2026年10月19日に約4ドルの段差が出ました。この段差を1日の値動きと読まないでください。
- market_session は、契約の公表された取引時間にもとづき open または closed になります。closed の系列は直近価格を返し、古い値(stale)にはなりません。open の系列は、価格が15分より古いと古い値(stale)になります。
- 日次バーは1取引日分で、00:00 UTC に現れます。当日の途中のバーは表示されません。
- 1分バーは12か月分を保持し、1回のリクエストで取得できるのは最大5日分です。
- バッチは最大50件の ID を受け付け、価格を返した ID ごとに1回の呼び出しとして数えます。不明な ID は errors に並び、数えません。
エンドポイント
すべてのルートは GET で、キーを次のヘッダーで渡す必要があります: Authorization: Bearer ヘッダー。例はレスポンスの形を示すもので、ライブデータではありません。
価格を提供している先物
GET /v1/futures
価格を提供しているすべての先物系列を、ID 順に名称と単位とともに返します。自社の一覧から読むため、すべてのアカウントで利用でき、1回の呼び出しとして数えます。
MCP: ツール futures, action list。
パラメータ
このルートにパラメーターはありません。
レスポンスフィールド
| フィールド | 種別 | 送信 | 意味 |
|---|---|---|---|
futures | オブジェクトの配列 | 常に | 価格を提供しているすべての系列を、ID 順に返します。 |
futures[].id | 文字列 | 常に | ルートコード(例: CL)。 |
futures[].name | 文字列 | 常に | 系列の名称。 |
futures[].category | energy、metals、grains、livestock、equity_index、interest_rate、currency のいずれか | 常に | |
futures[].commodity_ | 文字列 | 任意 | 商品の固定キー。スポット、先物、予測、現物価格で共通です(例: gold、crude-oil)。これらを結合するのに使います。株価指数、金利、通貨の先物では省略されます。 |
futures[].benchmark | wti、brent、urals、dubai のいずれか | 任意 | 原油のベンチマーク(wti、brent、urals、dubai)。原油のみで送られます。これがない原油の行は、原油全体を指します。 |
futures[].exchange | 文字列 | 常に | 上場している取引所。 |
futures[].exchange_ | 文字列 | 任意 | 取引所の ISO 10383 市場識別コード(例: XNYM)。 |
futures[].currency | 文字列 | 常に | 価格の通貨。 |
futures[].unit | 文字列 | 常に | 価格の単位あたりの基準(例: usd_per_barrel、index_point)。 |
futures[].unit_ | 文字列 | 任意 | 単位の正規の小文字名で、使うすべての面で共通です(例: barrel、troy_ounce、mmbtu、tonne)。unit は情報源の表記のままです。 |
futures[].price_ | 文字列 | 任意 | 価格が補助通貨単位で建てられている場合にのみ送られます。price にこの値を掛けると currency 建ての価格になります。0.01 は price がセント単位であることを示します。たとえば単位が cent_per_bushel で価格が 450 なら、1ブッシェルあたり 4.50 USD です。 |
curl -H "Authorization: Bearer $NARWHAL_API_KEY" \
"https://api.narwhalapi.com/v1/futures"{
"futures": [
{
"id": "CL",
"name": "WTI Crude Oil",
"category": "energy",
"exchange": "NYMEX",
"currency": "USD",
"unit": "usd_per_barrel"
},
{
"id": "GC",
"name": "Gold",
"category": "metals",
"exchange": "COMEX",
"currency": "USD",
"unit": "usd_per_troy_ounce"
}
]
}先物系列1件の最新価格
GET /v1/futures/{id}/price
最新価格です。market_ は系列の取引時間にもとづき open または closed になります。closed の系列は直近価格を返し、stale が true になるのは、open の系列で直近15分以内の価格がない場合のみです。先物の価格には、前日終値、変化、出来高がありません。系列は期近限月を端から端までつないだもので調整していないため、ロール日ごとに段差があります。
MCP: ツール futures, action price。
パラメータ
| パラメータ | 場所 | 必須 | 種別 | 意味 |
|---|---|---|---|---|
id | パス | はい | 文字列 | 先物 ID。取引所のルートコードです(例: CL、GC、ES、6E)。大文字小文字は問いません。系列は連続した期近限月で、調整していないため、ロール日ごとに段差があります。 |
レスポンスフィールド
| フィールド | 種別 | 送信 | 意味 |
|---|---|---|---|
id | 文字列 | 常に | ルートコード。 |
name | 文字列 | 常に | 自社のシンボル一覧にあるとおりの名称。 |
commodity_ | 文字列 | 任意 | 商品の固定キー。スポット、先物、予測、現物価格で共通です(例: gold、crude-oil)。これらを結合するのに使います。株価指数、金利、通貨の先物では省略されます。 |
benchmark | wti、brent、urals、dubai のいずれか | 任意 | 原油のベンチマーク(wti、brent、urals、dubai)。原油のみで送られます。これがない原油の行は、原油全体を指します。 |
exchange | 文字列 | 常に | |
exchange_ | 文字列 | 任意 | 取引所の ISO 10383 市場識別コード(例: XNYM)。 |
currency | 文字列 | 常に | 価格の通貨。 |
unit | 文字列 | 常に | |
unit_ | 文字列 | 任意 | 単位の正規の小文字名で、使うすべての面で共通です(例: barrel、troy_ounce、mmbtu、tonne)。unit は情報源の表記のままです。 |
price_ | 文字列 | 任意 | 価格が補助通貨単位で建てられている場合にのみ送られます。price にこの値を掛けると currency 建ての価格になります。0.01 は price がセント単位であることを示します。たとえば単位が cent_per_bushel で価格が 450 なら、1ブッシェルあたり 4.50 USD です。 |
price | 文字列 | 常に | 連続した期近限月の直近価格。 |
market_ | open、closed のいずれか | 常に | 系列が公表された取引時間内で取引されている間は open、それ以外は closed です。closed の系列も直近価格を返します。取引時間内の休日は open と表示され、stale になります。 |
timestamp | 日時 | 常に | 価格が有効だった時刻(UTC、秒単位)。 |
stale | ブール値 | 常に | 系列が open で、価格が15分より古い場合、または更新できなかった場合に true。closed の系列は古い値(stale)になりません。 |
delayed | 常に true | 任意 | 送信されません。価格はすべてのアカウントでリアルタイムです。 |
curl -H "Authorization: Bearer $NARWHAL_API_KEY" \
"https://api.narwhalapi.com/v1/futures/CL/price"{
"id": "CL",
"name": "WTI Crude Oil",
"commodity_key": "crude-oil",
"benchmark": "wti",
"exchange": "NYMEX",
"exchange_mic": "XNYM",
"currency": "USD",
"unit": "usd_per_barrel",
"unit_key": "barrel",
"price": "102.11",
"market_session": "open",
"timestamp": "2026-10-29T18:38:00Z",
"stale": false
}最大50の先物系列の最新価格
GET /v1/futures/prices
指定した各 ID の最新価格を返します。価格を返した ID ごとに1回の呼び出しとして数え、一括で課金します。解決できた ID の分を残高で支払えない場合、リクエスト全体が 402 insufficient_credits で拒否されます。価格を返さなかった ID は errors に(id として)並び、課金されません。どの ID も解決できなくてもレスポンスは 200 で、prices は空になります。先物の価格には、前日終値、変化、出来高がありません。系列は期近限月を端から端までつないだもので調整していないため、ロール日ごとに段差があります。
ID は最大50件まで送れます。バッチは一括で課金されます。解決できた ID の分を残高で払えない場合、リクエスト全体が 402 insufficient_credits を返します。
MCP: ツール futures, action prices。
パラメータ
| パラメータ | 場所 | 必須 | 種別 | 意味 |
|---|---|---|---|---|
ids | クエリ | はい | 文字列 | カンマ区切りの ID。重複を除いて最大50件です。各 ID は単一価格ルートと同じ規則に従います。価格を返した ID ごとに1回の呼び出しとして数えます。 |
レスポンスフィールド
| フィールド | 種別 | 送信 | 意味 |
|---|---|---|---|
prices | オブジェクトの配列 | 常に | 解決できた ID ごとに1つの価格を、ID をキーにして返します。 |
prices[].id | 文字列 | 常に | ルートコード。 |
prices[].name | 文字列 | 常に | 自社のシンボル一覧にあるとおりの名称。 |
prices[].commodity_ | 文字列 | 任意 | 商品の固定キー。スポット、先物、予測、現物価格で共通です(例: gold、crude-oil)。これらを結合するのに使います。株価指数、金利、通貨の先物では省略されます。 |
prices[].benchmark | wti、brent、urals、dubai のいずれか | 任意 | 原油のベンチマーク(wti、brent、urals、dubai)。原油のみで送られます。これがない原油の行は、原油全体を指します。 |
prices[].exchange | 文字列 | 常に | |
prices[].exchange_ | 文字列 | 任意 | 取引所の ISO 10383 市場識別コード(例: XNYM)。 |
prices[].currency | 文字列 | 常に | 価格の通貨。 |
prices[].unit | 文字列 | 常に | |
prices[].unit_ | 文字列 | 任意 | 単位の正規の小文字名で、使うすべての面で共通です(例: barrel、troy_ounce、mmbtu、tonne)。unit は情報源の表記のままです。 |
prices[].price_ | 文字列 | 任意 | 価格が補助通貨単位で建てられている場合にのみ送られます。price にこの値を掛けると currency 建ての価格になります。0.01 は price がセント単位であることを示します。たとえば単位が cent_per_bushel で価格が 450 なら、1ブッシェルあたり 4.50 USD です。 |
prices[].price | 文字列 | 常に | 連続した期近限月の直近価格。 |
prices[].market_ | open、closed のいずれか | 常に | 系列が公表された取引時間内で取引されている間は open、それ以外は closed です。closed の系列も直近価格を返します。取引時間内の休日は open と表示され、stale になります。 |
prices[].timestamp | 日時 | 常に | 価格が有効だった時刻(UTC、秒単位)。 |
prices[].stale | ブール値 | 常に | 系列が open で、価格が15分より古い場合、または更新できなかった場合に true。closed の系列は古い値(stale)になりません。 |
prices[].delayed | 常に true | 任意 | 送信されません。価格はすべてのアカウントでリアルタイムです。 |
errors | オブジェクトの配列 | 常に | 価格を返さなかった ID。課金されません。 |
errors[].id | 文字列 | 常に | リクエストで指定された ID そのまま。 |
errors[].code | 常に "not_found" | 常に | not_found: そのような系列はありません。 |
curl -H "Authorization: Bearer $NARWHAL_API_KEY" \
"https://api.narwhalapi.com/v1/futures/prices?ids=CL,GC,ES"{
"prices": [
{
"id": "CL",
"name": "WTI Crude Oil",
"commodity_key": "crude-oil",
"benchmark": "wti",
"exchange": "NYMEX",
"exchange_mic": "XNYM",
"currency": "USD",
"unit": "usd_per_barrel",
"unit_key": "barrel",
"price": "102.11",
"market_session": "open",
"timestamp": "2026-10-29T18:38:00Z",
"stale": false
},
{
"id": "GC",
"name": "Gold",
"exchange": "COMEX",
"currency": "USD",
"unit": "usd_per_troy_ounce",
"price": "4021.3",
"market_session": "open",
"timestamp": "2026-10-29T18:38:00Z",
"stale": false
}
],
"errors": [
{
"id": "XX",
"code": "not_found"
}
]
}先物系列1件の価格バー
GET /v1/futures/{id}/bars
日次(1d。1取引日につき1バー)または1分(1m)のバーを古い順に返します。1日のバーは、その翌日の 00:00 UTC に出ます。当日の途中のバーは表示されません。1分バーは12か月分を保持します。履歴はすべてのアカウントで全期間を取得できます。1ページ最大5,000バーで、next_ を返します。1ページにつき1回の呼び出しです。
バーは加工していない期近限月の価格です。そのため、ロール日にはバーが前のバーの終値から離れて始まることがあります。
MCP: ツール futures, action bars。
パラメータ
| パラメータ | 場所 | 必須 | 種別 | 意味 |
|---|---|---|---|---|
id | パス | はい | 文字列 | 先物 ID。取引所のルートコードです(例: CL、GC、ES、6E)。大文字小文字は問いません。系列は連続した期近限月で、調整していないため、ロール日ごとに段差があります。 |
interval | クエリ | いいえ | 次のいずれか: 1d, 1m | 1d(1取引日につき1バー。属する日の日付)または 1m(1分バー。12か月分を保持)。それ以外は 400 invalid_interval です。 |
start | クエリ | いいえ | 文字列 | 最初のバー。1d では日付(YYYY-MM-DD)で、その日を含みます。省略すると存在する最古のバーになります。1m では UTC の時刻(YYYY-MM-DDTHH:MM:SSZ、または日付のみで UTC 00:00)で、その時刻を含みます。省略すると end の1日前になります。 |
end | クエリ | いいえ | 文字列 | 最後のバー。1d では日付で、その日を含みます。省略すると、確定済みの最新の日です。1m では UTC の時刻で、その時刻を含みません。省略すると現在時刻、または start の5日後です。1m では start と end の間は最大5日です(400 range_too_large)。 |
cursor | クエリ | いいえ | 文字列 | 前のページの next_。パラメーターは同じものを使います。 |
レスポンスフィールド
| フィールド | 種別 | 送信 | 意味 |
|---|---|---|---|
id | 文字列 | 常に | |
commodity_ | 文字列 | 任意 | 商品の固定キー。スポット、先物、予測、現物価格で共通です(例: gold、crude-oil)。これらを結合するのに使います。株価指数、金利、通貨の先物では省略されます。 |
benchmark | wti、brent、urals、dubai のいずれか | 任意 | 原油のベンチマーク(wti、brent、urals、dubai)。原油のみで送られます。これがない原油の行は、原油全体を指します。 |
currency | 文字列 | 常に | 価格の通貨。 |
price_ | 文字列 | 任意 | 価格が補助通貨単位で建てられている場合にのみ送られます。price にこの値を掛けると currency 建ての価格になります。0.01 は price がセント単位であることを示します。たとえば単位が cent_per_bushel で価格が 450 なら、1ブッシェルあたり 4.50 USD です。 |
start | 文字列 | 任意 | 送信されません。start は動かされません。 |
end | 文字列 | 任意 | 送信されません。日足は切り詰められません。 |
bars | オブジェクトの配列 | 常に | 1ページ最大5,000本。 |
bars[].timestamp | 日時 | 常に | バーの期間の開始(UTC)。日次バーは取引日の 00:00、1分バーはその分の開始です。 |
bars[].open | 文字列 | 常に | 期間の最初の価格。 |
bars[].high | 文字列 | 常に | 期間の最高価格。 |
bars[].low | 文字列 | 常に | 期間の最安価格。 |
bars[].close | 文字列 | 常に | 期間の最後の価格。 |
next_ | 文字列 | 常に | 次のページを読むには、この値を渡します。最後のページでは null です。 |
curl -H "Authorization: Bearer $NARWHAL_API_KEY" \
"https://api.narwhalapi.com/v1/futures/ES/bars?interval=1d&start=2017-04-03&end=2017-04-05"{
"id": "ES",
"currency": "USD",
"bars": [
{
"timestamp": "2017-04-03T00:00:00Z",
"open": "2357.5",
"high": "2363.25",
"low": "2340",
"close": "2354.5"
}
],
"next_cursor": null
}エラー
エラーは共通の problem 形式で返され、次のコードを含みます: request_。参照: APIエラーとクレジット で形式とクレジットヘッダーを確認できます。失敗したリクエストには課金されません。
| コード | ステータス | 意味 |
|---|---|---|
invalid_ | 400 | パラメータが欠けている、未知である、重複している、または範囲外です。 |
invalid_ | 400 | ID またはペアが、この API の想定する書き方になっていません。 |
too_ | 400 | バッチに50件を超える ID が含まれています。 |
invalid_ | 400 | インターバルが 1d でも 1m でもないか、この銘柄では使えません。 |
range_ | 400 | 期間がルートの許容範囲を超えています。 |
not_ | 404 | そのような銘柄、ファンド、ペアはありません。 |
invalid_ | 400 | このカーソルは、このリクエストが返したものではないか、別のリクエストのものです。 |
insufficient_ | 402 | クレジット残高が、リクエストの費用に足りません。 |
area_ | 503 | この領域は現在応答できません。 |
このページは役に立ちましたか?