以下是一篇关于对接印度股票数据API的博客草稿,涵盖了关键接口和实现指南:
StockTV全球金融数据接口 提供覆盖印度、东南亚、欧美等市场的实时股票行情,本文重点讲解印度股票数据的对接流程。
一、准备工作
- 获取API Key
联系官方Telegram https://t.me/CryptoRzz 申请Key- # 请求示例(需替换为真实Key)
- import requests
- key = "YOUR_API_KEY" # 联系官方获取
复制代码 - 基础参数说明
- countryId=14 代表印度市场
- exchangeId=46 印度国家交易所(NSE),74孟买交易所(BSE)
二、核心API接口详解
1. 获取印度股票列表
- def get_indian_stocks():
- url = "https://api.stocktv.top/stock/stocks"
- params = {
- "countryId": 14, # 印度
- "pageSize": 100, # 每页数量
- "page": 1, # 页码
- "exchangeId": 46, # NSE交易所
- "key": key
- }
- return requests.get(url, params=params).json()
- # 返回字段示例:
- """
- {
- "id": 41602, // 股票唯一ID
- "symbol": "MDCH", // 股票代码
- "name": "Media Chinese", // 公司名
- "last": 0.12, // 最新价
- "chgPct": 0, // 涨跌幅(%)
- "volume": 1241700 // 成交量
- }
- """
复制代码 2. 查询指定股票实时行情
- def query_stock(stock_id):
- url = "https://api.stocktv.top/stock/queryStocks"
- params = {"id": stock_id, "key": key}
- return requests.get(url, params=params).json()
复制代码 3. 获取印度指数数据
- def get_indices():
- url = "https://api.stocktv.top/stock/indices"
- params = {"countryId": 14, "key": key}
- return requests.get(url, params=params).json()
- # 包含Nifty 50、BSE SENSEX等指数
- """
- {
- "symbol": "NSEI", // 指数代码
- "last": 22967.65, // 最新点位
- "chgPct": 1.64 // 涨跌幅(%)
- }
- """
复制代码 4. 获取K线数据
支持多种时间粒度:- def get_kline(pid):
- url = "https://api.stocktv.top/stock/kline"
- params = {
- "pid": pid, # 股票ID
- "interval": "PT15M", # 时间粒度
- "key": key
- }
- # 可选粒度:PT5M(5分钟)/PT1H(1小时)/P1D(日线)
- return requests.get(url, params=params).json()
- # K线返回值:
- """
- [
- {
- "time": 1719818400000, // 时间戳(ms)
- "open": 239.42, // 开盘价
- "high": 239.6, // 最高价
- "low": 239.42, // 最低价
- "close": 239.6, // 收盘价
- "volume": 0 // 成交量
- }
- ]
- """
复制代码 三、高级功能接口
1. IPO新股日历
- def get_ipo_calendar():
- url = "https://api.stocktv.top/stock/getIpo"
- params = {
- "countryId": 14, # 印度
- "type": 1, # 1=即将上市 2=已上市
- "key": key
- }
- return requests.get(url, params=params).json()
复制代码 2. 实时涨跌排行榜
- def get_top_gainers():
- url = "https://api.stocktv.top/stock/updownList"
- params = {
- "countryId": 14,
- "type": 1, # 1=涨幅榜 2=跌幅榜 3=涨停 4=跌停
- "key": key
- }
- return requests.get(url, params=params).json()
复制代码 四、WebSocket实时推送
- // 前端示例
- const ws = new WebSocket("wss://ws-api.stocktv.top/connect?key=YOUR_KEY");
- ws.onmessage = (event) => {
- const data = JSON.parse(event.data);
- /* 返回值结构:
- {
- "pid": "992844", // 股票ID
- "last": 0.68, // 最新价
- "chgPct": 0.00, // 涨跌幅
- "volume": 3672800 // 成交量
- }
- */
- };
- // 维持心跳
- setInterval(() => ws.send("ping"), 30000);
复制代码 五、注意事项
<ol>数据刷新频率:
<ul>REST API:推荐每分钟≤10次请求
WebSocket:实时推送,延迟 |