休市提醒日股将于 2026-11-03 休市(文化日),距今天还有 5 天。全部公告
开发者文档

实时行情 API 开发者文档

清晰的接口说明、可运行示例与主流语言 SDK,帮助你快速完成行情接入与上线。

快速开始

按下面三步,从注册到收到第一条实时推送。免费版无需信用卡。

  1. 创建 API Key注册后在控制台 · API Key生成密钥;开发、预发、生产各用一把。
  2. 发起首个 REST 请求在请求头带上X-API-Key,调用加密报价端点验证鉴权。
  3. 订阅 WebSocket连接 stream 通道发送 subscribe;握手计一次配额,之后的 tick 推送不重复计次。
curl "https://api.tiqex.io/api/v1/market/crypto/quote?symbols=BTCUSDT" \\
  -H "X-API-Key: $TIQEX_KEY"
{
  "succ": true,
  "data": { ... }   // Field details are documented per endpoint; on failure succ=false with msg and code
}

Base URL 与响应外壳

用途地址
RESThttps://api.tiqex.io/api/v1
WebSocketwss://api.tiqex.io/api/v1/market/stream
字段类型说明
succboolean是否成功。HTTP 2xx 时也可能为 false,需同时检查
dataobject | array业务数据,字段见各端点
msgstring失败时的可读错误信息(可选)
codestring机器可读错误码(可选),见错误码
X-Request-Id响应头请求追踪 ID,不在 JSON body 内;排查与提交工单时请附上

鉴权

所有 REST 与 WebSocket 请求都需要 API Key。推荐用X-API-Key: YOUR_API_KEY请求头,也支持Authorization: Bearer YOUR_API_KEY。

  • 密钥只放服务端或密钥管理服务,不要写进前端代码或 Git 仓库。
  • 可为不同环境创建多把密钥,并随时在控制台轮换、吊销。
  • 密钥缺失或无效返回 401;市场未开通或 scope 不足返回 403。

阅读完整专题:鉴权 →

REST 端点

统一 JSON 外壳,支持按 symbol / interval 过滤,响应含分页与速率限制头。端点按市场权限分组。

加密货币

crypto 权限
  • GET/api/v1/market/crypto/quote最新报价快照,参数 symbols(如 BTCUSDT)
  • GET/api/v1/market/crypto/kline历史 K 线:symbol、interval(1s–1M,默认 1h)、limit 1–1000

美股

stocks 权限
  • GET/api/v1/market/equity/quote美股报价
  • GET/api/v1/market/equity/kline美股 K 线

多市场统一报价

按标的所属市场计权限
  • GET/api/v1/market/quote外汇 / 大宗 / A股 / 港股 / 期货 / 指数报价;codes 逗号分隔,最多 50 个

A股 · 港股

cn / hk 权限
  • GET/api/v1/market/cn/klineA股 K 线

外汇 · 指数 · 期货

forex / indices / futures 权限
  • GET/api/v1/market/forex/kline外汇 K 线
  • GET/api/v1/market/continuous-futures/kline连续期货 K 线(路径为 /tv-futures,归 futures 权限)

大宗商品

metals / energy / agri / commodities 权限
  • GET/api/v1/market/metals/kline金属 K 线
  • GET/api/v1/market/energy/kline能源 K 线
  • GET/api/v1/market/agri/kline农产品 K 线
  • GET/api/v1/market/commodities/kline大宗商品 K 线

实时推送

按订阅的 market 计权限
  • WSwss://api.tiqex.io/api/v1/market/stream实时行情流:subscribe 后接收 tick 推送

WebSocket 实时推送

连接wss://api.tiqex.io/api/v1/market/stream后,首包必须是 subscribe。一个连接可批量订阅多个标的,数量受套餐限制。

字段类型必填说明
actionstring是首包必须为subscribe
marketstring是crypto | stocks | cn | futures | forex | commodities | metals | energy | agri
symbolsstring[]是订阅标的列表

发送订阅

{ "action": "subscribe", "market": "crypto", "symbols": ["BTCUSDT", "ETHUSDT"] }

服务端消息示例值

消息为扁平结构:订阅成功回 type=subscribed(含 market 与 symbols),行情推送 type=tick(字段见上表);已与线上实现核对。

{ "type": "subscribed", "market": "crypto", "symbols": ["BTCUSDT", "ETHUSDT"] }
{
  "type": "tick",
  "tick": {
    "symbol": "BTCUSDT",
    "last": 0.00, "bid": 0.00, "ask": 0.00, "volume": 0,
    "change": 0.00, "changePercent": 0.00, "high": 0.00, "low": 0.00,
    "at": "2026-10-12T06:00:00.000Z"
  }
}
{ "type": "error", "code": "WS_CONN_LIMIT", "msg": "WebSocket 连接数达到套餐上限" }

客户端示例

const ws = new WebSocket("wss://api.tiqex.io/api/v1/market/stream");
ws.onopen = () => {
  ws.send(JSON.stringify({ action: "subscribe", market: "crypto", symbols: ["BTCUSDT"] }));
};
ws.onmessage = (ev) => {
  const msg = JSON.parse(ev.data);
  if (msg.type === "tick") console.log(msg.tick.symbol, msg.tick.last);
  if (msg.type === "error") console.warn(msg.code, msg.msg);
};
// On disconnect, reconnect with 1s, 2s, 4s... backoff and resend every subscribe
保活:服务端约每25秒发 WebSocket 协议层 Ping,客户端(含浏览器)自动回 Pong;无应用层 JSON 心跳。客户端应做读超时与指数退避重连;重连后需重新发送全部 subscribe。

限流与配额

REST 的 quote / kline 和 stream 握手计入日(月)配额与 RPM;握手之后的 tick 推送不重复计次。数值为线上文档的默认值,以控制台套餐为准。

套餐REST 配额默认 RPMWS 连接 / 标的市场与延迟
免费版 $0300 次 / 日301 / 10仅加密实时
标准版 $99/月500,000 次 / 月1203 / 25加密 / 美股 / 指数 / 金属 / 外汇 实时
专业版 $299/月5,000,000 次 / 月60010 / 50全部市场实时(含期货、能源、农产品)
企业版 定制无限或协议配额300050 / 200Level 2(外汇为实时)、私有部署

收到 429 时读取Retry-After,按指数退避 + 抖动重试;非实时数据做本地缓存。用配额计算器估算用量。

错误码概览

4xx 多为客户端问题,429 为配额 / 限流,5xx 为上游或服务端。下面是最常见的几种,完整列表见错误码页。

HTTPcode含义建议
401UNAUTHORIZED密钥缺失或无效检查请求头与密钥状态
403MARKET_NOT_ENABLED当前套餐未开通该市场升级套餐或换市场
403API_KEY_SCOPE_DENIEDKey 权限范围不足控制台调整 Key 的 scope
429RATE_LIMIT_EXCEEDED用户级 RPM 超限按 Retry-After 退避
429DAILY_LIMIT_EXCEEDED日请求配额用尽次日恢复或升级套餐
502UPSTREAM_UNAVAILABLE上游行情源暂时不可用指数退避重试,保留 X-Request-Id

查看全部错误码(可搜索)→

SDK 与多语言示例

REST 是标准 HTTP + JSON,任何语言都能直接调用。以下示例与首页代码窗一致。

// Node 18+ / same-origin BFF in the browser; keep the key server-side only
const res = await fetch(
  "https://api.tiqex.io/api/v1/market/crypto/quote?symbols=BTCUSDT",
  { headers: { "X-API-Key": process.env.TIQEX_KEY } }
);
const json = await res.json();
if (!json.succ) throw new Error(json.code + " " + json.msg);
console.log(json.data);

各语言安装、WebSocket 与封装建议 → · GitHub · TIQEXAPI

常见问题

WebSocket 和 REST 怎么配合?

REST 用于快照与历史 K 线回补,WebSocket 用于实时 tick。两者使用同一把 API Key;stream 握手计费一次,推送不重复计次。

标的代码如何填写?

加密多为 BTCUSDT;美股如 AAPL;多市场 quote 可用产品短码或 TV 符号。具体见各端点参数表与控制台标的列表。

免费套餐能做什么?

适合学习与集成验证。生产环境需要更多市场、实时数据或更高配额时,升级标准版或专业版。

数据延迟与覆盖范围如何理解?

延迟、字段粒度与历史深度因市场与套餐而异,以控制台权益与端点文档为准;不保证与任一交易所原生盘口逐字段一致。