Skip to content

交易市场 API

传统市场实时价格数据。覆盖 12 个全球交易所的 1,746 只股票,预言机刷新频率约 400ms。另有 500+ 加密货币对、30+ 外汇对和大宗商品。所有端点统一 $0.001/次。

基础 URL: https://api.jarvisclaw.ai/v1/marketplace/markets

认证

两种方式均支持:

方式Header描述
API KeyAuthorization: Bearer sk-...平台自动从你的 HD 钱包签名 x402
私钥 (x402)SDK 自动处理Agent 直接用自己的钱包签名 x402

定价

范围价格
所有端点,所有资产类别$0.001/次

加密、外汇、大宗商品并非免费

本服务统一按 $0.001/次 计价,没有按资产类别的例外。旧文档把加密/外汇/大宗商品读取描述为免费, 那已经过时。精确扣费金额请读响应中的 price.amount

端点

方法端点描述价格
GET/stocks/:market/price/:symbol单只股票实时价格(如 /stocks/us/price/AAPL$0.001
GET/crypto/price/:pair加密货币对价格(如 BTC-USD$0.001
GET/fx/price/:pair外汇对价格(如 EUR-USD$0.001
GET/commodity/price/:symbol大宗商品价格(如 XAU-USD$0.001

路径是单数

/fx//commodity/,不是 /forex//commodities/。也没有 /list/batch 端点 —— 只能逐个符号查询。

支持的交易所

代码地区代表标的
us美国AAPL、NVDA、TSLA、MSFT、GOOGL、AMZN
gb英国SHEL、AZN、HSBA、ULVR
de德国SAP、SIE、ALV、BAS
fr法国MC、OR、SAN、AIR
nl荷兰ASML、INGA、PHIA
ie爱尔兰CRH、KYGA、SKG
lu卢森堡ARCE、SES、RTL
hk香港0700、9988、0005、1299
jp日本7203、6758、9984、6861
kr韩国005930、000660、035420
cn中国600519、601318、000858
ca加拿大RY、TD、SHOP、ENB

GET /stocks/:market/price/:symbol

获取单只股票的实时价格。

参数

参数类型必填描述
marketstring (路径)市场代码:ushkjp
symbolstring (路径)股票代码:AAPL07007203

响应

json
{
  "symbol": "AAPL",
  "exchange": "us",
  "price": 245.82,
  "currency": "USD",
  "change": 3.15,
  "change_percent": 1.30,
  "volume": 52847100,
  "market_cap": 3810000000000,
  "timestamp": "2026-07-06T14:30:00Z",
  "market_status": "open"
}

GET /crypto/price/:pair

获取加密货币对实时价格。

参数

参数类型必填描述
pairstring (路径)交易对,连字符分隔:BTC-USDETH-USD

响应

json
{
  "pair": "BTC-USD",
  "price": 105420.50,
  "change_24h": 2150.00,
  "change_percent_24h": 2.08,
  "high_24h": 106200.00,
  "low_24h": 102800.00,
  "volume_24h": 28500000000,
  "timestamp": "2026-07-06T14:30:00Z"
}

GET /fx/price/:pair

获取外汇对实时价格。

参数

参数类型必填描述
pairstring (路径)外汇对,连字符分隔:EUR-USDGBP-JPY

响应

json
{
  "pair": "EUR-USD",
  "price": 1.0892,
  "bid": 1.0891,
  "ask": 1.0893,
  "spread": 0.0002,
  "change_24h": 0.0015,
  "timestamp": "2026-07-06T14:30:00Z"
}

GET /commodity/price/:symbol

获取大宗商品实时价格。

参数

参数类型必填描述
symbolstring (路径)商品代码,与交易对同为连字符格式:XAU-USD(黄金)、XAG-USD(白银)等

响应

json
{
  "symbol": "XAU-USD",
  "price": 4337.40,
  "unit": "troy ounce",
  "currency": "USD",
  "change": 12.50,
  "change_percent": 0.47,
  "timestamp": "2026-07-06T14:30:00Z"
}

代码示例

bash
# 美股实时价格
curl "https://api.jarvisclaw.ai/v1/marketplace/markets/stocks/us/price/AAPL" \
  -H "Authorization: Bearer sk-your-api-key"

# 加密货币 — $0.001
curl "https://api.jarvisclaw.ai/v1/marketplace/markets/crypto/price/BTC-USD" \
  -H "Authorization: Bearer sk-your-api-key"

# 外汇 — $0.001
curl "https://api.jarvisclaw.ai/v1/marketplace/markets/fx/price/EUR-USD" \
  -H "Authorization: Bearer sk-your-api-key"

# 大宗商品 — $0.001
curl "https://api.jarvisclaw.ai/v1/marketplace/markets/commodity/price/XAU-USD" \
  -H "Authorization: Bearer sk-your-api-key"
python
import requests

BASE = "https://api.jarvisclaw.ai/v1/marketplace/markets"
HEADERS = {"Authorization": "Bearer sk-your-api-key"}

# 1. 美股实时价格
resp = requests.get(f"{BASE}/stocks/us/price/AAPL", headers=HEADERS)
stock = resp.json()
print(f"AAPL: ${stock['price']:.2f} ({stock['change_percent']:+.2f}%)")

# 2. 加密货币 — $0.001
resp = requests.get(f"{BASE}/crypto/price/BTC-USD", headers=HEADERS)
btc = resp.json()
print(f"BTC: ${btc['price']:,.2f} (24h: {btc['change_percent_24h']:+.2f}%)")

# 3. 外汇 — $0.001
resp = requests.get(f"{BASE}/fx/price/EUR-USD", headers=HEADERS)
fx = resp.json()
print(f"EUR/USD: {fx['price']:.4f} (价差: {fx['spread']:.5f})")

# 4. 大宗商品 — $0.001
resp = requests.get(f"{BASE}/commodity/price/XAU-USD", headers=HEADERS)
gold = resp.json()
print(f"黄金: ${gold['price']:.2f}/{gold['unit']} ({gold['change_percent']:+.2f}%)")
python
from jarvisclaw import MarketplaceClient

# x402 Agent 钱包 — 每次调用自动支付 $0.001 USDC
client = MarketplaceClient(private_key="0x<evm-private-key>")

# 股票价格(付费 $0.001)
stock = client.call("markets", "/stocks/us/price/AAPL")
print(f"AAPL: ${stock['price']:.2f}")

# 加密 — $0.001,走 x402 结算
btc = client.call("markets", "/crypto/price/BTC-USD")
print(f"BTC: ${btc['price']:,.2f}")

# 外汇 — $0.001
eur = client.call("markets", "/fx/price/EUR-USD")
print(f"EUR/USD: {eur['price']:.4f}")

# 大宗商品 — $0.001
gold = client.call("markets", "/commodity/price/XAU-USD")
print(f"黄金: ${gold['price']:.2f}/{gold['unit']}")
go
package main

import (
    "context"
    "fmt"
    jc "github.com/api-jarvisclaw/go-sdk/v2"
)

func main() {
    ctx := context.Background()
    mc, _ := jc.NewMarketplaceClient(jc.WithAPIKey("sk-your-api-key"))

    // 美股价格
    stock, _ := mc.Call(ctx, "markets", "/stocks/us/price/AAPL")
    fmt.Printf("AAPL: $%.2f\n", stock["price"].(float64))

    // 加密货币 — $0.001
    btc, _ := mc.Call(ctx, "markets", "/crypto/price/BTC-USD")
    fmt.Printf("BTC: $%.2f\n", btc["price"].(float64))

    // 外汇 — $0.001
    eur, _ := mc.Call(ctx, "markets", "/fx/price/EUR-USD")
    fmt.Printf("EUR/USD: %.4f\n", eur["price"].(float64))

    // 大宗商品 — $0.001
    gold, _ := mc.Call(ctx, "markets", "/commodity/price/XAU-USD")
    fmt.Printf("黄金: $%.2f/%s\n", gold["price"].(float64), gold["unit"].(string))
}
go
package main

import (
    "context"
    "fmt"
    jc "github.com/api-jarvisclaw/go-sdk/v2"
)

func main() {
    ctx := context.Background()

    // x402 Agent — 每次调用自动付费 $0.001 USDC
    mc, _ := jc.NewMarketplaceClient(
        jc.WithPrivateKey("0x<agent-wallet-private-key>"),
    )

    // 股票价格(x402 自动支付)
    stock, _ := mc.Call(ctx, "markets", "/stocks/us/price/AAPL")
    fmt.Printf("AAPL: $%.2f\n", stock["price"].(float64))

    // 港股
    hk, _ := mc.Call(ctx, "markets", "/stocks/hk/price/0700")
    fmt.Printf("腾讯: HK$%.2f\n", hk["price"].(float64))

    // 加密同样按 $0.001 计费
    btc, _ := mc.Call(ctx, "markets", "/crypto/price/BTC-USD")
    fmt.Printf("BTC: $%.2f\n", btc["price"].(float64))
}

限制

  • 只读数据 — 仅提供价格查询,不支持下单、交易执行或组合管理
  • 无历史数据 — 仅提供实时/当前价格,无K线或历史回测数据
  • 非投资建议 — 数据仅供参考,不构成买卖建议或加密货币交易策略
  • USD 计价 — 所有价格以美元返回,除非交易对/交易所另有指明
  • 连字符分隔符必须 — 交易对使用连字符格式(BTC-USDEUR-USD),不用斜杠(BTC/USD
  • 无盘前/盘后 — 股票仅提供常规交易时段数据
  • ~400ms 刷新 — 预言机刷新延迟约 400 毫秒,非零延迟,不适合高频策略
  • 无批量端点 — 只能逐个符号查询,没有 /batch/list
  • 并发上限 — 大量并行调用可能返回 429,退避后重试即可

错误

网关层错误是扁平结构 —— 只有一个 error 字符串:

json
{ "error": "service 'markets' is at capacity, please retry in a moment" }
HTTP含义处理
401缺少或无效的 API Key / x402 签名检查 Authorization,或让 SDK 重新签名
402结算失败 —— 钱包无法支付上游充值后重试
403余额不足充值,或检查你的支出限额
404未知代码、市场或路径对照支持的市场表核对
429并发请求过多退避后重试
502上游价格源失败重试
503服务暂时不可用,或交易所休市稍后重试

上游价格源自身的错误(代码不存在、交易对格式错误、休市)会原样透传。