StockTV提供东南亚主要国家金融市场数据接口,覆盖以下市场:
支持HTTP REST API和WebSocket两种接入方式,提供毫秒级延迟的实时数据服务。
使用前需联系StockTV获取API Key:
国家 | countryId | 主要交易所 | 代表指数 |
---|---|---|---|
马来西亚 | 42 | Bursa Malaysia | FBMKLCI |
印度 | 14 | BSE | Nifty50 |
印尼 | 48 | IDX | IDX Composite |
越南 | 178 | HOSE/HNX | VN-Index |
接口地址
GET /stock/stocks
请求参数
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
countryId | 是 | int | 国家ID(见上表) |
exchangeId | 否 | int | 交易所ID(可选过滤) |
pageSize | 否 | int | 每页数量(默认10) |
key | 是 | string | API密钥 |
请求示例
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
}
]
}
}
接口地址
GET /stock/indices
请求参数
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
countryId | 是 | int | 国家ID |
key | 是 | string | API密钥 |
请求示例(获取印尼指数)
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
}
]
}
接口地址
GET /market/currency
请求参数
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
countryType | 是 | string | 国家代码(sg/my/th/id等) |
key | 是 | string | API密钥 |
请求示例(新加坡元交叉汇率)
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"
}
]
}
接口地址
GET /futures/list
请求参数
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
key | 是 | string | API密钥 |
响应示例
{
"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"
}
]
}
连接地址
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
}
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())
交易时间差异:
数据更新频率:
特殊节假日:
各国本地节假日市场休市,API返回open: false
推荐架构:
如需完整接口文档或技术支持,请访问: