实时行情接口应该如何接入

16 views
Skip to first unread message

Fermin Tenney

unread,
Sep 11, 2025, 2:59:35 AM9/11/25
to Infoway API

Infoway API专注于提供全球金融市场的实时行情数据,目前已覆盖美股、港股、A 股、商品期货、外汇、加密货币等多类品种,专为交易所、开发者、量化团队、金融科技公司及专业机构量身打造。
通过Infoway API的接口,您可以查询以下行情数据:

  • 股票 (A股/港股/美股)
  • 外汇
  • 期货
  • 加密货币产品特点
  • Websocket实时推送
  • 涵盖实时行情和历史行情
  • 低延迟、高并发,数据服务高可靠
  • 覆盖广,更多股票市场的行情数据正在陆续更新上架
适用对象
  • 开发者:专注于构建交易分析工具与市场趋势研判工具的开发者群体。
  • 量化团队:致力于量化交易策略研发与算法开发的专业团队。
  • 金融科技公司:提供金融科技解决方案及配套服务的企业机构。
  • 专业机构:对精准、及时的金融市场数据有持续需求的专业型机构。
如何使用Infoway API
20250911145829.jpg
第一步:注册账户

请访问Infoway API官网,并注册账户(无需实名认证)。
注册完成后自动获得免费API密钥,可以在账户后台查看。

第二步:查看支持的产品列表

在账户后台的底部,可以下载Infoway API支持的产品列表。您也可以通过接口查询所有产品的Symbol list,具体方法可以参考这个教程

第三步:开始对接

请访问官网API文档,开始调试对接。

代码示例

HTTP请求

import requests

api_url = 'https://data.infoway.io/stock/batch_kline/1/10/002594.SZ%2C00285.HK%2CTSLA.US'

# 设置请求头
headers = {
    'User-Agent': 'Mozilla/5.0',
    'Accept': 'application/json',
    'apiKey': 'yourApikey'
}

# 发送GET请求
response = requests.get(api_url, headers=headers)

# 输出结果
print(f"HTTP code: {response.status_code}")
print(f"message: {response.text}")

WebSocket订阅

import asyncio
import json
import websockets

WS_URL = "wss://data.infoway.io/ws?business=crypto&apikey=yourApikey"

async def connect_and_receive():
    async with websockets.connect(WS_URL) as websocket:
        # 发送初始消息
        init_message = {
            "code": 10000,
            "trace": "01213e9d-90a0-426e-a380-ebed633cba7a",
            "data": {"codes": "BTCUSDT"}
        }
        await websocket.send(json.dumps(init_message))

        # 设置ping任务
        async def send_ping():
            while True:
                await asyncio.sleep(30)
                ping_message = {
                    "code": 10010,
                    "trace": "01213e9d-90a0-426e-a380-ebed633cba7a"
                }
                await websocket.send(json.dumps(ping_message))

        # 启动ping任务协程
        ping_task = asyncio.create_task(send_ping())
       
        try:
            # 持续接收消息
            while True:
                message = await websocket.recv()
                print(f"Message received: {message}")
        except websockets.exceptions.ConnectionClosedOK:
            print("Connection closed normally")
        finally:
            # 取消ping任务
            ping_task.cancel()

# 运行主函数
asyncio.run(connect_and_receive())
常见问题

Infoway API是否支持试用?
支持。所有用户注册后无需申请,自动获得7天试用。


试用期能否延迟?
如果有特殊情况需要延长试用期,可以联系客服Telegram


Reply all
Reply to author
Forward
0 new messages