web-dev-qa-db-fra.com

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

je construis une application Web RESTful pour moi-même et je souhaite obtenir gratuitement des données sur les actions au format JSON. Je prévois d'utiliser javascript pour le côté client. Existe-t-il une API stock gratuite dans laquelle je puisse puiser, qui not ne renvoie pas XML et not n'utilise pas C #.

EDIT: j'ai trouvé cette requête JSON ... ça va faire 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
45
bouncingHippo

Bien sûr, si ramené et analysé en tant que JSON avec javascript, vous seriez capable de faire ce qui suit et d'extraire tout ce que vous vouliez 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

(Ajoutez 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 portait sur les données historiques de yahoo.finance.historicaldata. Vous pouvez également interroger yahoo.finance.quotes pour realtime - en retard d'environ 15 minutes.)
  • Si vous voulez de vraies informations en temps réel, interrogez le service Web: par exemple. finance.yahoo.com/webservice/v1/symbols/YHOO/quote?format=json (ajoutez &view=detail à cette requête si vous souhaitez une sortie plus détaillée)
50
crowebird

En tant que développeur de logiciels, je recommanderais Alpha Vantage . Ils offrent des cours boursiers historiques et en temps réel (quotidiens, hebdomadaires, mensuels, etc.) sous forme d'API RESTful JSON.

C’est totalement gratuit avec des appels API illimités. C’est en temps réel tant que le titre est coté sur les principales places boursières.

Ici est un exemple d'appel API pour les prix et volumes quotidiens MSFT, enrichi d'ajustements de dividendes/dividendes. Le dernier point de données est l’information en temps réel du jour de bourse actuel.

Ils proposent également des API d’analyses techniques complétant les données de marché en fonction de leur documentation. 

16
Steve Carino

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
}
0
Timothy Gonzalez