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

Je construis une application Web RESTful pour moi-même et je suis intéressé à obtenir des données boursières au format JSON gratuitement. Je prévois d'utiliser javascript pour le côté client. Y a-t-il une API stock libre dans laquelle je peux puiser, qui ne pas renvoie XML et ne pas utilise C#.

EDIT: j'ai trouvé cette requête JSON...faut-il 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
demandé sur bouncingHippo 2012-11-19 20:32:27

3 réponses

Bien sûr, si ramené et analysé comme JSON avec javascript, vous seriez en mesure de faire ce qui suit et de retirer 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);

--

YQL Démo

(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 tirées des commentaires:

  • Dans l'exemple au-dessus de la requête était pour les données historiques de yahoo.Finance.historicaldata, vous pouvez également interroger yahoo.Finance.citations en temps réel -- décalé d'environ 15 minutes)
  • si vous voulez de vraies informations en temps réel, interrogez le webservice: par exemple finance.yahoo.com/webservice/v1/symbols/YHOO/quote?format=json (Ajoutez &view=detail à cette requête si vous voulez une sortie plus détaillée)
50
répondu crowebird 2015-05-05 19:47:06

En tant que développeur de logiciels, je recommanderais Alpha Vantage. Ils offrent des cotations boursières en temps réel et historiques (quotidiennes, hebdomadaires,mensuelles, etc.) comme API JSON RESTful .

C'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, enrichi avec des ajustements split/dividend. Le dernier point de données est l'information en temps réel pour le jour de négociation en cours.

Ils offrent également des API d'analyse technique en plus des données de marché en fonction de leur documentation.

16
répondu Steve Carino 2017-09-14 18:01:23

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

Obtenir 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
répondu Timothy Gonzalez 2018-07-16 21:06:09