API de cotation boursière au format JSON (en direct ou historique)

Je construis une application Web RESTful pour moi et je suis intéressé à obtenir gratuitement des données stockées au format JSON. Je prévois d’utiliser JavaScript pour le côté client. Existe-t-il une API gratuite que je peux exploiter, qui ne renvoie pas le XML et n’utilise pas C #.

EDIT: j’ai trouvé cette requête JSON … fera-t-elle le travail?

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 

Bien sûr, si on le ramène et analysé en JSON avec javascript, vous pouvez faire ce qui suit et extraire tout ce que vous voulez de chaque stock retourné:

 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); 

-

Démo YQL

(Ajouter et startDate = "" and endDate = "" à la requête avec les dates au format aaaa-mm-jj pour faire ce que vous voulez, assurez-vous également de choisir JSON comme format de sortie)

-

Quelques informations supplémentaires issues des commentaires:

  • Dans l'exemple ci-dessus, la requête était pour les données historiques de yahoo.finance.historicaldata, vous pouvez également interroger yahoo.finance.quotes en temps réel - environ 15 minutes en retard
  • Si vous souhaitez obtenir de véritables informations en temps réel, interrogez le webservice: par exemple finance.yahoo.com/webservice/v1/symbols/YHOO/quote?format=json (add &view=detail à cette requête si vous souhaitez une sortie plus détaillée)

En tant que développeur de logiciels, je recommanderais Alpha Vantage . Ils proposent des cours de bourse en temps réel et historiques (quotidiens, hebdomadaires, mensuels, etc.) en tant qu’API RESTful JSON .

Il est entièrement gratuit avec des appels API illimités. C’est en temps réel tant que le stock est coté sur les principales bourses.

Voici un exemple d’appel API pour les prix et les volumes quotidiens MSFT, enrichis d’ajustements de dividendes / dividendes. Le dernier sharepoint données est l’information en temps réel pour le jour de bourse en cours.

Ils offrent également des API d’parsing technique en plus des données du marché en fonction de leur documentation.

Documentation: https://iextrading.com/developer/docs/#stocks

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

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