金融分析与市场监控的场景中,股票数据API是不可或缺的技术基础设施。它以标准化接口的形式,将交易所、金融信息服务商的海量数据转化可直接调用的代码资源,让开发者无需关注数据采集的底层逻辑,即可快速获取实时行情、历史k线,财务指标等核心信息。为策略回测、实时交易、市场分析提供数据支撑。
我将分享200多个实测可用的专业股票数据接口,并通过Python、JavaScript(Node.js)、Java、C#、Ruby等五种主流语言,逐一演示如何高效获取各类股票数据,毕竟适合自己场景的,才是最好的。
先把数据接口的地址给大家,大家可以直接点击地址或复制到地址栏打开,马上就可以验证接口的有效性
沪深指数最新分时交易数据API接口:http://api.momaapi.com/hsstock/latest/股票代码.市场(如000001.SZ)/分时级别(如d)/除权方式/您的Token?lt=最新条数(如5)
接口URL中,000001是股票代码,TEST-API-TOKEN-MOMA-836089C22111是请求证书,这个是官方提供的测试证书只能测试000001的数据,随后大家自己可以去领取一个免费的请求证书就可以获取其他股票的数据了。
分时级别支持5分钟、15分钟、30分钟、60分钟、日、周、月、年级别,对应的值分别是5、15、30、60、d、w、m、y。
1、python
python
import requests
url = "https://api.momaapi.com/hsstock/latest/000001.SZ/d/n/TEST-API-TOKEN-MOMA-836089C22111"
response = requests.get(url)
data = response.json()
print(data)
2、JavaScript (Node.js)
javascript
const axios = require('axios');
const url = "https://api.momaapi.com/hsstock/latest/000001.SZ/d/n/TEST-API-TOKEN-MOMA-836089C22111";
axios.get(url)
.then(response => {
console.log(response.data);
})
.catch(error => {
console.log(error);
});
3、Java
java
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.momaapi.com/hsstock/latest/000001.SZ/d/n/TEST-API-TOKEN-MOMA-836089C22111"))
.build();
try {
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
4、C#
csharp
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
using (HttpClient client = new HttpClient())
{
string url = "https://api.momaapi.com/hsstock/latest/000001.SZ/d/n/TEST-API-TOKEN-MOMA-836089C22111";
HttpResponseMessage response = await client.GetAsync(url);
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
}
}
5、Ruby
ruby
require 'net/http'
require 'json'
url = URI("https://api.momaapi.com/hsstock/latest/000001.SZ/d/n/TEST-API-TOKEN-MOMA-836089C22111")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Get.new(url)
response = http.request(request)
data = JSON.parse(response.read_body)
puts data
返回数据示例:
json
{ "t": "2025-04-21 00:00:00", "o": 11.0, "h": 11.13, "l": 10.97, "c": 11.02, "v": 1114184, "a": 1230804536.0, "pc": 11.18, "sf": 0 }
返回的数据字段说明:
| t | string | 交易时间 |
|---|---|---|
| o | float | 开盘价 |
| h | float | 最高价 |
| l | float | 最低价 |
| c | float | 收盘价 |
| v | float | 成交量 |
| a | float | 成交额 |
| pc | float | 前收盘价 |
| sf | int | 停牌 1停牌,0 不停牌 |