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密钥请求示例- GET https://api.stocktv.top/stock/stocks?countryId=43&pageSize=5&key=您的API_KEY
复制代码 响应示例(新加坡股票)- {
- "code": 200,
- "data": {
- "records": [
- {
- "id": 60231,
- "symbol": "DBS",
- "name": "DBS Group Holdings",
- "last": 35.20,
- "chg": 0.45,
- "exchangeId": 63, // SGX
- "volume": 4521800
- },
- {
- "id": 60232,
- "symbol": "SIA",
- "name": "Singapore Airlines",
- "last": 6.48,
- "chg": -0.02
- }
- ]
- }
- }
复制代码 4.2 获取东南亚指数数据
接口地址
GET /stock/indices
请求参数
参数名必填类型说明countryId是int国家IDkey是stringAPI密钥请求示例(获取印尼指数)- GET https://api.stocktv.top/stock/indices?countryId=44&key=您的API_KEY
复制代码 响应示例- {
- "code": 200,
- "data": [
- {
- "id": 18521,
- "symbol": "JKSE",
- "name": "IDX Composite",
- "last": 7123.45,
- "chg": 23.56
- },
- {
- "id": 18522,
- "symbol": "JKLQ45",
- "name": "LQ45 Index",
- "last": 985.32,
- "chg": 5.21
- }
- ]
- }
复制代码 4.3 获取东南亚外汇汇率
接口地址
GET /market/currency
请求参数
参数名必填类型说明countryType是string国家代码(sg/my/th/id等)key是stringAPI密钥请求示例(新加坡元交叉汇率)- GET https://api.stocktv.top/market/currency?countryType=sg&key=您的API_KEY
复制代码 响应示例- {
- "code": 200,
- "data": [
- {
- "symbol": "SGDMYR=X",
- "name": "SGD/MYR",
- "lastPrice": "3.4582",
- "chg": "0.0023"
- },
- {
- "symbol": "SGDIDR=X",
- "name": "SGD/IDR",
- "lastPrice": "11568.50",
- "chg": "-12.30"
- }
- ]
- }
复制代码 4.4 获取东南亚特色期货
接口地址
GET /futures/list
请求参数
参数名必填类型说明key是stringAPI密钥响应示例- {
- "code": 200,
- "data": [
- {
- "symbol": "FCPO",
- "name": "Crude Palm Oil Futures",
- "last": 3750.80,
- "exchange": "Bursa Malaysia"
- },
- {
- "symbol": "FTIN",
- "name": "Tin Futures",
- "last": 32580.00,
- "exchange": "KLSE"
- },
- {
- "symbol": "FRSS3",
- "name": "Rubber RSS3 Futures",
- "last": 210.50,
- "exchange": "TOCOM"
- }
- ]
- }
复制代码 5. WebSocket实时数据
连接地址
wss://ws-api.stocktv.top/connect?key=您的API_KEY
订阅消息格式- {
- "action": "subscribe",
- "pids": [股票/指数ID数组],
- "symbols": ["期货/外汇符号数组"]
- }
复制代码 实时数据推送示例- {
- "type": "stock",
- "pid": 60231,
- "symbol": "DBS",
- "last": 35.22,
- "volume": 4521800,
- "timestamp": 1725002394
- }
复制代码 6. 示例代码
Python整合示例
- import requests
- import websockets
- import asyncio
- # 获取越南股票列表
- def get_vietnam_stocks():
- url = "https://api.stocktv.top/stock/stocks"
- params = {
- "countryId": 47, # 越南
- "key": "您的API_KEY"
- }
- response = requests.get(url, params=params)
- return response.json()
- # WebSocket实时数据
- async def subscribe_real_time():
- async with websockets.connect("wss://ws-api.stocktv.top/connect?key=您的API_KEY") as ws:
- # 订阅马来西亚棕榈油期货和新加坡STI指数
- await ws.send(json.dumps({
- "action": "subscribe",
- "pids": [18452], # STI指数
- "symbols": ["FCPO"]
- }))
-
- while True:
- data = await ws.recv()
- print("Received:", json.loads(data))
- # 运行示例
- if __name__ == "__main__":
- print("越南股票:", get_vietnam_stocks())
- 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
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |