For the complete documentation index, see llms.txt. This page is also available as Markdown.

Infoway Node.js SDK

Infoway 官方 Node.js / TypeScript SDK。覆盖 REST 行情、基础信息、市场概览、板块、个股、财务,以及行情 / 新闻 WebSocket。

npm version Node.js License: MIT

项目
说明

运行环境

Node.js 18+

REST

https://data.infoway.io

行情 WebSocket

wss://data.infoway.io/ws

新闻 WebSocket

wss://data.infoway.io/news

接口频率

错误码

未传入 apiKey 时读取环境变量 INFOWAY_API_KEY。REST 方法均为 async。

目录

  • 安装

  • 快速开始

  • 标的代码

  • 客户端

  • REST

  • 类型化结果

  • WebSocket

  • 错误码

  • 版本变更

  • REST 路径

安装

快速开始

标的代码

市场
格式
正确
错误

美股

{代码}.US

AAPL.US

AAPL

港股

5 位 + .HK

00700.HK

700.HK

A 股上海

{代码}.SH

600519.SH

600519.CN

A 股深圳

{代码}.SZ

000001.SZ

000001.CN

日股

{代码}.JP

7203.JP

韩股

{代码}.KS

005930.KS

印股

{代码}.IN

RELIANCE.IN

台股

{代码}.TW

2330.TW

加密货币

交易对

BTCUSDT

外汇

货币对

USDJPY

basic / financial 的 type 用品种类型(STOCK_US、STOCK_CN、CRYPTO 等),不要传市场码 US。

客户端

参数
默认
说明

apiKey

INFOWAY_API_KEY

API Key

baseUrl

https://data.infoway.io

REST 根地址

timeout

15000

单次超时(毫秒)

maxRetries

3

失败重试

入口
用途

stock / crypto / japan / india / korea / taiwan / common

成交、盘口、K 线

basic / packages

标的、日历、套餐

market / plate

市场概览、板块

stockInfo / financial

个股资料、财务

推荐枚举:KlineType、SymbolType、Market、Lang、NewsLang、PeriodType、Business、RankSort、SortOrder、ScheduleType。

REST

多个标的用英文逗号分隔。频率见 HTTP接口限制。

行情

方法
说明

getTrade(codes)

最新成交

getDepth(codes)

盘口

getKline(codes, klineType, count, options?)

K 线

成交字段:s 代码、p 价格、v 量、vw 成交额、t 毫秒、td 方向。K 线在 respList 中,t 为秒。单标的最多 500 根;多标的时每个返回最近 2 根。

枚举
值
周期

MIN_1 / MIN_5 / MIN_15 / MIN_30

1–4

分钟

HOUR_1 / HOUR_2 / HOUR_4

5–7

小时

DAY / WEEK / MONTH / QUARTER / YEAR

8–12

日及以上

基础信息

日期 YYYYMMDD。getTradingHours 已弃用,请用 getTradingSchedule。

市场 / 板块 / 个股 / 财务

排行 key 来自 getRankCategories。财务需要 symbol + type。periodType:fq 季报、fy 年报、fh 中报。

类型化结果

传入 { parse: true }。

原样
归一化

价格 / 量为字符串

number

成交 / 盘口 t 毫秒;K 线 t 秒

Date

REST pc / WS pfr

change_percent

K 线 respList

展平列表

盘口 a/b 列式

{ price, volume }

vw

turnover

WebSocket

行情

business 必须与标的市场一致。connect() 会阻塞,请先挂住 Promise。单连接每分钟最多 60 帧,见 WebSocket限制。

股票成交类型:subscribeTrade(codes, true)。

行为
说明

心跳

每 30 秒发送 10010,服务端不回包

重连

断线后自动重连并补发当前订阅

onReconnect

再次连上时触发

onDisconnect

仅意外掉线。close() 不触发

HTTP 401

停止重连

订阅配额超限(516)

不断开连接,在同一连接上退避重订,首次延迟 subscribeRetryMs(默认 2000)

静默重订

收到过推送后静默超过 staleAfterMs(默认 90000,0 关闭)自动重发订阅

Subscribe fail:

纯文本订阅失败以 SUBSCRIBE_FAIL 走 onError

方向
协议号
说明

出

10000 / 10003 / 10006

订阅成交 / 盘口 / K 线

出

11000 / 11001 / 11002

退订

出

10010

心跳

入

10002 / 10005 / 10008

推送

入

11010

退订确认

入

200

连接成功

ack 只表示请求被接受。多个代码必须合并成一个逗号串。

新闻

地址 wss://data.infoway.io/news,需单独授权。每个 Key 仅允许一条新闻连接。

订阅 10020,退订 11020,推送 10022。再次订阅覆盖语言。

错误码

REST 看 ret,WebSocket 看 code。508–514 两套含义不同。完整列表见 HTTP错误码 与 WebSocket错误码。

REST 限额约 1200 次/分钟/Key。无效 Key:REST 抛 InfowayAuthError;WebSocket 握手 HTTP 401 且不重连。

REST ret

说明

200

成功

400

参数错误

500

服务端错误

501 / 502

频率超限

503

K 线数量超限

505

标的数量超限

506 / 507

参数错误 / 缺失

508

标的不存在

509

权限过期

513

历史时间超出套餐

514

无权限

WebSocket code

说明

501 / 502

频率超限

505

本连接订阅数超限(SDK 停止补发)

516

账号订阅配额超限(SDK 退避重订,不断连)

506 / 507

参数错误 / 缺失

508–511

API Key 过期 / 无效 / 为空 / 黑名单

512

连接数超限

513

心跳超时

515

非 JSON

517–521

握手失败

版本变更

0.4.1 — WebSocket 订阅配额超限(516)不再终止连接:在同一连接上退避重订,重试与补发受每分钟 60 帧预算约束;服务端返回纯文本 Subscribe fail: 时以 SUBSCRIBE_FAIL 走 onError;收到 505 后停止看门狗补发,订阅组较多时自动放宽补发间隔;新增 staleAfterMs(默认 90000,0 关闭)与 subscribeRetryMs(默认 2000);出站时间戳记录裁剪到 256 条;日股 / 印度示例改用 .JP / .IN(Yahoo 的 .T / .NS 返回 508)。

0.4.0 — 请求上限本地校验(MAX_SYMBOLS 100、MAX_KLINE_BARS 500、多标的批量每标的 2 根)、财务 type 非法值本地拦截、classify 还原被 ret=500 包裹的业务错误码、isTerminal 判定不可重试错误后停止重连、API Key 解析口径统一(显式空串不再回落环境变量)、回调支持同步函数、客户端关闭后调用明确报错。

0.3.0 — packages、financial、韩股 / 台股客户端,RestErrorCode / WsErrorCode、枚举参数(Lang、Market、PeriodType、RankSort、ScheduleType、SortOrder)、InfowayIoError。

0.2.0 — basic.* 参数修正(破坏性):

旧写法
新写法

getSymbols("US")

getSymbols(SymbolType.STOCK_US)

getSymbolInfo("AAPL.US")

getSymbolInfo("STOCK_US", "AAPL.US")

getAdjustmentFactors("AAPL.US")

getAdjustmentFactors("AAPL.US", "US", "20260801", "20260814")

getTradingDays("US")

getTradingDays("US", "20260801", "20260814")

getTradingHours()

getTradingSchedule()

WebSocket 回调改为 data 本体;unsubscribeKline 按周期退订;无效 Key 停止重连。

REST 路径

{market} = stock / crypto / japan / india / korea / taiwan / common。完整列表见 行情地址。

接口
路径

最新成交

GET /{market}/batch_trade/{codes}

盘口

GET /{market}/batch_depth/{codes}

K 线

POST /{market}/v2/batch_kline

品种 / 日历 / 财务

GET /common/basic/*

市场 / 板块 / 个股

GET /common/v2/basic/*

套餐

GET /package/info

许可证

MIT。API Key:infoway.io。

最后更新于