了解 FMP 实时流的 login、subscribe、unsubscribe 与 heartbeat JSON 帧约定。
Websockets(WebSocket 实时流)
此类接口提供实时行情的推送信息,包括标准 WebSocket 与 Socket.IO 两种接入方式、单个报价与整个市场流的订阅,以及配套的退订与心跳事件。适合实时行情看板、盘中监控和低延迟告警;长连接要处理断线重连与心跳超时,订阅标的数量也会直接影响服务端资源占用。
典型使用场景
3 个场景在无需维护长连接状态机的场景下,用 Batch Quote REST 接口实现准实时行情看板。
基于 heartbeat 事件构建工业级长连接保活与订阅状态恢复机制。
接口怎么选?
6 项选型对照本类别收录 FMP 官方实时流协议的事件帧格式说明,涵盖登录握手(login)、按标的订阅报价(subscribe)、按市场订阅聚合流、取消订阅(unsubscribe)以及心跳保活(heartbeat)。
重要说明:本站网关(quote-fmp.com)当前对客主供的是全部 REST 接口(/stable/*)。如需高频实时快照,推荐直接使用 Quote 类别下的批量 REST 接口——如 Stock Batch Quote(股票批量报价)、Exchange Stock Quotes(交易所全量报价)——。
| 你的需求 | 推荐接口 | 选择理由 |
|---|---|---|
| 查看原生 WebSocket 连接与 login 认证帧格式 | Standard WebSocket标准 WebSocket | 说明握手首帧结构与认证状态码 |
| 查看 Socket.IO 客户端连接说明 | Socket.io WebSocketSocket.IO 实时连接 | 说明 Socket.IO 专用端点与客户端库要求 |
| 了解单票或多票实时报价订阅帧格式 | Quote Subscription报价订阅 | 展示 event=subscribe 的载荷结构 |
| 了解交易所/市场级聚合流订阅格式 | Market Stream Subscription市场行情流订阅 | 按市场维度订阅持续推送流 |
| 查看退订单只标的或市场流的指令 | Unsubscribe Ticker取消单只标的订阅 | 配合 Unsubscribe Market Stream(取消市场行情流订阅) 释放连接带宽 |
| 了解长连接心跳保活帧与断线检测 | Heartbeat Event心跳事件 | 通过 heartbeat 空事件识别半开死连接 |
数据覆盖与参数口径
- 本站网关支持说明:本站网关当前提供 REST 接口(/stable/*),WebSocket 文档仅作协议结构参考
- REST 替代方案:秒级轮询可用 Stock Batch Quote(股票批量报价) 或 Exchange Stock Quotes(交易所全量报价) 批量拉取
- 核心报文事件:login(认证握手)、subscribe(订阅标的或市场流)、unsubscribe(退订释放连接)、heartbeat(心跳保活)
- 工程落地方案:本站网关(quote-fmp.com)主供全量 /stable/* REST 接口,生产看板推荐使用批量报价接口轮询
调用示例
Python 关键代码示例场景:使用 REST 批量报价接口高效刷新多只标的(推荐替代方案) · 对应接口:Stock Batch Quote(股票批量报价)
resp = requests.get(
"https://quote-fmp.com/stable/batch-quote",
params={"symbols": "AAPL", "apikey": FMP_KEY},
timeout=15,
)
resp.raise_for_status()
df = pd.DataFrame(resp.json())
# 数值化核心指标列 price(最新价)
df["price"] = pd.to_numeric(df["price"], errors="coerce")- 一次 batch-quote 请求即可取回多只股票最新价,兼顾实时性与工程稳定性。
- 如需全交易所快照,可调用 Exchange Stock Quotes(交易所全量报价)。
数据注意事项
4 条实盘要点- 本站网关(
quote-fmp.com)当前对客主供全量 REST 接口(/stable/*),多标的实时刷新推荐使用 Stock Batch Quote(股票批量报价) 或 Exchange Stock Quotes(交易所全量报价)。 - 查阅 FMP 官方流协议时,原生 WebSocket——Standard WebSocket(标准 WebSocket)——与 Socket.IO——Socket.io WebSocket(Socket.IO 实时连接)——使用不同的服务端点与握手协议,客户端库不可混用。
- 流式连接建立后需先发送
login认证帧,再通过 Quote Subscription(报价订阅) 或 Market Stream Subscription(市场行情流订阅) 发送订阅指令,并在不再需要时调用 Unsubscribe Ticker(取消单只标的订阅) 释放配额。 - 生产环境长连接必须监听 Heartbeat Event(心跳事件) 心跳事件并配置断线指数退避重连,重连成功后需重新发送 login 与订阅列表。
常见问题
3 个问题本站网关可以直接连 wss:// 吗?
本站网关当前对外提供的是全量 REST 接口(https://quote-fmp.com/stable/*)。本目录下的 WebSocket 页面用于完整呈现 FMP 官方文档结构;在绝大多数看板与量化场景下,使用 Stock Batch Quote(股票批量报价) 定时批量拉取更为稳定省心。
为什么目录卡片显示 11 项,但实际只有 7 个唯一页面?
因为 Quote Subscription(报价订阅)、Market Stream Subscription(市场行情流订阅)、Unsubscribe Ticker(取消单只标的订阅)、Unsubscribe Market Stream(取消市场行情流订阅) 四个订阅/退订动作在标准 WebSocket 与 Socket.IO 两个模块下共用同一套帧结构与页面。
在量化或行情看板中,用 REST 批量接口替代 WebSocket 延迟够用吗?
对于绝大多数非高频做市场景(如自选股看板、盘中异动扫描、分钟级策略),每隔数秒调用一次 Stock Batch Quote(股票批量报价)或 Exchange Stock Quotes(交易所股票批量报价)即可获得最新成交快照,且无需维护长连接状态机。
接口一览(11个)
2 个功能模块Websocket
6 个接口该接口文档梳理官方原生 WebSocket 实时行情通道的握手流程与登录认证帧格式规范。鉴于本站网关当前对客主供高可用 HTTP REST 接口,实盘多标的并发刷新推荐使用批量报价 REST 接口实现低延迟轮询。
standard-websocket该接口文档说明官方实时流协议中发起单票或多票实时报价订阅的指令载荷与逐笔成交、盘口帧结构。在本站网关生产环境中,推荐直接调用批量股票报价或批量简明报价 REST 接口一次性拉取多只标的的实时行情快照。
quote-subscription该接口说明 FMP 官方实时流协议中全市场聚合流订阅指令的帧格式与高吞吐消费注意事项。在本站网关(quote-fmp.com)中,推荐使用 /stable/batch-exchange-quote 按交易所一次性拉取全市场股票实时行情截面。
market-stream-subscription该接口文档说明官方实时流协议中取消指定标的报价订阅的退订指令结构与客户端订阅列表维护方式。在使用本站网关提供的无状态 HTTP REST 批量报价接口时,仅需在请求参数中动态增减股票代码列表即可灵活调整监控范围。
unsubscribe-ticker该接口文档说明官方实时流协议中关闭全市场行情聚合推送通道的退订指令格式与连接释放规范。在使用本站网关提供的无状态 HTTP REST 批量接口轮询时,可结合交易所开休市状态接口在闭市后自动挂起定时采集任务以节约配额。
unsubscribe-market-stream该接口说明 官方实时流协议中服务端周期性下发的 heartbeat 保活事件帧格式与半开死连接超时重连机制。调用本站网关 REST 接口时,可通过全局复用 requests.Session() 开启 HTTP Keep-Alive 连接池降低握手开销。
heartbeat-eventSocket.io
5 个接口该接口文档梳理官方 Socket.IO 实时流通道的连接握手流程、协议版本要求与事件监听规范。鉴于本站网关当前对客主供高可用 HTTP REST 接口,实盘高频行情刷新推荐使用批量报价 REST 接口替代长连接维护。
socket-io-websocket该接口文档说明官方实时流协议中发起单票或多票实时报价订阅的指令载荷与逐笔成交、盘口帧结构。在本站网关生产环境中,推荐直接调用批量股票报价或批量简明报价 REST 接口一次性拉取多只标的的实时行情快照。
quote-subscription该接口说明 FMP 官方实时流协议中全市场聚合流订阅指令的帧格式与高吞吐消费注意事项。在本站网关(quote-fmp.com)中,推荐使用 /stable/batch-exchange-quote 按交易所一次性拉取全市场股票实时行情截面。
market-stream-subscription该接口文档说明官方实时流协议中取消指定标的报价订阅的退订指令结构与客户端订阅列表维护方式。在使用本站网关提供的无状态 HTTP REST 批量报价接口时,仅需在请求参数中动态增减股票代码列表即可灵活调整监控范围。
unsubscribe-ticker该接口文档说明官方实时流协议中关闭全市场行情聚合推送通道的退订指令格式与连接释放规范。在使用本站网关提供的无状态 HTTP REST 批量接口轮询时,可结合交易所开休市状态接口在闭市后自动挂起定时采集任务以节约配额。
unsubscribe-market-stream