すべてのAPI

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

29先物の最新価格と、日足または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
}

日足バーを取得

curl --request GET \
  --url "https://api.narwhalapi.com/v1/futures/ES/bars?interval=1d&start=2017-04-03&end=2017-04-03" \
  --header "Authorization: Bearer $NARWHAL_API_KEY"
レスポンスの例
{
  "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
}

エンドポイント

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 · ブッシェルあたりのセント
  • 生牛LE · CME · ポンドあたりのセント
  • リーンホッグHE · CME · ポンドあたりのセント

株価指数先物

  • E-mini S&P 500ES · CME · 指数ポイント
  • E-mini ナスダック100NQ · CME · 指数ポイント
  • E-miniダウ工業株30種平均YM · CBOT · 指数ポイント
  • E-mini ラッセル2000RTY · CME · 指数ポイント

国債先物

  • 米2年国債ZT · CBOT · 額面に対する割合(%)
  • 米5年国債ZF · CBOT · 額面に対する割合(%)
  • 米10年国債ZN · CBOT · 額面に対する割合(%)
  • 米国債(長期債)ZB · CBOT · 額面に対する割合(%)

通貨先物

  • ユーロFX6E · CME · ユーロあたりのUSD
  • 英ポンド6B · CME · ポンドあたりのUSD
  • 日本円6J · CME · 円あたりのUSD
  • 豪ドル6A · CME · 豪ドルあたりのUSD
  • カナダドル6C · CME · カナダドルあたりのUSD
  • スイスフラン6S · CME · スイスフランあたりのUSD
  • ニュージーランドドル6N · CME · ニュージーランドドルあたりのUSD
  • メキシコペソ6M · CME · メキシコペソあたりのUSD

関連 API

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

13のコモディティ先物の価格と履歴

APIを見る →

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

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

APIを見る →

スポット金属価格API

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

APIを見る →

料金

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

料金を見る →

よくある質問

どの先物を取得できますか?

29先物:コモディティ13、株価指数先物4、国債先物4、通貨先物8。idは取引所のルートコードで、CL、GC、ES、ZN、6Eなどを大文字小文字を問わず指定できます。一覧ルートはすべてを返します。

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

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

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

価格はすべてのアカウントでリアルタイムです。市場が閉まっている場合、APIは最後の価格とmarket_session closedを返します。

どのくらいの履歴を取得できますか?

日足は2017年4月までさかのぼり、すべてのアカウントで全履歴を取得できます。1分足は直近12か月分で、1回のリクエストは最大5日分です。

出来高はありますか?

いいえ。バーには始値、高値、安値、終値があります。先物価格には出来高、前日終値、変化はありません。

複数の価格をまとめて取得するには?

/v1/futures/prices を呼び出し、ids に最大50件のidを指定します(例: ids=CL,GC,ES)。価格が返ったidごとに1回分として数えます。不明なidは errors に含まれて返され、カウントされません。

料金はいくらですか?

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