瀏覽全部文件

股票 API 參考文件

上市股票的價格、歷史資料、公司事件與估值比率

概覽

上市股票的價格、歷史價格、公司事件、市值與估值比率。每個請求都需要 Bearer 金鑰,REST 與 MCP 共用同一份餘額。

標的 ID 由交易所的四個字母代碼、冒號與股票代號組成,例如 XNAS:MSFT 或 XNYS:BRK.B。只給美國股票代號(例如 MSFT)時,若僅對應一個美國標的也可使用,回應中一律附上標準 ID。價格與金額皆為十進位字串。

每個標的可帶有 company_id,用來將標的連結到 Filings API 中的公司,讓價格、估值與財務報表都能以同一個 ID 對應。

基礎網址: https://api.narwhalapi.com。 MCP 工具是 equities, with one action ,適用於下列每個路由。

A company_id 可將標的串接到 申報文件 API:財務報表、申報文件與持有人。

每個帳戶都能取得的內容

費用所有帳戶
最新價格在線
價格附帶的當日成交量已包含
日 K 線,以及歷史股利、股票分割與財報完整歷史資料
1 分鐘 K 線已包含
搜尋與公司簡介已包含
漲跌幅排行已包含
市值、P/E、P/S、P/B 與股息殖利率已包含
估值歷史完整歷史資料
資金成本與 Beta已包含

查看 定價 說明每次呼叫的費用。除非路由另有說明,請求依其所屬 API 的價格計費。

  • 估值涵蓋可對應到我們財報資料中公司的美國與韓國標的。韓國目前僅提供 P/E。
  • 無法正確計算的比率會省略,不會以 0 回傳。
  • 財報中的 eps_actual 採市場資料口徑,而 pe_ratio 所用的 EPS 來自公司申報文件。兩者可能不同,請勿直接比較。
  • 資金成本涵蓋可對應到我們財報資料中公司的美國與韓國標的。你以 erp 傳入自己的股權風險溢酬。計算方法統一記載於資金成本方法說明,每個回應都會附上連結。
  • 銀行或保險公司會回傳 422 not_applicable,因為利息對它們屬於營運成本。無法計算的輸入項會列在 422 inputs_unavailable 中,不會自行補值。
  • 估值歷史在每個會計期間結束日(季末或年末)各有一個資料點,而不是每天一個。每個資料點採用當日或之前最近一個交易日的收盤價(僅依股票分割調整),以及該期間申報的數字。
  • 財報僅含已公布的結果,尚未提供即將公布的財報日期。
  • 日本標的的簡介只有名稱、交易所、國家、幣別與 company_id。

端點

每個路由都是 GET 請求,並需要將你的金鑰放在以下請求標頭中: Authorization: Bearer 標頭。範例僅展示回應的結構,並非即時資料。

單一股票的簡介

GET /v1/equities/{id}

包含標的資料(代號、名稱、類型、交易所、國家、幣別)、公司的產業類別、行業與網站,以及標的對應到我們財報資料中公司時的 company_id。所有帳號皆可使用。日本標的只有名稱、交易所、國家、幣別與 company_id。未知的欄位會省略。

MCP:工具 equities, action profile。

參數

參數位置必填類型含義
idpath是字串標的 ID:交易所的四個字母代碼、冒號與股票代號,例如 XNAS:MSFT 或 XNYS:BRK.B。只給美國股票代號(例如 MSFT)時,若僅對應一個美國標的也可使用,回應會附上標準 ID。股別以句點表示(BRK.B),也接受 BRK-B。

回應欄位

欄位類型傳送含義
id字串固定回傳標準標的 ID。
symbol字串固定回傳該交易所上的股票代號。
name字串固定回傳名稱,依我們代號清單所載。
type下列其一:common_stock、preferred_stock、depositary_receipt、reit、closed_end_fund、unit、right、warrant、other固定回傳商品的類型。
mic字串固定回傳交易所的四個字母代碼。
country字串選填標的所屬國家,三個字母。
currency字串固定回傳價格的幣別。
sector字串選填產業類別。日本標的沒有簡介文字,因此省略。
industry字串選填行業。日本標的省略。
website字串選填公司網站。日本標的省略。
logo_url字串選填我們自行保存的公司標誌。沒有時省略。
company_id字串選填標的能明確對應時,此為該公司的財報資料 ID。
請求
curl -H "Authorization: Bearer $NARWHAL_API_KEY" \
  "https://api.narwhalapi.com/v1/equities/XNAS:MSFT"
回應範例
{
  "id": "XNAS:MSFT",
  "symbol": "MSFT",
  "name": "Microsoft Corporation",
  "type": "common_stock",
  "mic": "XNAS",
  "country": "USA",
  "currency": "USD",
  "sector": "Technology",
  "industry": "Software",
  "website": "https://www.microsoft.com",
  "company_id": "usa:0000789019"
}

單一股票的最新價格

GET /v1/equities/{id}/price

單一標的的最新價格。change_percent 以百分比表示。未知的 ID 回傳 404 not_found;尚無價格的市場回傳 404 not_covered。

MCP:工具 equities, action price。

參數

參數位置必填類型含義
idpath是字串標的 ID:交易所的四個字母代碼、冒號與股票代號,例如 XNAS:MSFT 或 XNYS:BRK.B。只給美國股票代號(例如 MSFT)時,若僅對應一個美國標的也可使用,回應會附上標準 ID。股別以句點表示(BRK.B),也接受 BRK-B。

回應欄位

欄位類型傳送含義
id字串固定回傳標準標的 ID。
symbol字串固定回傳該交易所上的股票代號。
currency字串固定回傳所有價格欄位的幣別。便士會換算為英鎊。
price字串固定回傳最新成交價,以 currency 計。
previous_close字串選填前一個交易時段的收盤價。未知時省略。
change字串選填price 減去 previous_close。previous_close 省略時一併省略。
change_percent字串選填相對於 previous_close 的漲跌幅,以百分比表示(1.5 代表 1.5%)。
volume字串選填今日成交股數。未知時省略,延遲報價一律省略。
market_session下列其一:pre、open、post、closed固定回傳標的所屬交易所在 timestamp 時的狀態:pre、open、post 或 closed。只有美國交易所有 pre 與 post。
timestamp日期時間固定回傳價格有效的時間(UTC,精確到秒)。
stale布林值固定回傳交易所開盤期間價格已超過 15 分鐘,或無法更新時為 true。休市時永遠不算過時。
delayed一律為 true選填不會回傳:所有帳號的價格皆為即時。
請求
curl -H "Authorization: Bearer $NARWHAL_API_KEY" \
  "https://api.narwhalapi.com/v1/equities/XNAS:MSFT/price"
回應範例
{
  "id": "XNAS:MSFT",
  "symbol": "MSFT",
  "currency": "USD",
  "price": "421.35",
  "previous_close": "418.90",
  "change": "2.45",
  "change_percent": "0.58",
  "volume": "18234100",
  "market_session": "open",
  "timestamp": "2026-10-26T15:42:00Z",
  "stale": false
}

最多 50 檔股票的最新價格

GET /v1/equities/prices

回傳所列每個 ID 的最新價格。每個有回傳價格的 ID 計為一次呼叫,並一次扣款:若餘額不足以支付可解析的 ID,整個請求會以 402 insufficient_credits 拒絕。沒有回傳價格的 ID 會列在 errors 中,不收費。change_percent 以百分比表示。

最多可傳入 50 個 ID。批次一次扣款:若餘額不足以支付可解析的 ID,整個請求會回傳 402 insufficient_credits。

MCP:工具 equities, action prices。

參數

參數位置必填類型含義
idsquery是字串以逗號分隔的標的 ID,移除重複後最多 50 個。每個 ID 的規則與單一價格路由相同。每個有回傳價格的 ID 計為一次呼叫。

回應欄位

欄位類型傳送含義
prices物件陣列固定回傳每個成功解析的 ID 各有一筆價格,以 ID 為鍵。
prices[].id字串固定回傳標準標的 ID。
prices[].symbol字串固定回傳該交易所上的股票代號。
prices[].currency字串固定回傳所有價格欄位的幣別。便士會換算為英鎊。
prices[].price字串固定回傳最新成交價,以 currency 計。
prices[].previous_close字串選填前一個交易時段的收盤價。未知時省略。
prices[].change字串選填price 減去 previous_close。previous_close 省略時一併省略。
prices[].change_percent字串選填相對於 previous_close 的漲跌幅,以百分比表示(1.5 代表 1.5%)。
prices[].volume字串選填今日成交股數。未知時省略,延遲報價一律省略。
prices[].market_session下列其一:pre、open、post、closed固定回傳標的所屬交易所在 timestamp 時的狀態:pre、open、post 或 closed。只有美國交易所有 pre 與 post。
prices[].timestamp日期時間固定回傳價格有效的時間(UTC,精確到秒)。
prices[].stale布林值固定回傳交易所開盤期間價格已超過 15 分鐘,或無法更新時為 true。休市時永遠不算過時。
prices[].delayed一律為 true選填不會回傳:所有帳號的價格皆為即時。
errors物件陣列固定回傳沒有回傳價格的 ID,不收費。
errors[].id字串固定回傳請求時傳入的 ID。
errors[].code下列其一:not_found、not_covered、upstream_busy固定回傳not_found:沒有這個標的。not_covered:該交易所尚無價格。upstream_busy:目前無法取得價格,請稍後再試。
請求
curl -H "Authorization: Bearer $NARWHAL_API_KEY" \
  "https://api.narwhalapi.com/v1/equities/prices?ids=XNAS:MSFT,XNAS:NVDA"
回應範例
{
  "prices": [
    {
      "id": "XNAS:MSFT",
      "symbol": "MSFT",
      "currency": "USD",
      "price": "421.35",
      "previous_close": "418.90",
      "change": "2.45",
      "change_percent": "0.58",
      "volume": "18234100",
      "market_session": "open",
      "timestamp": "2026-10-26T15:42:00Z",
      "stale": false
    },
    {
      "id": "XNAS:NVDA",
      "symbol": "NVDA",
      "currency": "USD",
      "price": "188.20",
      "previous_close": "187.10",
      "change": "1.10",
      "change_percent": "0.59",
      "volume": "152003400",
      "market_session": "open",
      "timestamp": "2026-10-26T15:42:00Z",
      "stale": false
    }
  ],
  "errors": [
    {
      "id": "XNAS:NOPE",
      "code": "not_found"
    }
  ]
}

美國股票漲跌幅排行

GET /v1/equities/movers

依 direction 回傳前 25 檔美國股票與 ETF:gainers、losers 或 active(在當日漲跌幅最大的股票中,依成交值排序,並非全市場)。僅納入股價在 $1 以上、今日成交至少 100,000 股且成交金額至少 $1 million 的普通股與 ETF;由我們自行排名並快取 10 分鐘。change_percent 以百分比表示。market 目前只有 us;其他市場回傳 404 not_covered,未知的 direction 回傳 400 invalid_query。計為一次呼叫。

漲跌幅排行僅提供美國市場。其他市場回傳 404 not_covered。

MCP:工具 equities, action movers。

參數

參數位置必填類型含義
marketquery否字串要排名的市場。目前只有 us;其他市場回傳 404 not_covered。
directionquery否字串gainers(漲幅最大)、losers(跌幅最大)或 active(在當日漲跌幅最大的股票中,成交值最高者,並非全市場)。其他值回傳 400 invalid_query。

回應欄位

欄位類型傳送含義
market一律為 "us"固定回傳已排名的市場。
direction下列其一:gainers、losers、active固定回傳所請求的排名類型。
movers物件陣列固定回傳最多 25 筆,名次最前者在先。僅納入股價在 $1 以上、今日成交至少 100,000 股且成交金額至少 $1 million 的普通股與 ETF。
movers[].id字串固定回傳標準標的 ID。
movers[].symbol字串固定回傳該交易所上的股票代號。
movers[].name字串固定回傳公司或基金名稱。
movers[].price字串固定回傳最新價格,以美元計。
movers[].change_percent字串固定回傳相對於前一日收盤價的漲跌幅,以百分比表示(31.4 代表 31.4%),小數 2 位。
movers[].volume字串固定回傳今日成交股數。
timestamp日期時間固定回傳清單中最新一筆價格的有效時間(UTC)。
請求
curl -H "Authorization: Bearer $NARWHAL_API_KEY" \
  "https://api.narwhalapi.com/v1/equities/movers?market=us&direction=gainers"
回應範例
{
  "market": "us",
  "direction": "gainers",
  "movers": [
    {
      "id": "XNAS:NVDA",
      "symbol": "NVDA",
      "name": "NVIDIA Corporation",
      "price": "188.20",
      "change_percent": "4.12",
      "volume": "152003400"
    }
  ],
  "timestamp": "2026-10-26T15:42:00Z"
}

單一股票的價格 K 線

GET /v1/equities/{id}/bars

日 K 線(1d)或 1 分鐘 K 線(1m),由舊到新排列,已依股票分割與股利調整。歷史範圍:所有帳號皆可取得全部資料。1 分鐘 K 線可回溯到 2020 年,每次呼叫最多涵蓋 5 天(400 range_too_large)。當日的日 K 線在交易所收盤後才會出現。每頁最多 5,000 根 K 線,並附 next_cursor;游標與價格不再相符時回傳 409 cursor_expired。每頁計為一次呼叫。

K 線已依股票分割與股利調整。若在兩頁之間因分割或股利而使歷史資料改變,游標會失效並回傳 409 cursor_expired。

MCP:工具 equities, action bars。

參數

參數位置必填類型含義
idpath是字串標的 ID:交易所的四個字母代碼、冒號與股票代號,例如 XNAS:MSFT 或 XNYS:BRK.B。只給美國股票代號(例如 MSFT)時,若僅對應一個美國標的也可使用,回應會附上標準 ID。股別以句點表示(BRK.B),也接受 BRK-B。
intervalquery否下列其一:1d、1m1d(每個交易時段一根 K 線)或 1m(1 分鐘 K 線)。其他值回傳 400 invalid_interval。
startquery否字串第一根 K 線。1d:日期(YYYY-MM-DD),含該日;省略時為最舊的一根。1m:UTC 時間(YYYY-MM-DDTHH:MM:SSZ,或以日期代表 UTC 00:00),含該時間;省略時為 end 的前一天。
endquery否字串最後一根 K 線。1d:日期,含該日;省略時為已有 K 線的最新交易日。1m:UTC 時間,不含該時間;省略時為現在,或 start 之後五天。1m 的 start 與 end 相隔最多 5 天(400 range_too_large)。
cursorquery否字串上一頁的 next_cursor,其他參數須與上一頁相同。游標背後的價格改變(股票分割或股利)時會失效:409 cursor_expired。

回應欄位

欄位類型傳送含義
id字串固定回傳標準標的 ID。
currency字串固定回傳所有價格的幣別。便士會換算為英鎊。
adjusted布林值固定回傳一律為 true:價格已依股票分割與股利調整。相鄰兩頁的資料保持一致;若在兩頁之間因分割或股利而使歷史資料改變,游標會失效(409 cursor_expired),不會混用兩種資料。
start字串選填不會回傳:start 不會被調整。
end字串選填不會回傳:日 K 線不會被截斷。
bars物件陣列固定回傳每頁最多 5,000 根 K 線。
bars[].date字串選填交易日(YYYY-MM-DD)。僅日 K 線有,1 分鐘 K 線省略。
bars[].timestamp日期時間固定回傳K 線期間的起點(UTC):日 K 線為交易所開盤時間,1 分鐘 K 線為該分鐘。
bars[].open字串固定回傳期間的第一個價格。
bars[].high字串固定回傳期間的最高價。
bars[].low字串固定回傳期間的最低價。
bars[].close字串固定回傳期間的最後價格。
bars[].volume字串選填該期間的成交股數。未知時省略。
next_cursor字串固定回傳傳回此值即可讀取下一頁。最後一頁為 null。
請求
curl -H "Authorization: Bearer $NARWHAL_API_KEY" \
  "https://api.narwhalapi.com/v1/equities/XNAS:MSFT/bars?interval=1d&start=2026-10-01"
回應範例
{
  "id": "XNAS:MSFT",
  "currency": "USD",
  "adjusted": true,
  "bars": [
    {
      "date": "2026-10-23",
      "timestamp": "2026-10-23T13:30:00Z",
      "open": "417.10",
      "high": "420.55",
      "low": "415.80",
      "close": "418.90",
      "volume": "21034500"
    }
  ],
  "next_cursor": null
}

單一股票的股利

GET /v1/equities/{id}/dividends

單一標的的現金股利,依除息日由新到舊排列,分頁回傳。清單可能包含已公告的未來資料列。所有帳號皆可取得完整歷史。即將發生的資料列不會被截掉。每次請求計為一次呼叫。未知的 ID 回傳 404 not_found;尚無資料的市場回傳 404 not_covered。

MCP:工具 equities, action dividends。

參數

參數位置必填類型含義
idpath是字串標的 ID:交易所的四個字母代碼、冒號與股票代號,例如 XNAS:MSFT 或 XNYS:BRK.B。只給美國股票代號(例如 MSFT)時,若僅對應一個美國標的也可使用,回應會附上標準 ID。股別以句點表示(BRK.B),也接受 BRK-B。
cursorquery否字串上一頁的 next_cursor,其他參數須與上一頁相同。

回應欄位

欄位類型傳送含義
id字串固定回傳標準標的 ID。
start日期選填不會回傳:所有帳號皆可取得完整歷史。
dividends物件陣列固定回傳依除息日由新到舊排列。可能包含已公告的未來資料列。
dividends[].ex_date日期固定回傳股票開始不含該筆股利交易的第一天。
dividends[].amount字串固定回傳每股股利,以 currency 計。
dividends[].currency字串固定回傳amount 的幣別。便士會換算為英鎊。
dividends[].pay_date日期選填發放日。未知時省略。
dividends[].record_date日期選填股東須登記在冊的日期。未知時省略。
next_cursor字串固定回傳作為 cursor 傳入即可取得下一頁;最後一頁為 null。
請求
curl -H "Authorization: Bearer $NARWHAL_API_KEY" \
  "https://api.narwhalapi.com/v1/equities/XNAS:MSFT/dividends"
回應範例
{
  "id": "XNAS:MSFT",
  "dividends": [
    {
      "ex_date": "2026-08-20",
      "amount": "0.91",
      "currency": "USD",
      "pay_date": "2026-09-10",
      "record_date": "2026-08-20"
    }
  ],
  "next_cursor": null
}

單一股票的股票分割

GET /v1/equities/{id}/splits

單一標的的股票分割,由新到舊排列。所有帳號皆可取得完整歷史。即將發生的資料列不會被截掉。每次請求計為一次呼叫。未知的 ID 回傳 404 not_found;尚無資料的市場回傳 404 not_covered。

MCP:工具 equities, action splits。

參數

參數位置必填類型含義
idpath是字串標的 ID:交易所的四個字母代碼、冒號與股票代號,例如 XNAS:MSFT 或 XNYS:BRK.B。只給美國股票代號(例如 MSFT)時,若僅對應一個美國標的也可使用,回應會附上標準 ID。股別以句點表示(BRK.B),也接受 BRK-B。

回應欄位

欄位類型傳送含義
id字串固定回傳標準標的 ID。
start日期選填不會回傳:所有帳號皆可取得完整歷史。
splits物件陣列固定回傳由新到舊排列。
splits[].date日期固定回傳股票開始以分割後基準交易的第一天。
splits[].ratio字串固定回傳新股對舊股的比例:10:1 表示每持有一股可得十股;1:10 為反向分割。
請求
curl -H "Authorization: Bearer $NARWHAL_API_KEY" \
  "https://api.narwhalapi.com/v1/equities/XNAS:NFLX/splits"
回應範例
{
  "id": "XNAS:NFLX",
  "splits": [
    {
      "date": "2025-11-17",
      "ratio": "10:1"
    }
  ]
}

單一股票的財報

GET /v1/equities/{id}/earnings

單一標的已公布的財報(在交易所當地日期為今日或更早),含預估值、實際值與意外幅度,由新到舊排列,分頁回傳。尚未提供即將公布的財報日期。surprise_percent 以百分比表示。eps_actual 採市場資料口徑,可能與估值中的申報文件 EPS 不同。若我們持有,filing_id 會指出涵蓋該筆財報的年報或季報。所有帳號皆可取得完整歷史。每次請求計為一次呼叫。未知的 ID 回傳 404 not_found;尚無資料的市場回傳 404 not_covered。

此路由只回傳已公布的財報,尚未提供即將公布的財報日期。

filing_id 將已公布的財報連結到涵蓋它的申報文件。可將它傳給 Filings API 的 GET /v1/filings/{filing_id}。

MCP:工具 equities, action earnings。

參數

參數位置必填類型含義
idpath是字串標的 ID:交易所的四個字母代碼、冒號與股票代號,例如 XNAS:MSFT 或 XNYS:BRK.B。只給美國股票代號(例如 MSFT)時,若僅對應一個美國標的也可使用,回應會附上標準 ID。股別以句點表示(BRK.B),也接受 BRK-B。
cursorquery否字串上一頁的 next_cursor,其他參數須與上一頁相同。

回應欄位

欄位類型傳送含義
id字串固定回傳標準標的 ID。
start日期選填不會回傳:所有帳號皆可取得完整歷史。
earnings物件陣列固定回傳僅含已公布的財報,由新到舊排列。尚未提供即將公布的財報日期。
earnings[].date日期固定回傳財報公布日(在交易所當地日期為今日或更早)。
earnings[].time下列其一:before_open、after_close、during選填當日公布的時段。未知時省略。
earnings[].eps_estimate字串選填分析師預估的每股盈餘。沒有時省略。
earnings[].eps_actual字串選填採市場資料口徑公布的每股盈餘,可能與估值中 eps_ttm 的申報文件 EPS 不同。公布前省略。
earnings[].surprise字串選填eps_actual 減去 eps_estimate,四捨五入至小數 2 位。
earnings[].surprise_percent字串選填surprise 占預估值的百分比(8.31 代表 8.31%),小數 2 位。
earnings[].filing_id字串選填我們的申報資料中涵蓋這筆財報的年報、半年報或季報:可傳給 Filings 的 GET /v1/filings/{filing_id}。公司沒有對應的申報資料,或沒有符合該日期的報告時省略。
next_cursor字串固定回傳作為 cursor 傳入即可取得下一頁;最後一頁為 null。
請求
curl -H "Authorization: Bearer $NARWHAL_API_KEY" \
  "https://api.narwhalapi.com/v1/equities/XNAS:MSFT/earnings"
回應範例
{
  "id": "XNAS:MSFT",
  "earnings": [
    {
      "date": "2026-07-29",
      "time": "after_close",
      "eps_estimate": "3.31",
      "eps_actual": "3.45",
      "surprise": "0.14",
      "surprise_percent": "4.23",
      "filing_id": "usa:0000789019:0000950170-26-000123"
    }
  ],
  "next_cursor": null
}

單一股票的市值、P/E、P/S、P/B 與股息殖利率

GET /v1/equities/{id}/valuation

單一美國或韓國標的的市值(最新價格乘以流通在外股數)、P/E(最新價格除以公司申報文件中近 12 個月的稀釋後 EPS,依 GAAP 或 IFRS 原始申報)、P/S(市值除以近 12 個月營收)、P/B(市值除以最新資產負債表的權益總額)與股息殖利率(近 12 個月每股股利除以價格,以百分比表示),並附上輸入項與其對應日期。韓國目前僅提供 P/E;市值、P/S、P/B 與殖利率待取得股數與股利後提供。無法正確計算的數字會省略,不會以 0 回傳:股數日期之後發生股票分割時的市值、多個股別但各自沒有股數時的市值,以及存託憑證或外國申報公司的市值;EPS 為負值或低於 0.01、以其他幣別申報,或為存託憑證時的 P/E。同一公司的其他股別(例如特別股)沒有自己的數字,也不會顯示。美國與韓國以外的標的,或無法明確對應公司的標的,回傳 404 not_covered。計為一次呼叫。

每個比率都附有其輸入項與對應的日期:shares_as_of、eps_period_end、revenue_period_end、equity_as_of 與 dividends_period_end。

MCP:工具 equities, action valuation。

參數

參數位置必填類型含義
idpath是字串標的 ID:交易所的四個字母代碼、冒號與股票代號,例如 XNAS:MSFT 或 XNYS:BRK.B。只給美國股票代號(例如 MSFT)時,若僅對應一個美國標的也可使用,回應會附上標準 ID。股別以句點表示(BRK.B),也接受 BRK-B。

回應欄位

欄位類型傳送含義
id字串固定回傳標準標的 ID。
currency字串固定回傳market_cap 的幣別,以及 pe_ratio 所用價格的幣別。
market_cap字串選填最新價格乘以 shares_outstanding,以 currency 計,取整數單位。shares_as_of 之後發生股票分割、公司有多個股別但各自沒有股數,以及存託憑證或外國申報公司時省略。韓國尚無市值:其標的目前僅顯示 P/E。
pe_ratio字串選填最新價格除以 eps_ttm,小數 2 位。eps_ttm 為負值或低於 0.01、申報幣別不是 currency、eps_period_end 之後發生股票分割,以及存託憑證時省略。
ps_ratio字串選填股價營收比:market_cap 除以 revenue_ttm,小數 2 位。market_cap 省略時一併省略,營收不大於 0 或以 currency 以外的幣別申報時也省略。
pb_ratio字串選填股價淨值比:market_cap 除以 total_equity,小數 2 位。market_cap 省略時一併省略,權益總額為 0 或負值,或以 currency 以外的幣別申報時也省略。
dividend_yield字串選填近 12 個月每股股利除以最新價格,以百分比表示(0.71 代表 0.71%),小數 2 位。這 12 個月沒有股利紀錄(包含不配息的公司)、dividends_period_end 之後發生股票分割、股利幣別不是 currency,以及存託憑證時省略。
shares_outstanding字串選填公司主要普通股別的流通在外股數。若標的屬於其他股別(例如特別股),此處沒有股數,故省略。
shares_as_of日期選填shares_outstanding 的計算基準日。有股數時一併顯示。
eps_ttm字串選填公司申報文件中近 12 個月的稀釋後 EPS(依 GAAP 或 IFRS 原始申報);第四季為全年數字減去前三季。能計算時一律顯示;標的屬於公司其他股別時省略。它可能與股票財報中採市場資料口徑的 eps_actual 不同。
eps_period_end日期選填eps_ttm 所含最新一季的結束日。eps_ttm 有值時一併顯示。
revenue_ttm字串選填公司申報文件中近 12 個月的營收,以申報幣別的整數單位表示(第四季為全年數字減去前三季)。沒有完整四季或全年資料,以及標的屬於公司其他股別時省略。
revenue_period_end日期選填revenue_ttm 所含最新一季的結束日。有值時一併顯示。
total_equity字串選填最新資產負債表的權益總額,含非控制權益,以申報幣別的整數單位表示。可能為負值。
equity_as_of日期選填total_equity 的資產負債表日期。有值時一併顯示。
dividend_per_share_ttm字串選填主要普通股別近 12 個月宣告的每股股利,以申報幣別計。能計算時一律顯示。
dividends_period_end日期選填dividend_per_share_ttm 所含最新一季的結束日。有值時一併顯示。
company_id字串固定回傳標的所對應到的我們申報資料中的公司。
timestamp日期時間固定回傳此回應所用價格的有效時間(UTC)。
請求
curl -H "Authorization: Bearer $NARWHAL_API_KEY" \
  "https://api.narwhalapi.com/v1/equities/XNAS:MSFT/valuation"
回應範例
{
  "id": "XNAS:MSFT",
  "currency": "USD",
  "market_cap": "3130000000000",
  "pe_ratio": "33.50",
  "ps_ratio": "11.40",
  "pb_ratio": "10.20",
  "dividend_yield": "0.86",
  "shares_outstanding": "7430000000",
  "shares_as_of": "2026-07-24",
  "eps_ttm": "12.58",
  "eps_period_end": "2026-06-30",
  "revenue_ttm": "274500000000",
  "revenue_period_end": "2026-06-30",
  "total_equity": "307000000000",
  "equity_as_of": "2026-06-30",
  "dividend_per_share_ttm": "3.64",
  "dividends_period_end": "2026-06-30",
  "company_id": "usa:0000789019",
  "timestamp": "2026-10-26T15:42:00Z"
}

單一股票的 Beta、股權成本、債務成本與 WACC

GET /v1/equities/{id}/cost-of-capital

單一美國或韓國股票相對於基準 ETF 的 Beta(預設使用兩年的週報酬,價格已依股票分割與股利調整)、無風險利率(該國政府殖利率曲線的 10 年期點位,或由你提供)、股權成本(無風險利率加上 Beta 乘以股權風險溢酬:你以 erp 傳入,或預設採用我們公布的該國總溢酬)、債務成本(公司申報文件中的利息費用除以平均總債務;無法使用時,改以無風險利率加上公開表格中對應公司利息保障倍數的預設利差;提供稅前與稅後數字,稅率採公開表格中的該國企業稅率,除非你傳入 tax_rate),以及依市值與總債務加權的 WACC。回應中每個輸入項都附有數值、依據與日期。銀行與保險公司回傳 422 not_applicable;無法正確計算的輸入項會列在 422 inputs_unavailable 中,不會自行修補;有顯示但需留意的數字會附上 warnings 項目。計為一次呼叫。

必須提供 erp。此處沒有韓國的殖利率曲線,因此韓國股票需傳入 risk_free。每個輸入項都附有數值與日期,warnings 會列出在採用前需要確認的數字。

MCP:工具 equities, action cost_of_capital。

參數

參數位置必填類型含義
idpath是字串標的 ID:交易所的四個字母代碼、冒號與股票代號,例如 XNAS:MSFT 或 XNYS:BRK.B。只給美國股票代號(例如 MSFT)時,若僅對應一個美國標的也可使用,回應會附上標準 ID。股別以句點表示(BRK.B),也接受 BRK-B。
erpquery否字串你的股權風險溢酬,以百分比表示(5 代表 5%)。省略時採用我們公布的該股票所屬國家的總股權風險溢酬(回應會註明其日期與依據)。我們沒有公布的國家,若未提供則回傳 400 erp_required。須大於 0 且不超過 25。
benchmarkquery否字串計算 Beta 所對照的市場代表標的 ID:與該股票同幣別計價的 ETF、基金或股票。省略時,美國股票用 ARCX:SPY,韓國股票用 XKRX:069500,日本股票用 XTKS:1306;其他市場必須提供。
windowquery否下列其一:2y、5y報酬率回溯的期間:2y(預設)或 5y。
frequencyquery否下列其一:weekly、monthly報酬率的間隔:weekly(預設;取每個 ISO 週的最後一個共同交易日)或 monthly。
betaquery否下列其一:raw、adjusted股權成本採用哪一種 Beta:raw(預設)或 adjusted(0.67 乘以原始值再加 0.33)。兩者一律都會出現在回應中。
risk_freequery否字串你自己的無風險利率,以百分比表示。省略時採用該國政府殖利率曲線的 10 年期點位。我們沒有曲線的地區(韓國)必須提供:未提供時回傳 422 risk_free_unavailable。
tax_ratequery否字串你自己用於債務稅盾的稅率,以百分比表示。省略時採用 Damodaran 公開表格中該股票所屬國家的企業稅率(PwC 稅率)。範圍為 0 至 60。
periodquery否下列其一:ttm、annual利息費用的期間:近 12 個月(ttm,預設)或最近一個完整會計年度(annual)。韓國與日本只有年度數字,因此使用 annual。

回應欄位

欄位類型傳送含義
id字串固定回傳標準標的 ID。
currency字串固定回傳金額欄位的幣別。
company_id字串固定回傳標的所對應到的我們申報資料中的公司。
beta對象固定回傳
beta.benchmark對象固定回傳
beta.benchmark.id字串固定回傳基準標的的 ID。
beta.benchmark.default一律為 true選填基準為我們針對該股票所屬市場的預設值時,會出現並為 true。
beta.window下列其一:2y、5y固定回傳
beta.frequency下列其一:weekly、monthly固定回傳
beta.start日期固定回傳第一筆報酬率所對應的第一個價格的日期。
beta.end日期固定回傳最後一筆報酬率所對應的最後一個價格的日期。
beta.observations整數固定回傳迴歸中使用的報酬率筆數。
beta.raw字串固定回傳股票報酬率對基準報酬率的迴歸斜率,兩者所用的價格皆已依股票分割與股利調整。
beta.adjusted字串固定回傳0.67 乘以 raw 再加 0.33。
beta.used下列其一:raw、adjusted固定回傳cost_of_equity 所採用的 Beta。
beta.r_squared字串固定回傳可解釋股票變異數的比例。
beta.std_error字串固定回傳raw 的標準誤。
risk_free對象固定回傳
risk_free.rate字串固定回傳無風險利率,以百分比表示(4.25 代表 4.25%)。
risk_free.source下列其一:yield_curve、caller固定回傳
risk_free.basis下列其一:ours、caller固定回傳ours:我們公布的官方政府殖利率曲線。caller:由你提供。
risk_free.country字串選填殖利率曲線所屬國家。caller 時不會回傳。
risk_free.maturity一律為 "10y"選填曲線上的點位。caller 時不會回傳。
risk_free.tenor一律為 "P10Y"選填maturity 的 ISO 8601 期間表示。caller 時不會回傳。
risk_free.curve_type字串選填曲線的報價方式(平價、零息、Svensson、到期殖利率),各國略有不同。caller 時不會回傳。
risk_free.as_of日期選填曲線的日期。caller 時不會回傳。
equity_risk_premium對象固定回傳
equity_risk_premium.rate字串固定回傳股權風險溢酬,以百分比表示(4.25 代表 4.25%)。
equity_risk_premium.source下列其一:narwhal、caller固定回傳由誰設定:narwhal 為我們公布的該股票所屬國家的總股權風險溢酬,caller 為你傳入的 erp。
equity_risk_premium.country字串選填我們的溢酬所屬國家,ISO 3166-1 alpha-3。僅限 narwhal。
equity_risk_premium.as_of日期選填我們的溢酬所對應的日期。僅限 narwhal。
equity_risk_premium.basis下列其一:observed、modelled、table選填我們的總溢酬如何建立:observed 來自我們自己的資料,modelled 由我們的利差模型推估,table 的國家部分取自公開表格。僅限 narwhal。
cost_of_equity字串固定回傳無風險利率加上 Beta 乘以股權風險溢酬,以百分比表示(4.25 代表 4.25%)。
cost_of_debt對象選填公司沒有債務紀錄時省略。
cost_of_debt.pre_tax字串固定回傳利息費用除以平均總債務,以百分比表示(4.25 代表 4.25%)。無法使用(利息不為正,或結果低於 0.1% 或高於 30%)且有 EBIT 紀錄時,改用無風險利率加上公開表格中對應公司利息保障倍數的預設利差;由 basis 說明採用哪一種。
cost_of_debt.basis下列其一:ours、table固定回傳ours:公司申報文件中的利息費用除以平均債務。table:無風險利率加上表格中的預設利差。
cost_of_debt.interest_coverage字串選填EBIT 除以利息費用。僅限 table;沒有利息時省略。
cost_of_debt.default_spread字串選填該利息保障倍數對應的預設利差,以百分比表示(4.25 代表 4.25%)。僅限 table。
cost_of_debt.table字串選填利差表格的名稱。僅限 table。
cost_of_debt.table_update字串選填表格的更新時間,例如 January 2026。僅限 table。
cost_of_debt.table_url字串選填表格的公布位置。僅限 table。
cost_of_debt.after_tax字串選填pre_tax 乘以(1 減稅率)。稅率未知時省略。
cost_of_debt.period下列其一:ttm、annual固定回傳
cost_of_debt.period_end日期固定回傳利息所含最新一季或一年的結束日。
cost_of_debt.interest_expense字串固定回傳該期間的利息費用,以 currency 的整數單位表示。
cost_of_debt.average_debt字串固定回傳期初與期末總債務的平均值;沒有期初紀錄時僅用期末餘額。以 currency 的整數單位表示,不含租賃。
cost_of_debt.opening_debt字串選填period_end 一年前的總債務。沒有紀錄時省略。
cost_of_debt.closing_debt字串固定回傳period_end 當日的總債務。
tax_rate對象選填該國在表格中沒有稅率時省略。可傳入 tax_rate 自行設定。
tax_rate.rate字串固定回傳債務適用的稅率,以百分比表示(4.25 代表 4.25%)。
tax_rate.basis下列其一:table、caller固定回傳table:公開表格中的該國稅率。caller:由你提供。
tax_rate.source下列其一:country_table、caller固定回傳country_table:公開表格中該股票所屬國家的企業稅率。caller:你傳入的 tax_rate。
tax_rate.country字串選填稅率所屬國家的 ISO 3166-1 alpha-3 代碼。僅限表格稅率。
tax_rate.table字串選填表格名稱,含發布者與來源。僅限表格稅率。
tax_rate.table_update字串選填稅率所取自表格的更新時間,例如 January 2026。
tax_rate.table_url字串選填表格的公布位置。僅限表格稅率。
weights對象固定回傳
weights.equity字串固定回傳市值除以(市值加債務),以百分比表示(4.25 代表 4.25%)。
weights.debt字串固定回傳債務除以(市值加債務),以百分比表示(4.25 代表 4.25%)。
weights.market_cap字串固定回傳最新價格乘以流通在外股數,以 currency 的整數單位表示。
weights.market_cap_as_of日期時間固定回傳market_cap 所用價格的有效時間。
weights.total_debt字串固定回傳最新的總債務紀錄,以 currency 的整數單位表示,不含租賃。
weights.total_debt_as_of日期固定回傳total_debt 的資產負債表日期。
wacc字串選填加權平均資金成本,以百分比表示(4.25 代表 4.25%)。沒有債務的公司等於 cost_of_equity。有債務但稅率未知時省略。
warnings物件陣列固定回傳使用這些數字前需要確認的事項。沒有時為空。
warnings[].code字串固定回傳穩定且可供程式讀取的代碼。
warnings[].message字串固定回傳以白話說明其意義。
methodology_url字串固定回傳每個數字的計算方式。
請求
curl -H "Authorization: Bearer $NARWHAL_API_KEY" \
  "https://api.narwhalapi.com/v1/equities/XNAS:MSFT/cost-of-capital?erp=5"
回應範例
{
  "id": "XNAS:MSFT",
  "currency": "USD",
  "company_id": "usa:0000789019",
  "beta": {
    "benchmark": {
      "id": "ARCX:SPY",
      "default": true
    },
    "window": "2y",
    "frequency": "weekly",
    "start": "2024-10-25",
    "end": "2026-10-16",
    "observations": 103,
    "raw": "1.0842",
    "adjusted": "1.0564",
    "used": "raw",
    "r_squared": "0.5731",
    "std_error": "0.0894"
  },
  "risk_free": {
    "rate": "4.1200",
    "source": "yield_curve",
    "basis": "ours",
    "country": "USA",
    "maturity": "10y",
    "curve_type": "nominal_par",
    "as_of": "2026-10-22"
  },
  "equity_risk_premium": {
    "rate": "5.0000",
    "source": "caller"
  },
  "cost_of_equity": "9.5410",
  "cost_of_debt": {
    "pre_tax": "3.9100",
    "basis": "ours",
    "after_tax": "2.9078",
    "period": "ttm",
    "period_end": "2026-06-30",
    "interest_expense": "2900000000",
    "average_debt": "74200000000",
    "opening_debt": "72000000000",
    "closing_debt": "76400000000"
  },
  "tax_rate": {
    "rate": "25.6300",
    "source": "country_table",
    "basis": "table",
    "country": "USA",
    "table": "Damodaran, corporate marginal tax rates by country (PwC, January 2026 update)",
    "table_update": "January 2026",
    "table_url": "https://pages.stern.nyu.edu/~adamodar/New_Home_Page/datafile/countrytaxrates.html"
  },
  "weights": {
    "equity": "98.0000",
    "debt": "2.0000",
    "market_cap": "3893412000000",
    "market_cap_as_of": "2026-10-26T15:42:00Z",
    "total_debt": "76400000000",
    "total_debt_as_of": "2026-06-30"
  },
  "wacc": "9.4083",
  "warnings": [],
  "methodology_url": "https://narwhalapi.com/methodology/cost-of-capital"
}

單一股票的估值歷史

GET /v1/equities/{id}/valuation/history

單一美國或韓國標的在每個會計期間結束日(季末或年末)的市值、P/E、P/S、P/B 與股息殖利率,由舊到新排列。每個資料點採用當日或之前最近一個交易日的收盤價(僅依股票分割調整),以及該期間申報的數字(近 12 個月的 EPS、營收與股利、權益總額、最接近的股數),因此後續的重編也會反映其中。無法計算的數字會省略,不會以 0 回傳,規則與估值相同。歷史範圍:所有帳號皆可取得全部資料。美國與韓國以外的標的,或無法明確對應公司的標的,回傳 404 not_covered。計為一次呼叫。

MCP:工具 equities, action valuation_history。

參數

參數位置必填類型含義
idpath是字串標的 ID:交易所的四個字母代碼、冒號與股票代號,例如 XNAS:MSFT 或 XNYS:BRK.B。只給美國股票代號(例如 MSFT)時,若僅對應一個美國標的也可使用,回應會附上標準 ID。股別以句點表示(BRK.B),也接受 BRK-B。

回應欄位

欄位類型傳送含義
id字串固定回傳標準標的 ID。
currency字串固定回傳所有價格與市值的幣別。
company_id字串固定回傳標的所對應到的我們申報資料中的公司。
start日期選填不會回傳:所有帳號皆可取得完整歷史。
points物件陣列固定回傳公司每個會計期間結束日各有一個資料點,由舊到新排列。每個資料點由該期間申報的數字與當日價格計算而得,並非依當時已知的資訊:後續的重編也會反映其中。沒有價格或沒有任何數字的期間不會有資料點。
points[].date日期固定回傳公司的會計期間結束日(季末或年末):此資料點的所有數字皆以這一天為基準。
points[].price字串選填price_date 的收盤價,以 currency 計,僅依股票分割調整(不依股利調整),因此與今日的股份基準一致。目前無法讀取該期間的價格時,此欄與以下所有數字一併省略,請稍後再試。
points[].price_date日期選填價格所屬的交易日:date 當日或之前最近的一個交易日(最多提早 7 天)。
points[].market_cap字串選填price 乘以最接近 date 的股數(在其前 130 天到後 45 天內計算),採今日的股份基準,以 currency 的整數單位表示。沒有這樣的股數、多個股別但各自沒有股數,以及存託憑證或外國申報公司時省略。
points[].pe_ratio字串選填price 除以截至 date 的四個季度的稀釋後 EPS,小數 2 位。EPS 為負值或低於 0.01、未以 currency 申報、沒有截至 date 的四個季度(或全年)資料,以及存託憑證時省略。
points[].ps_ratio字串選填market_cap 除以截至 date 的四個季度營收,小數 2 位。market_cap 省略時一併省略,營收沒有紀錄、不大於 0 或不是以 currency 申報時也省略。
points[].pb_ratio字串選填market_cap 除以日期為 date 的資產負債表的權益總額,小數 2 位。market_cap 省略時一併省略,權益沒有紀錄、不大於 0 或不是以 currency 申報時也省略。
points[].dividend_yield字串選填截至 date 的四個季度每股股利除以 price,以百分比表示(0.71 代表 0.71%),小數 2 位。這些季度沒有股利紀錄、股利不是以 currency 計,以及存託憑證時省略。
請求
curl -H "Authorization: Bearer $NARWHAL_API_KEY" \
  "https://api.narwhalapi.com/v1/equities/XNAS:MSFT/valuation/history"
回應範例
{
  "id": "XNAS:MSFT",
  "currency": "USD",
  "company_id": "usa:0000789019",
  "points": [
    {
      "date": "2026-06-30",
      "price": "497.40",
      "price_date": "2026-06-30",
      "market_cap": "3697000000000",
      "pe_ratio": "39.54",
      "ps_ratio": "13.47",
      "pb_ratio": "12.04",
      "dividend_yield": "0.73"
    }
  ]
}

錯誤

錯誤使用共用的問題格式,並包含 request_id。查看 API 錯誤 處理:錯誤碼、額度與重試 了解格式與額度標頭。失敗的請求不計費。

代碼狀態含義
invalid_query400參數缺漏、未知、重複,或超出範圍。
invalid_id400id 或交易對的寫法不符合此 API 的要求。
too_many_ids400批次包含超過 50 個 id。
invalid_interval400間隔不是 1d 或 1m,或此商品不支援該間隔。
range_too_large400區間超過此路由允許的長度。
not_found404沒有此標的、基金或交易對。
not_covered404尚未支援此市場、國家或公司。
invalid_cursor400此游標不是這個請求所回傳的,或來自不同的請求。
cursor_expired409游標所對應的價格已變動。請不帶游標重新開始。
insufficient_credits402您的額度餘額不足以支付此請求的費用。
upstream_busy503目前無法取得價格。在批次中會列在 errors。請稍後再試。
area_unavailable503此區域目前無法回應。
erp_required400請傳入 erp,即以百分比表示的股權風險溢酬。
insufficient_history422該股票與其基準共有的報酬率筆數,少於區間的 80%。
risk_free_unavailable422此國家沒有殖利率曲線。請傳入 risk_free。
not_applicable422WACC 對銀行或保險公司沒有意義。
currency_mismatch422基準或申報文件的幣別與價格不同。
inputs_unavailable422某個輸入無法正確計算。detail 會指出是哪一個。

此頁面對你有幫助嗎?