接入教程
1. 注册获取免费API密钥
2. 使用HTTP GET请求调用端点
3. 参数包括access_key、symbols等
4. 响应为JSON格式,包含股票价格数据
5. 免费计划每月限制100次请求
获取实时股票价格
python
import requests
api_key = 'YOUR_API_KEY'
base_url = 'https://api.marketstack.com/v1'
ticker = 'AAPL'
url = f"{base_url}/eod/latest"
params = {
'access_key': api_key,
'symbols': ticker
}
response = requests.get(url, params=params)
data = response.json()
if 'data' in data:
stock_data = data['data'][0]
print(f"股票: {stock_data['symbol']}")
print(f"价格: {stock_data['close']}")
print(f"日期: {stock_data['date']}")
else:
print("API错误:", data.get('error', {}).get('message', '未知错误'))
查询历史股价数据
php
<?php
$api_key = 'YOUR_API_KEY';
$base_url = 'https://api.marketstack.com/v1';
$ticker = 'MSFT';
$date_from = '2024-01-01';
$date_to = '2024-01-31';
$url = $base_url . '/eod';
$params = [
'access_key' => $api_key,
'symbols' => $ticker,
'date_from' => $date_from,
'date_to' => $date_to
];
$query_string = http_build_query($params);
$full_url = $url . '?' . $query_string;
$ch = curl_init($full_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
if (isset($data['data'])) {
echo "股票: " . $data['data'][0]['symbol'] . "\n";
echo "历史数据数量: " . count($data['data']) . "\n";
foreach ($data['data'] as $day_data) {
echo $day_data['date'] . ": " . $day_data['close'] . "\n";
}
} else {
echo "API错误: " . ($data['error']['message'] ?? '未知错误') . "\n";
}
?>
获取日内股票数据
javascript
const apiKey = 'YOUR_API_KEY';
const baseUrl = 'https://api.marketstack.com/v1';
const ticker = 'GOOGL';
async function fetchIntradayData() {
const url = `${baseUrl}/intraday/latest`;
const params = new URLSearchParams({
access_key: apiKey,
symbols: ticker
});
try {
const response = await fetch(`${url}?${params}`);
const data = await response.json();
if (data.data && data.data.length > 0) {
const stock = data.data[0];
console.log(`股票: ${stock.symbol}`);
console.log(`最新价格: ${stock.last}`);
console.log(`交易量: ${stock.volume}`);
console.log(`时间戳: ${stock.date}`);
} else {
console.error('API错误:', data.error?.message || '未知错误');
}
} catch (error) {
console.error('请求失败:', error);
}
}
fetchIntradayData();
常见问题
免费计划有什么限制?
免费计划每月提供1000次API调用,支持历史数据查询和部分实时数据,但不包括实时日内数据。数据更新频率为15分钟延迟,适用于个人项目和非商业用途。
API支持哪些市场的数据?
Marketstack API覆盖全球70+证券交易所,包括纽约证券交易所、纳斯达克、伦敦证券交易所、东京证券交易所等,支持超过30,000个股票代码的实时和历史数据。
如何获取SEC公司申报文件?
通过新增的EDGAR端点,您可以查询美国证券交易委员会(SEC)的公开申报文件。需要指定公司股票代码和文件类型,API将返回相应的文件信息和元数据。
Aitishiku.com