API котировок акций в формате JSON (live или historical)

Я создаю веб-приложение RESTful для себя, и мне интересно бесплатно получить данные о запасах в формате JSON. Я планирую использовать JavaScript на стороне клиента. Есть ли бесплатный API акций, который я могу использовать, что делает не возвращает XML и делает не использовать C#.

EDIT: я нашел этот запрос 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

3 ответов


конечно, если вернуть и проанализировать как JSON с javascript, вы сможете сделать следующее и вытащить все, что вы хотели из каждого возвращенного запаса:

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

(добавление и startDate = "" and endDate = "" к запросу с датами в формате гггг-ММ-ДД, чтобы сделать то, что вы хотите, также не забудьте выбрать JSON в качестве выходного формата)

--

дополнительная информация из комментариев:

  • в приведенном выше примере запрос был для исторических данных от yahoo.финансы.historicaldata, вы также можете запросить yahoo.финансы.котировки в реальном времени -- отставание около 15 минут)
  • если вы хотите истинную информацию в реальном времени, запросите веб-сервис: например finance.yahoo.com/webservice/v1/symbols/YHOO/quote?format=json (добавить &view=detail к этому запросу, если вы хотите более подробный вывод)

Как разработчик программного обеспечения, я бы порекомендовал Альфа Vantage. Они предлагают реальные и исторические котировки акций (ежедневные, еженедельные, ежемесячные и т. д.) as RESTful JSON APIs.

Это совершенно бесплатно с неограниченными вызовами API. Это в реальном времени, пока акции котируются на основных фондовых биржах.

здесь является примером вызова API для ежедневных цен и объемов MSFT, обогащенных корректировками разделения / дивидендов. Самые последние данные point-это информация в реальном времени за текущий торговый день.

Они также предлагают API технического анализа поверх рыночных данных согласно их документации.


документация: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
}