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

bou*_*ppo 45 rest json 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
Run Code Online (Sandbox Code Playgroud)

cro*_*ird 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;
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

-

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);
Run Code Online (Sandbox Code Playgroud)

-

YQL演示

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

-

评论中的一些其他信息:

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

  • 发现param称为`view = detailed`,提供更全面的输出,请参阅`http://finance.yahoo.com/webservice/v1/symbols/GSK,AAPL/quote?format = json&view = detail`. (6认同)
  • @Zorayr - yahoo.finance.quotes看起来落后约15分钟.如果您想实时查看使用Web服务,例如:http://finance.yahoo.com/webservice/v1/symbols/YHOO/quote?format = json (4认同)

Ste*_*ino 18

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

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

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

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

  • 这看起来好得令人难以置信......他们如何赚钱? (8认同)
  • 我其实在想同样的事情......这看起来好得令人难以置信.我已经使用API​​几天了,我已经想知道这项服务是否会在一夜之间消失,让我的应用程序死机.您甚至没有注册帐户......您只需收到一个由您负责保留的4个字符"密钥".当然,他们确实要求您将电话限制在100 /分钟以下,以帮助他们为每个人提供最优质的服务,但仍然如此.总而言之,这是一个非常棒的API,特别是考虑到它是免费的. (5认同)