すべてのドキュメントを閲覧

株価APIリファレンス

上場株式の価格、履歴、企業イベント、バリュエーション指標

概要

上場株式の価格、価格履歴、企業イベント、時価総額、バリュエーション指標。すべてのリクエストに Bearer キーが必要で、REST と MCP は同じクレジット残高から差し引かれます。

銘柄 ID は、取引所の4文字コード、コロン、ティッカーの順に並べたものです(例: XNAS:MSFT、XNYS:BRK.B)。MSFT のような米国ティッカー単体でも、米国の銘柄が1つに決まる場合は使えます。どの応答にも正規の ID が含まれます。価格と金額は10進数の文字列です。

各銘柄には company_id が付くことがあります。これは銘柄を Filings API の企業に結び付けるので、価格、バリュエーション、財務諸表を1つの ID でつなげられます。

ベースURL: https://api.narwhalapi.com。 MCP ツールは次のとおりです: equities, with one action 以下の各ルートに対応します。

A company_id は銘柄を次のものに結び付けます: 開示書類 API: 財務諸表、開示書類、株主。

すべてのアカウントで利用できるもの

課金額すべてのアカウント
最新の価格ライブ
価格に付く当日出来高含まれる
日足バーと、過去の配当、株式分割、決算全期間の履歴
1分足バー含まれる
検索とプロファイル含まれる
値動き上位銘柄含まれる
時価総額、P/E、P/S、P/B、配当利回り含まれる
バリュエーション履歴全期間の履歴
資本コストとベータ含まれる

参照: 料金表 で、呼び出し1回の料金を確認できます。ルートに別の記載がない限り、リクエストはそのAPIの料金で課金されます。

  • バリュエーションの対象は、開示書類にある企業と一致する米国と韓国の銘柄です。韓国は現時点では P/E のみ表示します。
  • 正しく算出できない指標は省略され、0 として返されることはありません。
  • 決算の eps_actual は市場データ基準の値です。pe_ratio の元になる EPS は企業の開示書類に基づきます。両者は異なることがあるため、直接比較しないでください。
  • 資本コストの対象は、開示書類にある企業と一致する米国と韓国の銘柄です。株式リスクプレミアムは erp で自分の値を送ります。算出方法は資本コストの方法論に一度だけ記載しており、どの応答もそこへリンクしています。
  • 銀行と保険会社では、利息が営業費用にあたるため 422 not_applicable を返します。算出できない入力値は 422 inputs_unavailable で名前が示され、補完されることはありません。
  • バリュエーション履歴は、日ごとではなく会計期間の末日(四半期末または年度末)ごとに1点です。各点は、その日またはその直前の終値(株式分割のみ調整)と、その期間に提出された数値を使います。
  • 決算は過去の結果のみです。今後の決算発表日はまだ含まれません。
  • 日本のプロファイルには、名称、取引所、国、通貨、company_id のみが含まれます。

エンドポイント

すべてのルートは GET で、キーを次のヘッダーで渡す必要があります: Authorization: Bearer ヘッダー。例はレスポンスの形を示すもので、ライブデータではありません。

1銘柄のプロファイル

GET /v1/equities/{id}

銘柄(シンボル、名称、種類、取引所、国、通貨)、企業のセクター、業種、ウェブサイト、および開示書類にある企業と一致する場合の company_id。すべてのアカウントで利用できます。日本の銘柄には、名称、取引所、国、通貨、company_id のみが含まれます。不明な項目は省略されます。

MCP: ツール equities, action profile。

パラメータ

パラメータ場所必須種別意味
idパスはい文字列銘柄 ID。取引所の4文字コード、コロン、ティッカーの順です(例: XNAS:MSFT、XNYS:BRK.B)。MSFT のような米国ティッカー単体でも、米国の銘柄が1つに決まる場合は使え、応答には正規の 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文字列常に取引所の4文字コード。
country文字列任意銘柄の国。3文字。
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"
}

1銘柄の最新価格

GET /v1/equities/{id}/price

1銘柄の最新価格。change_percent はパーセント単位です。不明な ID は 404 not_found、まだ価格のない市場は 404 not_covered です。

MCP: ツール equities, action price。

パラメータ

パラメータ場所必須種別意味
idパスはい文字列銘柄 ID。取引所の4文字コード、コロン、ティッカーの順です(例: XNAS:MSFT、XNYS:BRK.B)。MSFT のような米国ティッカー単体でも、米国の銘柄が1つに決まる場合は使え、応答には正規の 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 ごとに1回分を数え、一括で引き落とします。解決できた ID の分を残高で払えない場合、リクエスト全体が 402 insufficient_credits で拒否されます。価格を返さなかった ID は errors に一覧され、課金されません。change_percent はパーセント単位です。

ID は最大50件まで送れます。バッチは一括で課金されます。解決できた ID の分を残高で払えない場合、リクエスト全体が 402 insufficient_credits を返します。

MCP: ツール equities, action prices。

パラメータ

パラメータ場所必須種別意味
idsクエリはい文字列カンマ区切りの銘柄 ID。重複を除いて最大50件です。各 ID は単一価格ルートと同じ規則に従います。価格を返した ID ごとに1回分を数えます。

レスポンスフィールド

フィールド種別送信意味
pricesオブジェクトの配列常に解決できた ID ごとに1つの価格を、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 に応じた米国株と ETF の上位25件: gainers、losers、active(その日の値上がり上位と値下がり上位のうち売買代金が最も大きいもの。市場全体ではありません)。対象は、価格が $1 以上で、本日の売買が10万株以上かつ $100万以上の普通株と ETF のみです。順位は自社で算出し、10分間キャッシュします。change_percent はパーセント単位です。market は現時点では us のみで、ほかの市場は 404 not_covered、不明な direction は 400 invalid_query です。1回分として数えます。

値動き上位銘柄は米国のみです。ほかの市場は 404 not_covered を返します。

MCP: ツール equities, action movers。

パラメータ

パラメータ場所必須種別意味
marketクエリいいえ文字列ランキング対象の市場。現時点では us のみで、ほかの市場は 404 not_covered です。
directionクエリいいえ文字列gainers(上昇率が最大)、losers(下落率が最大)、active(その日の値上がり上位と値下がり上位のうち売買代金が最も大きいもの。市場全体ではありません)。それ以外は 400 invalid_query です。

レスポンスフィールド

フィールド種別送信意味
market常に "us"常にランキングした市場。
direction次のいずれか: gainers, losers, active常にリクエストされたランキング。
moversオブジェクトの配列常に最大25件、上位から順に並びます。対象は、価格が $1 以上で、本日の売買が10万株以上かつ $100万以上の普通株と 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"
}

1銘柄の価格バー

GET /v1/equities/{id}/bars

日足(1d)または1分足(1m)のバーを古い順に返します。株式分割と配当で調整済みです。履歴はすべてのアカウントで全期間を利用できます。1分足は2020年までさかのぼれ、1回の呼び出しで最大5日分です(400 range_too_large)。当日の日足は取引所が閉まった後に表示されます。1ページ最大5,000本で、next_cursor が付きます。価格と一致しなくなったカーソルは 409 cursor_expired です。1ページにつき1回分として数えます。

バーは株式分割と配当で調整されています。2つのページの間に分割や配当で履歴が変わると、カーソルは使えなくなり 409 cursor_expired を返します。

MCP: ツール equities, action bars。

パラメータ

パラメータ場所必須種別意味
idパスはい文字列銘柄 ID。取引所の4文字コード、コロン、ティッカーの順です(例: XNAS:MSFT、XNYS:BRK.B)。MSFT のような米国ティッカー単体でも、米国の銘柄が1つに決まる場合は使え、応答には正規の ID が含まれます。株式クラスにはドットを使います(BRK.B)。BRK-B も受け付けます。
intervalクエリいいえ次のいずれか: 1d, 1m1d(取引日ごとに1本)または 1m(1分足)。それ以外は 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_cursor。ほかのパラメータは同じ値にします。カーソルは、元になる価格が変わる(分割や配当)と使えなくなり、409 cursor_expired を返します。

レスポンスフィールド

フィールド種別送信意味
id文字列常に正規の銘柄 ID。
currency文字列常にすべての価格の通貨。ペンスはポンドになります。
adjustedブール値常に常に true です。価格は株式分割と配当で調整されます。あるページと次のページは必ず整合します。2つのページの間に分割や配当で履歴が変わった場合は、両者を混ぜずにカーソルが使えなくなります(409 cursor_expired)。
start文字列任意送信されません。start は動かされません。
end文字列任意送信されません。日足は切り詰められません。
barsオブジェクトの配列常に1ページ最大5,000本。
bars[].date文字列任意取引日(YYYY-MM-DD)。日足のみで、1分足では省略されます。
bars[].timestamp日時常にバーの期間の開始時刻(UTC)。日足では取引所の始値の時刻、1分足ではその分です。
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
}

1銘柄の配当

GET /v1/equities/{id}/dividends

1銘柄の現金配当を、権利落ち日が新しい順にページ分割して返します。発表済みの将来の行が含まれることがあります。すべてのアカウントで全履歴を利用できます。今後の行が切り詰められることはありません。リクエストごとに1回分として数えます。不明な ID は 404 not_found、まだデータのない市場は 404 not_covered です。

MCP: ツール equities, action dividends。

パラメータ

パラメータ場所必須種別意味
idパスはい文字列銘柄 ID。取引所の4文字コード、コロン、ティッカーの順です(例: XNAS:MSFT、XNYS:BRK.B)。MSFT のような米国ティッカー単体でも、米国の銘柄が1つに決まる場合は使え、応答には正規の ID が含まれます。株式クラスにはドットを使います(BRK.B)。BRK-B も受け付けます。
cursorクエリいいえ文字列前のページの next_cursor。ほかのパラメータは同じ値にします。

レスポンスフィールド

フィールド種別送信意味
id文字列常に正規の銘柄 ID。
start日付任意送信されません。すべてのアカウントで全履歴を利用できます。
dividendsオブジェクトの配列常に権利落ち日が新しい順。発表済みの将来の行が含まれることがあります。
dividends[].ex_date日付常に株式が配当落ちで取引される最初の日。
dividends[].amount文字列常に1株あたりの配当。単位は 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
}

1銘柄の株式分割

GET /v1/equities/{id}/splits

1銘柄の株式分割を新しい順に返します。すべてのアカウントで全履歴を利用できます。今後の行が切り詰められることはありません。リクエストごとに1回分として数えます。不明な ID は 404 not_found、まだデータのない市場は 404 not_covered です。

MCP: ツール equities, action splits。

パラメータ

パラメータ場所必須種別意味
idパスはい文字列銘柄 ID。取引所の4文字コード、コロン、ティッカーの順です(例: XNAS:MSFT、XNYS:BRK.B)。MSFT のような米国ティッカー単体でも、米国の銘柄が1つに決まる場合は使え、応答には正規の ID が含まれます。株式クラスにはドットを使います(BRK.B)。BRK-B も受け付けます。

レスポンスフィールド

フィールド種別送信意味
id文字列常に正規の銘柄 ID。
start日付任意送信されません。すべてのアカウントで全履歴を利用できます。
splitsオブジェクトの配列常に新しい順。
splits[].date日付常に株式が分割調整後の値で取引される最初の日。
splits[].ratio文字列常に旧株に対する新株の比率です。10:1 は1株につき10株が付与されることを、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"
    }
  ]
}

1銘柄の決算

GET /v1/equities/{id}/earnings

1銘柄の過去の決算発表(取引所の現地で本日以前の日付のもの)を、予想、実績、サプライズとともに新しい順にページ分割して返します。今後の発表日はまだ含まれません。surprise_percent はパーセント単位です。eps_actual は市場データ基準の値で、バリュエーションにある開示書類の EPS とは異なることがあります。filing_id は、過去の決算を対象とする年次または四半期の報告書を当社が保有している場合に、その書類を指します。すべてのアカウントで全履歴を利用できます。リクエストごとに1回分として数えます。不明な ID は 404 not_found、まだデータのない市場は 404 not_covered です。

このルートは過去の決算のみを返します。今後の発表日はまだ含まれません。

filing_id は、過去の決算をそれを対象とする開示書類に結び付けます。Filings API の GET /v1/filings/{filing_id} に渡してください。

MCP: ツール equities, action earnings。

パラメータ

パラメータ場所必須種別意味
idパスはい文字列銘柄 ID。取引所の4文字コード、コロン、ティッカーの順です(例: XNAS:MSFT、XNYS:BRK.B)。MSFT のような米国ティッカー単体でも、米国の銘柄が1つに決まる場合は使え、応答には正規の ID が含まれます。株式クラスにはドットを使います(BRK.B)。BRK-B も受け付けます。
cursorクエリいいえ文字列前のページの next_cursor。ほかのパラメータは同じ値にします。

レスポンスフィールド

フィールド種別送信意味
id文字列常に正規の銘柄 ID。
start日付任意送信されません。すべてのアカウントで全履歴を利用できます。
earningsオブジェクトの配列常に過去の決算のみで、新しい順です。今後の発表日はまだ含まれません。
earnings[].date日付常に発表日(取引所の現地で本日以前)。
earnings[].time次のいずれか: before_open, after_close, during任意その日のうち発表される時間帯。不明な場合は省略されます。
earnings[].eps_estimate文字列任意アナリストによる1株あたり利益の予想。ない場合は省略されます。
earnings[].eps_actual文字列任意市場データ基準で報告された1株あたり利益。バリュエーションの 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
}

1銘柄の時価総額、P/E、P/S、P/B、配当利回り

GET /v1/equities/{id}/valuation

米国または韓国の1銘柄について、時価総額(最新価格に発行済株式数を掛けた値)、P/E(最新価格を、企業の開示書類にある直近12か月の希薄化後 EPS で割った値。GAAP または IFRS で報告されたもの)、P/S(時価総額を直近12か月の売上高で割った値)、P/B(時価総額を最新の貸借対照表の総資本で割った値)、配当利回り(直近12か月の1株あたり配当を価格で割った値、パーセント単位)を、入力値とその基準日とともに返します。韓国は現時点では P/E のみで、時価総額、P/S、P/B、利回りは株式数と配当が整い次第対応します。正しく算出できない数値は省略され、0 として返されることはありません。省略される場合は次のとおりです。時価総額は、株式数の基準日以降に分割があった場合、複数の株式クラスがありそれぞれの株式数がない場合、預託証券または外国の提出会社の場合。P/E は、EPS が負または 0.01 未満の場合、別の通貨で報告されている場合、預託証券の場合。優先株の行のように企業の別クラスの銘柄には独自の数値がなく、何も表示されません。米国と韓国以外の銘柄、または企業と明確に一致しない銘柄は 404 not_covered です。1回分として数えます。

各指標には、入力値とその基準日が付きます: shares_as_of、eps_period_end、revenue_period_end、equity_as_of、dividends_period_end。

MCP: ツール equities, action valuation。

パラメータ

パラメータ場所必須種別意味
idパスはい文字列銘柄 ID。取引所の4文字コード、コロン、ティッカーの順です(例: XNAS:MSFT、XNYS:BRK.B)。MSFT のような米国ティッカー単体でも、米国の銘柄が1つに決まる場合は使え、応答には正規の 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か月の1株あたり配当を最新価格で割った値(パーセント単位。0.71 は 0.71% を表します)。小数第2位まで。その12か月に配当の記録がない場合(配当を出さない企業を含む)、dividends_period_end の後に分割があった場合、配当が currency と異なる通貨の場合、預託証券の場合は省略されます。
shares_outstanding文字列任意企業の主要な普通株クラスの発行済株式数。優先株の行のような別クラスの銘柄では、ここに株式数がないため省略されます。
shares_as_of日付任意shares_outstanding を数えた基準日。株式数が表示されるときは常に表示されます。
eps_ttm文字列任意企業の開示書類にある直近12か月の希薄化後 EPS(GAAP または IFRS で報告されたもの)。第4四半期は通期の数値から第1四半期から第3四半期を引いた値です。算出できる場合は常に表示され、企業の別クラスの銘柄では省略されます。市場データ基準である株式決算の eps_actual とは異なることがあります。
eps_period_end日付任意eps_ttm に含まれる最新の四半期の末日。eps_ttm が表示されるときは常に表示されます。
revenue_ttm文字列任意企業の開示書類にある直近12か月の売上高。報告通貨の整数単位です(第4四半期は通期の数値から第1四半期から第3四半期を引いた値)。4四半期分または通期分の記録がない場合と、企業の別クラスの銘柄では省略されます。
revenue_period_end日付任意revenue_ttm に含まれる最新の四半期の末日。revenue_ttm が表示されるときは常に表示されます。
total_equity文字列任意最新の貸借対照表の総資本。非支配株主持分を含み、報告通貨の整数単位です。負になることがあります。
equity_as_of日付任意total_equity の貸借対照表日。total_equity が表示されるときは常に表示されます。
dividend_per_share_ttm文字列任意主要な普通株クラスについて、直近12か月に宣言された1株あたり配当。報告通貨建てです。算出できる場合は常に表示されます。
dividends_period_end日付任意dividend_per_share_ttm に含まれる最新の四半期の末日。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"
}

1銘柄のベータ、株主資本コスト、負債コスト、WACC

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

米国または韓国の1銘柄について、ベンチマーク ETF に対するベータ(既定では2年間の週次リターン。株式分割と配当で調整した価格から算出)、リスクフリーレート(その国の国債利回り曲線の10年の点、または自分の値)、株主資本コスト(リスクフリーレートにベータと株式リスクプレミアムの積を足した値。株式リスクプレミアムは erp で送る自分の値で、省略時は当社が公表している、その国の株式の総合プレミアム)、負債コスト(企業の開示書類にある支払利息を平均総負債で割った値。使えない場合は、リスクフリーレートに、企業のインタレスト・カバレッジに対応する公開表の標準スプレッドを足した値。税引前と税引後があり、tax_rate を送らない限りその国の法人税率は公開表から取得)、そして時価総額と総負債で加重した WACC を返します。すべての入力値は、値、基準、日付とともに応答に含まれます。銀行と保険会社は 422 not_applicable です。正しく算出できない入力値は 422 inputs_unavailable で名前が示され、補正されることはありません。表示されていても注意が必要な数値には warnings の項目が付きます。1回分として数えます。

erp は必須です。ここには韓国の利回り曲線がないため、韓国株では risk_free を送ってください。すべての入力値には値と日付が付き、warnings には、利用する前に確認すべき数値が一覧されます。

MCP: ツール equities, action cost_of_capital。

パラメータ

パラメータ場所必須種別意味
idパスはい文字列銘柄 ID。取引所の4文字コード、コロン、ティッカーの順です(例: XNAS:MSFT、XNYS:BRK.B)。MSFT のような米国ティッカー単体でも、米国の銘柄が1つに決まる場合は使え、応答には正規の ID が含まれます。株式クラスにはドットを使います(BRK.B)。BRK-B も受け付けます。
erpクエリいいえ文字列自分の株式リスクプレミアム(パーセント単位。5 は 5% を表します)。省略すると、当社が公表している、その株式の国の総合株式リスクプレミアムが使われます(応答に日付と基準が示されます)。当社が公表していない国では、指定しないと 400 erp_required になります。0 より大きく 25 以下です。
benchmarkクエリいいえ文字列ベータの測定対象となる市場代理の銘柄 ID。その株式と同じ通貨で値付けされた ETF、ファンド、または株式です。省略すると、米国株では ARCX:SPY、韓国株では XKRX:069500、日本株では XTKS:1306 になります。ほかの市場では指定が必要です。
windowクエリいいえ次のいずれか: 2y, 5yリターンをさかのぼる期間: 2y(既定)または 5y。
frequencyクエリいいえ次のいずれか: weekly, monthlyリターンの間隔: weekly(既定。各 ISO 週の最後の共通取引日)または monthly。
betaクエリいいえ次のいずれか: raw, adjusted株主資本コストに使うベータ: raw(既定)または adjusted(raw の 0.67 倍に 0.33 を足した値)。応答には常に両方が含まれます。
risk_freeクエリいいえ文字列自分のリスクフリーレート(パーセント単位)。省略すると、その国の国債利回り曲線の10年の点になります。利回り曲線がない国(韓国)では必須で、指定しないと 422 risk_free_unavailable になります。
tax_rateクエリいいえ文字列負債の節税効果に使う自分の税率(パーセント単位)。省略すると、Damodaran の公開表(PwC の税率)にある、その株式の国の法人税率になります。0 から 60 の間です。
periodクエリいいえ次のいずれか: 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文字列常にraw の 0.67 倍に 0.33 を足した値。
beta.used次のいずれか: raw, adjusted常にcost_of_equity に使われたベータ。
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文字列常にリスクフリーレートにベータと株式リスクプレミアムの積を足した値(パーセント単位。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 の1年前の総負債。記録がない場合は省略されます。
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"
}

1銘柄のバリュエーション履歴

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

米国または韓国の1銘柄について、会計期間の末日(四半期末または年度末)ごとの時価総額、P/E、P/S、P/B、配当利回りを、古い順に返します。各点は、その日またはその直前の終値(株式分割のみ調整)と、その期間に提出された数値(直近12か月の EPS、売上高、配当、総資本、最も近い株式数)を使うため、後の訂正も反映されます。算出できない数値は、バリュエーションと同じ規則で省略され、0 として返されることはありません。履歴はすべてのアカウントで全期間を利用できます。米国と韓国以外の銘柄、または企業と明確に一致しない銘柄は 404 not_covered です。1回分として数えます。

MCP: ツール equities, action valuation_history。

パラメータ

パラメータ場所必須種別意味
idパスはい文字列銘柄 ID。取引所の4文字コード、コロン、ティッカーの順です(例: XNAS:MSFT、XNYS:BRK.B)。MSFT のような米国ティッカー単体でも、米国の銘柄が1つに決まる場合は使え、応答には正規の ID が含まれます。株式クラスにはドットを使います(BRK.B)。BRK-B も受け付けます。

レスポンスフィールド

フィールド種別送信意味
id文字列常に正規の銘柄 ID。
currency文字列常にすべての価格と時価総額の通貨。
company_id文字列常に銘柄が一致する、開示書類内の企業。
start日付任意送信されません。すべてのアカウントで全履歴を利用できます。
pointsオブジェクトの配列常に企業の会計期間の末日ごとに1点で、古い順です。各点は、その期間に提出された数値とその日の価格から算出され、当時知られていた内容からではないため、後の訂正も反映されます。価格がない期間や、数値が1つもない期間には点がありません。
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 で終わる4四半期の希薄化後 EPS で割った値。小数第2位まで。EPS が負または 0.01 未満の場合、currency で報告されていない場合、date で終わる4四半期(または通期)の記録がない場合、預託証券の場合は省略されます。
points[].ps_ratio文字列任意market_cap を、date で終わる4四半期の売上高で割った値。小数第2位まで。market_cap が省略されるとき、売上高の記録がないとき、0 を超えないとき、currency でないときは省略されます。
points[].pb_ratio文字列任意market_cap を、date 付の貸借対照表の総資本で割った値。小数第2位まで。market_cap が省略されるとき、総資本の記録がないとき、0 を超えないとき、currency でないときは省略されます。
points[].dividend_yield文字列任意date で終わる4四半期の1株あたり配当を 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"
    }
  ]
}

エラー

エラーは共通の problem 形式で返され、次のコードを含みます: 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_required400erp(パーセント単位の株式リスクプレミアム)を送信してください。
insufficient_history422この株式とそのベンチマークが共有するリターンの数が、期間の 80% に満たません。
risk_free_unavailable422この国にはイールドカーブがありません。risk_free を送信してください。
not_applicable422銀行や保険会社では WACC は意味を持ちません。
currency_mismatch422ベンチマークまたは開示書類が、価格とは別の通貨です。
inputs_unavailable422入力値を正しく計算できません。detail にその入力値が示されます。

このページは役に立ちましたか?