德国股票交易所 数据源API对接 法兰克福证券交易所 (FWB/Xetra)
1. 基础配置
- 接口域名:
https://api.stocktv.top - 德国 Country ID: 17
- 主要交易所: 法兰克福证券交易所 (FWB/Xetra)
- 认证方式: URL 参数
key=您的API密钥
2. 核心接口流程
对接德国股票的核心逻辑与其它国家一致:先查列表获取 PID -> 再查 K 线或实时行情。
第一步:获取德国股票列表
查询德国市场的股票代码、名称及系统 PID。
- 接口:
/stock/stocks - 方法:
GET - 参数:
countryId: 17 (必填)pageSize:20(建议设置)page:1
- 请求示例:
GET https://api.stocktv.top/stock/stocks?countryId=17&pageSize=20&page=1&key=YOUR_KEY - 响应关键字段:
id: PID (后续获取K线必须使用此ID)symbol: 股票代码 (如 "BMW", "VOW3", "SIE")name: 公司名称 (如 "BMW AG", "Volkswagen")last: 最新价格 (欧元 EUR)
第二步:获取德国指数 (DAX 40)
获取德国最重要的 DAX 指数行情。
- 接口:
/stock/indices - 方法:
GET - 参数:
countryId=17 - 请求示例:
GET https://api.stocktv.top/stock/indices?countryId=17&key=YOUR_KEY - 常见指数:
- DAX: 德国主要蓝筹股指数
- MDAX: 中盘股指数
- TecDAX: 科技股指数
第三步:获取 K 线数据
使用第一步获取的 id (PID) 查询历史数据。
- 接口:
/stock/kline - 方法:
GET - 参数:
pid: 股票ID (例如 BMW 的 PID)interval: 周期 (P1D=日线,PT1H=1小时,PT5M=5分钟)
- 请求示例:
GET https://api.stocktv.top/stock/kline?pid=12345&interval=P1D&key=YOUR_KEY
3. 代码示例 (JavaScript/Node.js)
以下代码展示了如何获取德国股票列表,并自动提取第一只股票的 PID 来查询 K 线数据。
// 配置区
const API_KEY = 'YOUR_API_KEY'; // 请替换您的 Key
const BASE_URL = 'https://api.stocktv.top';
const GERMANY_ID = 17; // 德国市场 ID
/**
* 1. 获取德国股票列表
*/
async function getGermanMarket() {
const url = `${BASE_URL}/stock/stocks?countryId=${GERMANY_ID}&pageSize=10&page=1&key=${API_KEY}`;
try {
console.log(`正在获取德国股票列表 (ID:${GERMANY_ID})...`);
const response = await fetch(url);
const result = await response.json();
if (result.code === 200) {
const stocks = result.data.records;
console.log(`获取成功,共 ${result.data.total} 条数据。前 3 条如下:`);
// 打印前3条供参考
stocks.slice(0, 3).forEach(stock => {
console.log(`- [${stock.symbol}] ${stock.name} | PID: ${stock.id} | Price: €${stock.last}`);
});
// 如果有数据,演示如何获取第一只股票的 K 线
if (stocks.length > 0) {
const targetPid = stocks[0].id;
const targetName = stocks[0].name;
await getKlineData(targetPid, targetName);
}
} else {
console.error('获取列表失败:', result.message);
}
} catch (error) {
console.error('网络请求错误:', error);
}
}
/**
* 2. 获取单只股票 K 线数据
*/
async function getKlineData(pid, name) {
// 请求日线数据 (P1D)
const url = `${BASE_URL}/stock/kline?pid=${pid}&interval=P1D&key=${API_KEY}`;
try {
console.log(`\n正在获取 [${name}] (PID:${pid}) 的日线数据...`);
const response = await fetch(url);
const result = await response.json();
if (result.code === 200 && result.data) {
const klineData = result.data;
console.log(`成功获取 ${klineData.length} 条 K 线数据。最新一条:`);
const latest = klineData[klineData.length - 1];
console.log(`时间: ${new Date(latest.time).toLocaleDateString()}`);
console.log(`收盘价: ${latest.close}`);
console.log(`成交量: ${latest.volume}`);
} else {
console.log('该股票暂无 K 线数据');
}
} catch (error) {
console.error('K线请求错误:', error);
}
}
// 执行主函数
getGermanMarket();
4. 注意事项
- 货币单位: 德国市场返回的价格单位通常为 欧元 (EUR)。
- 交易时间: 德国法兰克福交易所的交易时间通常为中欧时间 (CET) 09:00 - 17:30。在获取实时 WebSocket 数据时请留意该时段。
- 主要公司代码示例:
- SAP: SAP SE
- SIE: Siemens AG (西门子)
- ALV: Allianz SE (安联)
- DTE: Deutsche Telekom (德国电信)

浙公网安备 33010602011771号