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

暗号資産APIリファレンス

暗号資産ペアの価格と履歴

概要

暗号資産ペアの価格と価格履歴。すべてのリクエストに Bearer キーが必要で、REST と MCP は同じクレジット残高を使います。

ペア ID は、コイン、ハイフン、建値通貨の順で、たとえば BTC-USD や ETH-EUR です。大文字小文字は問わず、ハイフンの代わりにスラッシュも使えます。レスポンスには必ず正規のペアが入ります。建値通貨は USD、EUR、GBP です。価格は有効数字最大8桁の10進数文字列です。

暗号資産は終日取引されるため、市場セッションはありません。価格は5分より古くなると古い値(stale)になります。

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

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

課金額すべてのアカウント
最新の価格ライブ
24時間の変化含まれる
日次バー全期間の履歴
1分足バー含まれる
ペア一覧含まれる

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

  • 暗号資産には出来高がありません。価格とバーに出来高フィールドはありません。
  • 日次バーは UTC の1日分で、00:00 UTC に現れます。当日の途中のバーは表示されません。
  • ペア一覧には、価格を提供しているペアが載ります。ペアは30秒に1回以上取引されている間は載り、2分に1回を下回ると外れます。

エンドポイント

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

価格を提供している暗号資産ペア

GET /v1/crypto/pairs

価格を提供しているすべてのペアを、ペア順(BTC-USD 形式)に返します。任意の quote(USD、EUR、GBP)を指定できます。ペアは30秒に1回以上取引されている間は載り、2分に1回を下回ると外れます。自社のペア一覧から読むため、すべてのアカウントで利用でき、1回の呼び出しとして数えます。

MCP: ツール crypto, action pairs。

パラメータ

パラメータ場所必須種別意味
quoteクエリいいえUSD、EUR、GBP のいずれかこの通貨建てのペアのみ(USD、EUR、GBP)。

レスポンスフィールド

フィールド種別送信意味
pairsオブジェクトの配列常に価格を提供しているすべてのペアを、ペア順に返します。ペアは30秒に1回以上取引されている間は載り、2分に1回を下回ると外れます。
pairs[].pair文字列常に正規のペア(例: BTC-USD)。
pairs[].base文字列常にコインのティッカー。
pairs[].quote文字列常に見積通貨。
pairs[].name文字列常にコインの名称。
リクエスト
curl -H "Authorization: Bearer $NARWHAL_API_KEY" \
  "https://api.narwhalapi.com/v1/crypto/pairs?quote=USD"
レスポンスの例
{
  "pairs": [
    {
      "pair": "BTC-USD",
      "base": "BTC",
      "quote": "USD",
      "name": "Bitcoin"
    },
    {
      "pair": "ETH-EUR",
      "base": "ETH",
      "quote": "EUR",
      "name": "Ethereum"
    }
  ]
}

暗号資産ペア1件の最新価格

GET /v1/crypto/{pair}/price

ペアの最新の複合価格を、24時間の変化とともに返します(不明な場合は省略)。暗号資産は終日取引されるため、市場セッションはありません。価格が5分より古い場合、stale は true です。change_24h_percent はパーセント単位です。

MCP: ツール crypto, action price。

パラメータ

パラメータ場所必須種別意味
pairパスはい文字列暗号資産ペア。コイン、ハイフン、建値通貨の順で、たとえば BTC-USD や ETH-EUR です。大文字小文字は問わず、ハイフンの代わりにスラッシュも使えます。レスポンスには正規のペアが入ります。

レスポンスフィールド

フィールド種別送信意味
pair文字列常に正規のペア。
base文字列常にコインのティッカー。
quote文字列常に建値通貨。すべての価格はこの通貨です。
price文字列常に直近価格。有効数字最大8桁。
change_24h文字列任意price から24時間前の価格を引いた値で、パーセント単位の24時間変化から算出します。不明な場合は省略されます。
change_24h_percent文字列任意パーセント単位の24時間変化(1.5 は 1.5% を意味します)。change_24h と同時に省略されます。
timestamp日時常に価格が有効だった時刻(UTC、秒単位)。
staleブール値常に価格が5分より古い場合、または更新できなかった場合に true。
delayed常に true任意送信されません。価格はすべてのアカウントでリアルタイムです。
リクエスト
curl -H "Authorization: Bearer $NARWHAL_API_KEY" \
  "https://api.narwhalapi.com/v1/crypto/BTC-USD/price"
レスポンスの例
{
  "pair": "BTC-USD",
  "base": "BTC",
  "quote": "USD",
  "price": "68250.5",
  "change_24h": "812.4",
  "change_24h_percent": "1.2",
  "timestamp": "2026-10-26T15:42:00Z",
  "stale": false
}

最大50の暗号資産ペアの最新価格

GET /v1/crypto/prices

指定した各ペアの最新価格を返します。価格を返したペアごとに1回の呼び出しとして数え、一括で課金します。解決できたペアの分を残高で支払えない場合、リクエスト全体が 402 insufficient_credits で拒否されます。価格を返さなかったペアは errors に(id として)並び、課金されません。change_24h_percent はパーセント単位です。

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

MCP: ツール crypto, action prices。

パラメータ

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

レスポンスフィールド

フィールド種別送信意味
pricesオブジェクトの配列常に解決できたペアごとに1つの価格を、ペア順に返します。
prices[].pair文字列常に正規のペア。
prices[].base文字列常にコインのティッカー。
prices[].quote文字列常に建値通貨。すべての価格はこの通貨です。
prices[].price文字列常に直近価格。有効数字最大8桁。
prices[].change_24h文字列任意price から24時間前の価格を引いた値で、パーセント単位の24時間変化から算出します。不明な場合は省略されます。
prices[].change_24h_percent文字列任意パーセント単位の24時間変化(1.5 は 1.5% を意味します)。change_24h と同時に省略されます。
prices[].timestamp日時常に価格が有効だった時刻(UTC、秒単位)。
prices[].staleブール値常に価格が5分より古い場合、または更新できなかった場合に true。
prices[].delayed常に true任意送信されません。価格はすべてのアカウントでリアルタイムです。
errorsオブジェクトの配列常に価格を返さなかったペア。課金されません。
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/crypto/prices?pairs=BTC-USD,ETH-USD"
レスポンスの例
{
  "prices": [
    {
      "pair": "BTC-USD",
      "base": "BTC",
      "quote": "USD",
      "price": "68250.5",
      "change_24h": "812.4",
      "change_24h_percent": "1.2",
      "timestamp": "2026-10-26T15:42:00Z",
      "stale": false
    }
  ],
  "errors": [
    {
      "id": "XYZ-USD",
      "code": "not_found"
    }
  ]
}

暗号資産ペア1件の価格バー

GET /v1/crypto/{pair}/bars

日次(1d。UTC の1日分で、00:00 UTC に確定)または1分(1m)のバーを古い順に返します。1日のバーは 00:00 UTC に出ます。当日の途中のバーは表示されません。履歴はすべてのアカウントで全期間を取得できます。1ページ最大5,000バーで、next_cursor を返します。価格と一致しなくなったカーソルは 409 cursor_expired です。1ページにつき1回の呼び出しです。

カーソルの元になっている価格が変わると、カーソルは使えなくなり、409 cursor_expired を返します。

MCP: ツール crypto, action bars。

パラメータ

パラメータ場所必須種別意味
pairパスはい文字列暗号資産ペア。コイン、ハイフン、建値通貨の順で、たとえば BTC-USD や ETH-EUR です。大文字小文字は問わず、ハイフンの代わりにスラッシュも使えます。レスポンスには正規のペアが入ります。
intervalクエリいいえ次のいずれか: 1d, 1m1d(UTC の1日につき1バー。00:00 UTC に確定)または 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。パラメーターは同じものを使います。

レスポンスフィールド

フィールド種別送信意味
pair文字列常に正規のペア。
start文字列任意送信されません。start は動かされません。
end文字列任意送信されません。日足は切り詰められません。
barsオブジェクトの配列常に1ページ最大5,000本。
bars[].timestamp日時常にバーの期間の開始(UTC)。日次バーは 00:00、1分バーはその分の開始です。
bars[].open文字列常に期間の最初の価格。
bars[].high文字列常に期間の最高価格。
bars[].low文字列常に期間の最安価格。
bars[].close文字列常に期間の最後の価格。
next_cursor文字列常に次のページを読むには、この値を渡します。最後のページでは null です。
リクエスト
curl -H "Authorization: Bearer $NARWHAL_API_KEY" \
  "https://api.narwhalapi.com/v1/crypto/BTC-USD/bars?interval=1d&start=2026-10-01"
レスポンスの例
{
  "pair": "BTC-USD",
  "bars": [
    {
      "timestamp": "2026-10-25T00:00:00Z",
      "open": "67210.3",
      "high": "68540.9",
      "low": "66980.1",
      "close": "68100.2"
    }
  ],
  "next_cursor": null
}

エラー

エラーは共通の problem 形式で返され、次のコードを含みます: request_id。参照: APIエラーとクレジット で形式とクレジットヘッダーを確認できます。失敗したリクエストには課金されません。

コードステータス意味
invalid_query400パラメータが欠けている、未知である、重複している、または範囲外です。
invalid_id400ID またはペアが、この API の想定する書き方になっていません。
too_many_ids400バッチに50件を超える ID が含まれています。
invalid_interval400インターバルが 1d でも 1m でもないか、この銘柄では使えません。
range_too_large400期間がルートの許容範囲を超えています。
not_found404そのような銘柄、ファンド、ペアはありません。
invalid_cursor400このカーソルは、このリクエストが返したものではないか、別のリクエストのものです。
cursor_expired409カーソルの元になっている価格が変わりました。カーソルなしでやり直してください。
insufficient_credits402クレジット残高が、リクエストの費用に足りません。
upstream_busy503現在、価格を取得できませんでした。バッチでは errors に並びます。しばらくしてからもう一度お試しください。
area_unavailable503この領域は現在応答できません。

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