すべてのAPI

金先物APIで商品先物の価格と履歴

13のコモディティ先物の最新価格と、日足または1分足の履歴を、RESTまたはMCPで取得できます。各系列は期近限月の契約なので、ロール日には価格に段差が生じます。

最初のリクエスト

WTI原油の最新価格を取得

curl --request GET \
  --url "https://api.narwhalapi.com/v1/futures/CL/price" \
  --header "Authorization: Bearer $NARWHAL_API_KEY"
レスポンスの例
{
  "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
}

エンドポイント

GET先物を一覧表示/v1/futures

価格を算出しているすべての先物契約を、名称、カテゴリ、取引所、通貨、単位とともに一覧表示します。

レスポンスフィールド

  • futuresオブジェクトの配列

    価格を算出しているすべての契約。それぞれにid、名称、カテゴリ、取引所、通貨、単位が付きます。


リファレンス全文 →
GET先物価格を取得/v1/futures/{id}/price

1つの契約の最新価格を取得します。

パラメータ

  • id必須

    先物 ID。取引所のルートコードです(例: CL、GC、ES、6E)。大文字小文字は問いません。系列は連続した期近限月で、調整していないため、ロール日ごとに段差があります。

主なレスポンスフィールド

  • id文字列

    ルートコード(例: CL)。

  • name文字列

    契約の正式名称。

  • commodity_key文字列

    商品の固定キー。スポット、先物、予測、現物価格で共通です(例: gold、crude-oil)。これらを結合するのに使います。株価指数、金利、通貨の先物では省略されます。

  • benchmarkwti、brent、urals、dubai のいずれか

    原油のベンチマーク(wti、brent、urals、dubai)。原油のみで送られます。これがない原油の行は、原油全体を指します。

  • exchange文字列

    契約が取引されている取引所。

  • exchange_mic文字列

    取引所の ISO 10383 市場識別コード(例: XNYM)。

  • currency文字列

    価格の通貨。

  • unit文字列

    価格の単位(例: usd_per_barrel、index_point)。

  • unit_key文字列

    単位の正規の小文字名。その単位を使うすべての面で同じです(例: barrel、troy_ounce、mmbtu、tonne)。unit は提供元の表記をそのまま保持します。

  • price_scale文字列

    価格が補助単位で表示されている場合にのみ送られます。price にこの値を掛けると currency 建ての価格になります。0.01 は price がセント建てであることを示し、unit が cent_per_bushel で price が 450 なら、1ブッシェルあたり 4.50 USD です。


リファレンス全文 →
GET複数の先物価格を取得/v1/futures/prices

最大50契約の最新価格を1回の呼び出しで取得します。

パラメータ

  • ids必須

    カンマ区切りの ID。重複を除いて最大50件です。各 ID は単一価格ルートと同じ規則に従います。価格を返した ID ごとに1回の呼び出しとして数えます。

レスポンスフィールド

  • pricesオブジェクトの配列

    価格が返ったidごとに1件。1件分の価格のフィールドが含まれます。

  • errorsオブジェクトの配列

    価格を返さなかったID。それぞれコードnot_foundが付きます。料金はかかりません。


リファレンス全文 →
GET先物バーを取得/v1/futures/{id}/bars

1つの契約の日足または1分足バーを、古い順に取得します。価格は調整前の期近限月の価格なので、ロール日には段差が生じます。

パラメータ

  • id必須

    先物 ID。取引所のルートコードです(例: CL、GC、ES、6E)。大文字小文字は問いません。系列は連続した期近限月で、調整していないため、ロール日ごとに段差があります。

  • interval任意

    1d(取引日ごとに1本のバー。そのバーが属する日付で表示)または 1m(1分足。12か月間保持)。それ以外は 400 invalid_interval になります。

  • start任意

    最初のバー。1d: 日付(YYYY-MM-DD)、その日を含みます。省略すると最も古いバーになります。1m: UTC時刻(YYYY-MM-DDTHH:MM:SSZ、または 00:00 UTC とみなす日付)、その時刻を含みます。省略すると end の1日前になります。

  • end任意

    最後のバー。1d: 日付、その日を含みます。省略すると直近の確定済みの日になります。1m: UTC時刻、その時刻を含みません。省略すると現在時刻、または start の5日後になります。1m では start と end の間隔は最大5日です(400 range_too_large)。

  • cursor任意

    前のページの next_cursor。パラメーターは同じものを指定します。

レスポンスフィールド

  • id文字列

    ルートコード(例: CL)。

  • commodity_key文字列

    商品の固定キー。スポット、先物、予測、現物価格で共通です(例: gold、crude-oil)。これらを結合するのに使います。株価指数、金利、通貨の先物では省略されます。

  • benchmarkwti、brent、urals、dubai のいずれか

    原油のベンチマーク(wti、brent、urals、dubai)。原油のみで送られます。これがない原油の行は、原油全体を指します。

  • currency文字列

    価格の通貨。

  • price_scale文字列

    価格が補助単位で表示されている場合にのみ送られます。price にこの値を掛けると currency 建ての価格になります。0.01 は price がセント建てであることを示し、unit が cent_per_bushel で price が 450 なら、1ブッシェルあたり 4.50 USD です。

  • start文字列

    範囲の開始日が後ろへずらされた場合にのみ送られます。

  • end文字列

    送られません。価格はすべてのアカウントでリアルタイムだからです。

  • barsオブジェクトの配列

    バーは古い順です。それぞれに timestamp、open、high、low、close があり、出来高はありません。

  • next_cursor文字列

    次のページを読むには、この値を渡します。最後のページでは null です。


リファレンス全文 →

ユースケース

全履歴をバックフィルする

履歴をすべてページ単位で取得してファイルに保存し、途中で止まっても再開します。

ガイドを読む →

毎日のデータ取得

小さなスクリプトを 1 日 1 回実行し、結果を CSV に追記します。

ガイドを読む →

キャッシュと 429 エラー

Cache responses by data type and tell a rate limit (429) from an empty credit balance (402).

ガイドを読む →

カバレッジ

エネルギー

  • WTI原油CL · NYMEX · バレルあたりのUSD
  • ヘンリーハブ天然ガスNG · NYMEX · MMBtuあたりのUSD
  • RBOBガソリンRB · NYMEX · ガロンあたりのUSD
  • NYハーバーULSDHO · NYMEX · ガロンあたりのUSD

金属

  • 金GC · COMEX · トロイオンスあたりのUSD
  • 銀SI · COMEX · トロイオンスあたりのUSD
  • プラチナPL · NYMEX · トロイオンスあたりのUSD
  • 銅HG · COMEX · ポンドあたりのUSD

穀物

  • トウモロコシZC · CBOT · ブッシェルあたりのセント
  • シカゴ軟質赤冬小麦ZW · CBOT · ブッシェルあたりのセント
  • 大豆ZS · CBOT · ブッシェルあたりのセント

Livestock

  • 生牛LE · CME · ポンドあたりのセント
  • リーンホッグHE · CME · ポンドあたりのセント

関連 API

先物APIで主要29銘柄を扱う

REST、MCPで29先物の価格と履歴を提供

APIを見る →

スポット金属価格API

金、銀、プラチナ、パラジウムのスポット価格と、WTI、ブレント、銅の参考価格。

APIを見る →

株価指数APIで主要18指数を取得

REST、MCPで18指数の水準と履歴を提供

APIを見る →

料金

毎月10ドル分の無料クレジット。その後は1,000回あたり2ドルから。

料金を見る →

よくある質問

どのコモディティ先物を取得できますか?

13銘柄。エネルギー:WTI原油、ヘンリーハブ天然ガス、RBOBガソリン、NYハーバーULSD。金属:金、銀、プラチナ、銅。穀物:トウモロコシ、小麦、大豆。畜産:生牛、リーンホッグ。

スポット価格APIとの違いは?

スポットAPIでは、金は多くの通貨で、銀、プラチナ、パラジウムは米ドルで提示されます。コモディティ先物は、期近限月の契約を米ドルで、その契約固有の単位で提示します。金先物(GC)と金スポット(XAU)は別の価格です。

なぜ日によって価格が急に変わるのですか?

各系列は期近限月の契約を端から端までつなげたもので、調整は行っていません。期近限月が切り替わると、系列は次の契約に移り、価格はその契約の価格に段差が生じます。CLは2026年10月19日に約$4の段差が出ました。価格とバーは取引された通りの段差をそのまま示すので、1日の値動きと読まないでください。このため、先物価格には前日終値も変化もありません。ロールをまたぐ変化は誤りになるためです。

価格の単位は何ですか?

各レスポンスには単位が付きます。CLは usd_per_barrel、NGは usd_per_mmbtu、RBとHOは usd_per_gallon、GC、SI、PLは usd_per_troy_ounce、HGは usd_per_pound です。穀物は cent_per_bushel、畜産は cent_per_pound なので、これらの価格はドルではなくセント建てです。

価格はライブですか、それとも遅延ですか。

価格はすべてのアカウントでリアルタイムです。日足は2017年4月までさかのぼり、すべてのアカウントで全履歴を取得できます。

料金はいくらですか?

1,000回あたり$2で、プリペイドのクレジットから差し引かれます。すべてのアカウントに、最初の12か月間、毎月$10分の無料クレジットが付与されます。