所有 API

覆盖实时与历史交易对价格的加密货币 API

通过 REST 或 MCP 获取加密货币交易对的价格和价格历史,使用同一个账户余额,每个请求都带 Bearer 密钥。价格为最多 8 位有效数字的十进制字符串。

在线99.97% uptime, last 30天1039 ms 典型响应

首次请求

获取最新价格

curl --request GET \
  --url "https://api.narwhalapi.com/v1/crypto/BTC-USD/price" \
  --header "Authorization: Bearer $NARWHAL_API_KEY"
响应示例
{
  "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
}

端点

GET我们提供价格的加密货币交易对/v1/crypto/pairs

我们提供报价的所有交易对,按交易对列出(BTC-USD 格式)。

参数

  • quote可选

    仅限以该货币计价的交易对(USD、EUR 或 GBP)。

响应字段

  • pairs对象数组

    列出我们提供价格的所有交易对,按交易对排序。交易对只要至少每 30 秒成交一次就会列入,低于每 2 分钟一次则移除。


完整参考文档 →
GET单个加密货币交易对的最新价格/v1/crypto/{pair}/price

某个交易对的最新综合价格及 24 小时涨跌(未知时省略)。

参数

  • pair必填

    加密货币交易对:币种、连字符和计价货币,例如 BTC-USD 或 ETH-EUR。不区分大小写;也可用斜杠代替连字符。响应中带有规范交易对。

响应字段

  • pair字符串

    随币种和计价货币一同返回的规范交易对。

  • base字符串

    所请求加密货币交易对中币种的代码。

  • quote字符串

    响应中所有价格使用的计价货币。

  • price字符串

    十进制字符串形式的最新价格,最多 8 位有效数字。

  • change_24h字符串

    24 小时价格变动,由涨跌幅推算,未知时省略。

  • change_24h_percent字符串

    24 小时涨跌幅百分比;1.5 表示 1.5%。与 change_24h 一同省略。

  • timestamp日期时间

    价格有效的时间,UTC 时间,精确到整秒。

  • stale布尔值

    价格已超过 5 分钟未更新或无法刷新时为 true。

  • delayed恒为 true

    不再返回,因为所有账户的价格都是实时的。


完整参考文档 →
GET最多 50 个加密货币交易对的最新价格/v1/crypto/prices

每个列出的交易对的最新价格。

参数

  • pairs必填

    以逗号分隔的交易对,去重后最多 50 个。每个交易对的规则与单个价格路由相同。每个返回价格的交易对计一次调用。

响应字段

  • prices对象数组

    每个已解析的交易对一个价格,按交易对排列。

  • errors对象数组

    未返回价格的交易对。不收费。


完整参考文档 →
GET单个加密货币交易对的价格 K 线/v1/crypto/{pair}/bars

每日(1d,一个 UTC 日,于 UTC 00:00 收盘)或一分钟(1m)K 线,按时间从旧到新排列。

参数

  • pair必填

    加密货币交易对:币种、连字符和计价货币,例如 BTC-USD 或 ETH-EUR。不区分大小写;也可用斜杠代替连字符。响应中带有规范交易对。

  • interval可选

    每UTC day, closing at 00:00 UTC) or 1m (one-minute bars).1d (one bar Anything else is 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,参数须保持一致。

响应字段

  • pair字符串

    规范交易对。

  • start字符串

    不会返回:start 不会被调整。

  • end字符串

    不返回:日 K线不会被截断。

  • bars对象数组

    每页最多 5,000 根 K线。

  • next_cursor字符串

    回传该值即可读取下一页。最后一页为 null。


完整参考文档 →

使用场景

回填完整历史

分页读取全部历史,保存到文件,中断后可继续。

阅读指南 →

每日数据拉取

每天运行一次小脚本,把结果追加到 CSV 文件。

阅读指南 →

缓存与 429 错误

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

阅读指南 →

相关 API

面向上市股票的股票数据接口

通过 REST 和 MCP 获取上市股票价格和公司数据

探索 API →

ETF 价格与共同基金的基金净值 API

ETF 价格和每日共同基金净值

探索 API →

预付额度与价格

查看每 1,000 次调用的价格、充值和每月免费额度,所有账户的价格均为实时。

查看价格 →

常见问题

可以获取哪些交易对?

约 40 个交易对以 USD、EUR 和 GBP 计价。请使用 BTC-USD 或 ETH-EUR;id 不区分大小写,也可以使用斜线,返回结果会给出规范的交易对。

价格是实时的还是延迟的?

股票、ETF 和加密货币价格对所有账户都是实时的,加密货币的返回结果包含 24 小时涨跌。

加密货币价格的时效性如何?

加密货币全天交易,没有交易时段。价格超过 5 分钟未更新或刷新失败时即视为过期;价格和 K 线没有成交量字段。

费用是多少?

调用按每 1,000 次 $2 的价格,从预付额度 中扣费。每个账户在前 12 个月内,每月都有 $10 的免费额度,并允许商业使用。

该 API 涵盖什么?

交易对列表对所有账户开放,包含 Narwhal 提供价格的交易对。交易对至少每 30 秒成交一次时会被列入,低于每 2 分钟一次时会被移除。日线和 1 分钟线覆盖全部历史。批量价格调用最多接受 50 个 id。

每日加密货币 K 线是如何运作的?

每根日线覆盖一个 UTC 日,在 00:00 UTC 出现。当天尚未完成的日线不会显示。

可以请求多长的加密货币价格历史?

所有账户都可获得日线和 1 分钟线的完整历史。若更早的数据不存在,start 会返回提供的第一个日期。

24 小时涨跌幅代表什么?

change_24h 是价格减去 24 小时前的价格,由 24 小时涨跌幅计算得出。百分比字段中的 1.5 表示 1.5%。涨跌未知时,两个涨跌字段都会省略。

交易对 id 和批量调用是如何运作的?

交易对 id 用短横线连接币种和计价货币,例如 BTC-USD。不区分大小写,也接受斜线。批量调用最多接受 50 个 id,每个返回了价格的 id 计为一次调用。