API de cotización de acciones con formato JSON (en vivo o histórico)


Estoy construyendo una aplicación web RESTful para mí y estoy interesado en obtener datos de stock con formato JSON de forma gratuita. Planeo usar javascript para el lado del cliente. ¿Hay una API de stock libre que pueda aprovechar, que hace no devuelve XML y no utiliza C#.

EDITAR: encontré esta consulta JSON...¿hará el trabajo?

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
Author: bouncingHippo, 2012-11-19

3 answers

Claro, si se devuelve y se analiza como JSON con javascript, podrá hacer lo siguiente y extraer todo lo que desee de cada stock devuelto:

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

(Agregue y startDate = "" and endDate = "" a la consulta con las fechas en el formato aaaa-mm-dd para hacer lo que desea, también asegúrese de elegir JSON como formato de salida)

--

Alguna información adicional de los comentarios:

  • En el ejemplo por encima de la consulta fue para los datos históricos de yahoo.financiación.historicaldata, también puede consultar yahoo.financiación.cotizaciones en tiempo real lag se retrasaron unos 15 minutos)
  • Si desea información verdadera en tiempo real, consulte el servicio web: por ejemplo, finance.yahoo.com/webservice/v1/symbols/YHOO/quote?format=json (agregue &view=detail a esa consulta si desea una salida más detallada)
 50
Author: crowebird,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-05-05 19:47:06

Como desarrollador de software, recomendaría Alpha Vantage. Ofrecen cotizaciones de acciones en tiempo real e históricas (diarias, semanales, mensuales, etc.) como api JSON RESTful.

Es completamente gratis con llamadas API ilimitadas. Es en tiempo real, siempre y cuando la acción se cotiza en las principales bolsas de valores.

Aquí es una llamada API de ejemplo para los precios y volúmenes diarios MSFT, enriquecida con ajustes de división/dividendo. El último punto de datos es la información en tiempo real para el día de negociación actual.

También ofrecen API de análisis técnico sobre los datos de mercado de acuerdo con su documentación.

 16
Author: Steve Carino,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-14 18:01:23

Documentación: https://iextrading.com/developer/docs/#stocks

OBTENER https://api.iextrading.com/1.0/stock/jnj/quote

{
    "symbol": "JNJ",
    "companyName": "Johnson & Johnson",
    "primaryExchange": "New York Stock Exchange",
    "close": 124.69,
    "closeTime": 1531771224535
}
 0
Author: Timothy Gonzalez,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-16 21:06:09