股票实时行情API 实时报价api 美股、港股、A股实时行情推送 WebSocket WEBSOCKET API 全球股票WebSocket实时行情API,覆盖美股、港股、A股、新加坡、日本、台湾、印度、泰国、德国、墨西哥、马来西亚、土耳其、西班牙、荷兰、英国、澳大利亚、加拿大、以色列等多个全球市场,毫秒级推送Level 1 & Level 2数据。服务包含Tick成交、五/十档盘口及K线更新
股票 WebSocket
iTick Stocks WebSocket API 提供对深圳交易所、上海交易所、香港交易所以及美国等最新股市数据的流式访问。 您可以通过以操作形式发送指令来指定要使用的频道。当您订阅的频道中发生事件时,我们的 WebSockets 会发出事件以通知您。
我们的 WebSocket API 基于授权,授权可控制您可以连接到哪些 WebSocket 集群以及您可以访问哪些类型的数据。 您可以登录查看包含您的 API 密钥并根据您的授权进行个性化的示例。
第 1 步:连接
使用高级计划,您将能够使用单个连接到集群。如果另一个连接同时尝试连接到集群,则当前连接将被断开。 如果您需要同时连接到此集群的更多连接,您可以联系支持人员。
连接到集群:
wscat -c wss://api.itick.org/stock -H "token: 2abf6c0*************************dd8a1930a2f48ba14a"
连接后您将收到以下消息:
{
"code": 1,
"msg": "Connected Successfully"
}
第 2 步:验证
验证成功后,您将收到以下消息:
{
"code": 1,
"resAc": "auth",
"msg": "authenticated"
}
验证失败,会断开连接,流程终止
{
"code": 0,
"resAc": "auth",
"msg": "auth failed"
}
第 3 步:订阅
验证身份后,即可请求流。您可以在同一请求中请求多个流。
{
"ac": "subscribe",
"params": "AAPL$US,TSLA$US",
"types": "depth,quote"
}
params:标的
symbol$region,支持订阅多个,多个用英文逗号隔开,单个WS最大订阅数为500,超过则会被限制
types: 订阅的类型depth:盘口、quote:报价、tick:成交、kline:K线(订阅1分钟参数:kline@1)
注意:kline@1目前只有高级以上、股票套餐支持
订阅成功返回内容。
{
"code": 1,
"resAc": "subscribe",
"msg": "subscribe Successfully"
}
订阅失败返回内容。如下:分别是超出套餐计划最大数量,订阅参数错误。
{
"code": 0,
"resAc": "subscribe",
"msg": "exceeding the maximum subscription limit"
}
{
"code": 0,
"resAc": "subscribe",
"msg": "cannot be resolved action"
}
第 4 步:响应内容
iTick.org WebSocket 客户端必须能够每秒处理许多传入消息。由于 WebSocket 协议的性质,如果客户端从服务器获取消息的速度很慢,iTick.org 的服务器必须缓冲消息,并以客户端可以接收的速度发送消息。如果客户端长时间以太慢的速度消费消息, iTick.org的服务器端缓冲区可能会变得太大。如果发生这种情况,iTick.org 将终止 WebSocket 连接。如果您经常遇到这种情况,请考虑订阅较少的符号或频道。
订阅成功后数据按照如下内容发送。
成交响应内容
{
"code": 1,
"data": {
"s": "AAPL$US", // 标的`symbol$region`
"ld": 225.215, // 最新价
"v": 16742235, // 成交量
"t": 1731689407000, // 时间戳 毫秒
"d": 0, // 此字段目前只支持港股、美股、A股,成交方向 0 默认 1 卖 2 买
"te": 0, // 交易时段 0:常规交易 1:盘前交易 2:盘后交易
"type": "tick" // 数据类型 tick、quote、depth
}
}
报价响应内容
{
"code": 1,
"data": {
"s": "AAPL$US", // 标的`symbol$region`
"ld": 225.215, // 最新价
"o": 226.27, // 开盘价
"h": 226.92, // 最高价
"l": 224.44, // 最低价
"t": 1731689407000, // 时间戳 毫秒
"v": 16742235, // 当前交易日内成交量
"tu": 3774688301.452, // 当前交易日内成交额
"ts": 0, // 交易状态 0:正常交易 1:停牌 2:退市 3:熔断
"type": "quote" // 数据类型 tick、quote、depth
}
}
盘口响应内容
{
"code": 1,
"data": {
"s": "AAPL$US", // 标的`symbol$region`
"a": [ // 盘口 ask
{
"po": 1, // 盘口档位
"p": 3034.01, // 盘口价格
"v": 10.6023, // 盘口数量
"o": 10.6023 // 盘口委托量
}
],
"b": [ // 盘口 bid
{
"po": 1, // 盘口档位
"p": 3034, // 盘口价格
"v": 20.9758, // 盘口数量
"o": 20.9758 // 盘口委托量
}
],
"type": "depth" // 数据类型 depth
}
}
K线响应内容
{
"code": 1,
"data": {
"tu": 157513, // 当前周期总成交额
"c": 3059.39, // 当前周期收盘价
"t": 1731660060000, // 周期时间戳 毫秒
"v": 28, // 当前周期总成交量
"h": 3061.41, // 当前周期最高价
"l": 3055.24, // 当前周期最低价
"o": 3055.36, // 当前周期开盘价
"type": "kline@1", // K线周期
"s": "AAPL", // 标的 symbol
"r": "US" // 标的 region
}
}
t Kline 周期: 周期 1分钟、2五分钟、3十五分钟、4三十分钟、5一小时、8一天、9一周、10一月
第 5 步:保持心跳
客户端向服务器发送,如果超过1分钟没有心跳,服务会在适当的时机后断开与客户端的链接,建议至少每30秒内发送一次心跳,保持与服务端的链接
{
"ac": "ping",
"params": "1731688569840"
}
服务端向客户端发送
{
"resAc": "pong",
"data": { "params": "1731688569840" }
}
ping、pong的时间戳需要保持一致