所有 API

股價指數 API 資料

透過 REST 或 MCP,取得 18 個指數的最新點位、前收盤價,以及日線或一分鐘歷史資料。點位為十進位字串。

首次請求

取得標普 500 的最新點位

curl --request GET \
  --url "https://api.narwhalapi.com/v1/indices/SPX/price" \
  --header "Authorization: Bearer $NARWHAL_API_KEY"
回應範例
{
  "id": "SPX",
  "name": "S&P 500",
  "currency": "USD",
  "price": "7696.46",
  "previous_close": "7681.2",
  "change": "15.26",
  "change_percent": "0.2",
  "market_session": "open",
  "timestamp": "2026-10-29T18:38:00Z",
  "stale": false
}

端點

GET列出指數/v1/indices

列出我們定價的每一個指數,附名稱、地區與幣別。

回應欄位

  • indices物件陣列

    我們定價的每一個指數,附上 id、名稱、地區與幣別。


完整參考文件 →
GET取得指數價格/v1/indices/{id}/price

取得單一指數的最新點位,附前收盤價與漲跌。

參數

  • id必填

    指數 id,例如 SPX、NDX 或 DJI。大小寫皆可。

主要回應欄位

  • id字串

    指數代碼,例如 SPX。

  • name字串

    指數的正式名稱。

  • currency字串

    指數的幣別。波動率指數省略此欄。

  • price字串

    指數的最新點位,為十進位字串。

  • previous_close字串

    前一個交易日的收盤價。未知時省略。

  • change字串

    price 減 previous_close。與 previous_close 一併省略。

  • change_percent字串

    漲跌幅百分比:1.5 代表 1.5%。與 change 一併省略。

  • market_sessionopen、closed 擇一

    指數依其公布的交易時段交易時為 open,否則為 closed。

  • timestamp日期時間

    價格有效的時間,以 UTC 表示,精確到整秒。

  • stale布林值

    指數開市且點位已超過 15 分鐘時為 true。休市的指數絕不會過期。


完整參考文件 →
GET取得多筆指數價格/v1/indices/prices

一次呼叫取得最多 50 個指數的最新點位。

參數

  • ids必填

    以逗號分隔的 id,去除重複後最多 50 個。每個 id 的規則與單一價格路由相同。每個回傳價格的 id 計為一次呼叫。

回應欄位

  • prices物件陣列

    每個回傳價格的 id 各有一筆,內容為單一價格的欄位。

  • errors物件陣列

    未回傳價格的 id,每個都帶有代碼 not_found。這些不收費。


完整參考文件 →
GET取得指數 K 線/v1/indices/{id}/bars

取得單一指數的日線或一分鐘 K 線,由舊到新排列。

參數

  • id必填

    指數 id,例如 SPX、NDX 或 DJI。大小寫皆可。

  • interval選填

    1d(每個交易日一根 K 線,以其所屬日期標示)或 1m(一分鐘 K 線,保留 12 個月)。其他值會回傳 400 invalid_interval。

  • start選填

    第一根 K 線。1d:日期(YYYY-MM-DD),含該日;省略則表示最早的一根 K 線。1m:UTC 時間(YYYY-MM-DDTHH:MM:SSZ,或僅填日期,視為 UTC 00:00),含該時間;省略則表示 end 的前一天。

  • end選填

    最後一根 K 線。1d:日期,含該日;省略則表示最近一個已收盤的日子。1m:UTC 時間,不含該時間;省略則表示現在,或 start 之後五天。1m 的 start 與 end 之間最多 5 天(400 range_too_large)。

  • cursor選填

    上一頁的 next_cursor,其他參數須相同。

回應欄位

  • id字串

    指數代碼,例如 SPX。

  • currency字串

    指數的幣別。波動率指數省略此欄。

  • start字串

    僅在範圍起點被向後移動時才會回傳。

  • end字串

    不再回傳,因為所有帳戶的價格都是即時的。

  • bars物件陣列

    K 線由舊到新排列。每根都有 timestamp、open、high、low 與 close,沒有成交量。

  • next_cursor字串

    傳回此值即可讀取下一頁。最後一頁為 null。


完整參考文件 →

使用情境

回補完整歷史

分頁讀取全部歷史,儲存到檔案,中斷後可繼續。

閱讀指南 →

每日資料拉取

每天執行一次小腳本,把結果附加到 CSV 檔案。

閱讀指南 →

快取與 429 錯誤

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

閱讀指南 →

涵蓋範圍

  • S&P 500SPX · 美國 · USD
  • Nasdaq-100NDX · 美國 · USD
  • 道瓊工業平均指數DJI · 美國 · USD
  • 羅素 2000RUT · 美國 · USD
  • 那斯達克綜合指數COMP · 美國 · USD
  • Cboe 波動率指數VIX · 美國
  • MSCI 世界MXWLD · 全球 · USD
  • MSCI 新興市場MXEF · 全球 · USD
  • Cboe 英國 100 指數BUK100P · UK · GBP
  • Cboe 德國 40 指數BDE40P · 歐洲 · EUR
  • Cboe 歐洲 50 指數BEP50P · 歐洲 · EUR
  • Cboe 歐元區 50 指數BEZ50P · 歐洲 · EUR
顯示全部 18 個指數
  • Cboe 法國 40 指數BFR40P · 歐洲 · EUR
  • PHLX 半導體類股指數SOX · 美國 · USD
  • KBW 那斯達克銀行指數BKX · 美國 · USD
  • Cboe 原油 ETF 波動率指數OVX · 美國
  • Cboe 黃金 ETF 波動率指數GVZ · 美國
  • PHLX 黃金白銀類股指數XAU · 美國 · USD

相關 API

期貨 API 資料服務

透過 REST 與 MCP 取得 29 種期貨的價格與歷史資料

探索 API →

上市股票 API

透過 REST 與 MCP 取得上市股票價格與公司資料

探索 API →

價格

每月 10 美元免費額度,之後每 1,000 次呼叫 2 美元起。

查看價格 →

常見問題

可以取得哪些指數?

18 個指數:五個美國基準指數、三個波動率指數、兩個 MSCI 全球指數、五個 Cboe 歐洲指數與三個美國類股指數。id 是標準代碼,例如 SPX、NDX 或 DJI,大小寫皆可。

報價會附上較昨日的漲跌嗎?

有。指數的日線歷史資料到位後,價格會帶有 previous_close、change 與 change_percent。change_percent 為 1.5 代表 1.5%。前收盤價未知時,三者都會省略。

為什麼波動率指數沒有幣別?

VIX、OVX 與 GVZ 衡量的是預期波動度,不是金額,所以回應沒有幣別。

報價是即時的還是延遲的?

所有帳戶的點位都是即時的。市場休市時,API 會回傳最後點位,並將 market_session 設為 closed。

可以取得多久的歷史資料?

歷史從我們持有資料的時間開始:標普 500 始於 2023 年 2 月。所有帳戶都可取得我們持有的全部日線。1 分鐘線涵蓋最近 12 個月,每次請求最多 5 天。

費用是多少?

呼叫費用為每 1,000 次 $2,從預付額度扣款。每個帳戶在前 12 個月內,每月都有 $10 的免費額度。