JSON格式的股票报价API(现场或历史)

时间:2012-11-19 16:32:28

标签: json rest yql yahoo-finance

我正在为自己构建一个RESTful Web应用程序,我有兴趣免费获取JSON格式的库存数据。我打算在客户端使用javascript。是否有可以使用的免费股票API,返回XML并且使用C#。

编辑:我发现这个JSON查询......它能完成这项工作吗?

http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(%22YHOO%22%2C%22AAPL%22%2C%22GOOG%22%2C%22MSFT%22)%0A%09%09&env=http%3A%2F%2Fdatatables.org%2Falltables.env&format=json

4 个答案:

答案 0 :(得分:50)

当然,如果带回来并使用javascript解析为JSON,您将能够执行以下操作并从每个退回的库存中提取您想要的所有内容:

var callback = function(_return /* The json returned for yahooapis */) {
    var totalReturned = _return.query.count;
    //OR: var totalReturned = _return.query.results.quote.length;
    for (var i = 0; i < totalReturned; ++i) {
        var stock = _return.query.results.quote[i];
        var symbol = stock.symbol;
        var percent_change = stock.Change_PercentChange;
        var changeRealTime = stock.ChangeRealtime;
        ...
    }
}

-

var url = 'http://query.yahooapis.com/v1/public/yql';
var startDate = '2012-01-01';
var endDate = '2012-01-08';
var data = encodeURIComponent('select * from yahoo.finance.historicaldata where symbol in ("YHOO","AAPL","GOOG","MSFT") and startDate = "' + startDate + '" and endDate = "' + endDate + '"');
$.getJSON(url, 'q=' + data + "&env=http%3A%2F%2Fdatatables.org%2Falltables.env&format=json", callback);

-

YQL Demo

(在yyyy-mm-dd格式的日期中添加和startDate = "" and endDate = ""以执行您想要的操作,同时确保选择JSON作为输出格式)

-

评论中的一些其他信息:

  • 在上面的示例中,查询来自yahoo.finance.historicaldata的历史数据,您还可以查询yahoo.finance.quotes实时 - 滞后约15分钟)
  • 如果您想要真正的实时信息查询网络服务:例如finance.yahoo.com/webservice/v1/symbols/YHOO/quote?format=json(如果您想要更详细的输出,请将&view=detail添加到该查询中)

答案 1 :(得分:17)

作为软件开发人员,我建议Alpha Vantage。它们以 RESTful JSON API 提供实时和历史股票报价(每日,每周,每月等)。

无限制的API调用完全免费。只要股票在主要证券交易所上市,它就是实时的。

Here是MSFT每日价格和交易量的示例API调用,丰富了拆分/股息调整。最新数据点是当前交易日的实时信息。

他们还根据他们的文档在市场数据之上提供技术分析API。

答案 2 :(得分:1)

文档:https://iextrading.com/developer/docs/#stocks

获取https://api.iextrading.com/1.0/stock/jnj/quote

{
    "symbol": "JNJ",
    "companyName": "Johnson & Johnson",
    "primaryExchange": "New York Stock Exchange",
    "close": 124.69,
    "closeTime": 1531771224535
}

答案 3 :(得分:1)

Twelve Data有一个易于使用的DENY - > notPrincipals[workload2,workload3] -> workload2 -> 200, workload3 -> 200 DENY - > Principals[workload2,workload3] -> workload2 -> 403, workload3 -> 403 ALLOW -> notPrincipals[workload2,workload3] -> workload2 -> 403, workload3 -> 403 ALLOW -> Principals[workload2,workload3] -> workload2 -> 200, workload3 -> 200 软件包,可免费获取JSON格式的实时财务数据。

npm

要以# install $ yarn add twelvedata 的时间间隔获取Microsoft Corp (MSFT)的数据,

1min

您还可以使用其他参数按日期,国家/地区,交易所等进行过滤,请参见package。十二数据还支持各种金融工具,例如股票,外汇,加密货币,ETF和指数。