找回密码
 立即注册
首页 业界区 安全 东南亚股票金融市场数据API对接文档

东南亚股票金融市场数据API对接文档

尤晓兰 2025-5-30 10:56:18
1. 接口概述

StockTV提供东南亚主要国家金融市场数据接口,覆盖以下市场:

  • 股票市场:马来西亚、印度、新加坡、印尼、泰国、越南、菲律宾
  • 期货市场:马棕油(FCPO)、橡胶、锡等东南亚特色商品期货
  • 指数数据:各国主要股指
支持HTTP REST API和WebSocket两种接入方式,提供毫秒级延迟的实时数据服务。
2. 获取API Key

使用前需联系StockTV获取API Key:

  • 官网:https://stocktv.top/
  • 联系方式:https://t.me/CryptoRzz
3. 国家代码对照表

国家countryId主要交易所代表指数马来西亚42Bursa MalaysiaFBMKLCI印度14BSENifty50印尼48IDXIDX Composite越南178HOSE/HNXVN-Index4. 核心接口列表

4.1 获取东南亚股票列表

接口地址
GET /stock/stocks
请求参数
参数名必填类型说明countryId是int国家ID(见上表)exchangeId否int交易所ID(可选过滤)pageSize否int每页数量(默认10)key是stringAPI密钥请求示例
  1. GET https://api.stocktv.top/stock/stocks?countryId=43&pageSize=5&key=您的API_KEY
复制代码
响应示例(新加坡股票)
  1. {
  2.   "code": 200,
  3.   "data": {
  4.     "records": [
  5.       {
  6.         "id": 60231,
  7.         "symbol": "DBS",
  8.         "name": "DBS Group Holdings",
  9.         "last": 35.20,
  10.         "chg": 0.45,
  11.         "exchangeId": 63, // SGX
  12.         "volume": 4521800
  13.       },
  14.       {
  15.         "id": 60232,
  16.         "symbol": "SIA",
  17.         "name": "Singapore Airlines",
  18.         "last": 6.48,
  19.         "chg": -0.02
  20.       }
  21.     ]
  22.   }
  23. }
复制代码
4.2 获取东南亚指数数据

接口地址
GET /stock/indices
请求参数
参数名必填类型说明countryId是int国家IDkey是stringAPI密钥请求示例(获取印尼指数)
  1. GET https://api.stocktv.top/stock/indices?countryId=44&key=您的API_KEY
复制代码
响应示例
  1. {
  2.   "code": 200,
  3.   "data": [
  4.     {
  5.       "id": 18521,
  6.       "symbol": "JKSE",
  7.       "name": "IDX Composite",
  8.       "last": 7123.45,
  9.       "chg": 23.56
  10.     },
  11.     {
  12.       "id": 18522,
  13.       "symbol": "JKLQ45",
  14.       "name": "LQ45 Index",
  15.       "last": 985.32,
  16.       "chg": 5.21
  17.     }
  18.   ]
  19. }
复制代码
4.3 获取东南亚外汇汇率

接口地址
GET /market/currency
请求参数
参数名必填类型说明countryType是string国家代码(sg/my/th/id等)key是stringAPI密钥请求示例(新加坡元交叉汇率)
  1. GET https://api.stocktv.top/market/currency?countryType=sg&key=您的API_KEY
复制代码
响应示例
  1. {
  2.   "code": 200,
  3.   "data": [
  4.     {
  5.       "symbol": "SGDMYR=X",
  6.       "name": "SGD/MYR",
  7.       "lastPrice": "3.4582",
  8.       "chg": "0.0023"
  9.     },
  10.     {
  11.       "symbol": "SGDIDR=X",
  12.       "name": "SGD/IDR",
  13.       "lastPrice": "11568.50",
  14.       "chg": "-12.30"
  15.     }
  16.   ]
  17. }
复制代码
4.4 获取东南亚特色期货

接口地址
GET /futures/list
请求参数
参数名必填类型说明key是stringAPI密钥响应示例
  1. {
  2.   "code": 200,
  3.   "data": [
  4.     {
  5.       "symbol": "FCPO",
  6.       "name": "Crude Palm Oil Futures",
  7.       "last": 3750.80,
  8.       "exchange": "Bursa Malaysia"
  9.     },
  10.     {
  11.       "symbol": "FTIN",
  12.       "name": "Tin Futures",
  13.       "last": 32580.00,
  14.       "exchange": "KLSE"
  15.     },
  16.     {
  17.       "symbol": "FRSS3",
  18.       "name": "Rubber RSS3 Futures",
  19.       "last": 210.50,
  20.       "exchange": "TOCOM"
  21.     }
  22.   ]
  23. }
复制代码
5. WebSocket实时数据

连接地址
wss://ws-api.stocktv.top/connect?key=您的API_KEY
订阅消息格式
  1. {
  2.   "action": "subscribe",
  3.   "pids": [股票/指数ID数组],
  4.   "symbols": ["期货/外汇符号数组"]
  5. }
复制代码
实时数据推送示例
  1. {
  2.   "type": "stock",
  3.   "pid": 60231,
  4.   "symbol": "DBS",
  5.   "last": 35.22,
  6.   "volume": 4521800,
  7.   "timestamp": 1725002394
  8. }
复制代码
6. 示例代码

Python整合示例
  1. import requests
  2. import websockets
  3. import asyncio
  4. # 获取越南股票列表
  5. def get_vietnam_stocks():
  6.     url = "https://api.stocktv.top/stock/stocks"
  7.     params = {
  8.         "countryId": 47,  # 越南
  9.         "key": "您的API_KEY"
  10.     }
  11.     response = requests.get(url, params=params)
  12.     return response.json()
  13. # WebSocket实时数据
  14. async def subscribe_real_time():
  15.     async with websockets.connect("wss://ws-api.stocktv.top/connect?key=您的API_KEY") as ws:
  16.         # 订阅马来西亚棕榈油期货和新加坡STI指数
  17.         await ws.send(json.dumps({
  18.             "action": "subscribe",
  19.             "pids": [18452],  # STI指数
  20.             "symbols": ["FCPO"]
  21.         }))
  22.         
  23.         while True:
  24.             data = await ws.recv()
  25.             print("Received:", json.loads(data))
  26. # 运行示例
  27. if __name__ == "__main__":
  28.     print("越南股票:", get_vietnam_stocks())
  29.     asyncio.get_event_loop().run_until_complete(subscribe_real_time())
复制代码
7. 注意事项


  • 交易时间差异

    • 马来西亚/新加坡:09:00-17:00 (UTC+8)
    • 印尼:09:30-16:00 (UTC+7)
    • 泰国:10:00-16:30 (UTC+7)
    • 越南:09:00-15:00 (UTC+7)

  • 数据更新频率

    • 股票/指数:3秒刷新
    • 期货/外汇:1秒刷新
    • WebSocket:实时推送

  • 特殊节假日
    各国本地节假日市场休市,API返回open: false
  • 推荐架构
    graph TDA[客户端] -->|HTTP| B[获取初始数据]A -->|WebSocket| C[订阅实时更新]B --> D[缓存数据库]C --> DD --> E[前端展示]
如需完整接口文档或技术支持,请访问:

  • 官方文档:https://documenter.getpostman.com/view/10940044/2sAYHxnPns
  • 示例代码库:https://github.com/CryptoRzz/stocktv-api-demos

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册