yahoo-finance
A node wrapper to call the various Yahoo! Finance API's.
Some services have been deprecated by Yahoo! as of May 18th, 2017. Please see API docs below.
Prerequisites
This module requires a Yahoo! API key. More info here.
Install
npm install yahoo-finance-data
Getting started
const YahooFinanceAPI = require('yahoo-finance-data');
const api = new YahooFinanceAPI({
key: 'mylongyahooapikey',
secret: 'mylongyahooapisecret'
});
API
getQuotes(symbolList)
DEPRECATED AS OF 3.2
getReatimeQuotes(symbolList)
Retrieves realtime quote data for one or more securities.
Param | Type | Desc |
---|---|---|
symbolList | String | the ticker list, comma-separated |
api
.getRealtimeQuotes('YHOO,MSFT,AAPL')
.then(data => console.log(data))
.catch(err => console.log(err));
getHistoricalData(symbol, [interval, range])
UPDATED IN v3!
Retrieves historical data for a given security.
Param | Type | Desc |
---|---|---|
symbol | String | the ticker |
interval | String | OPTIONAL interval between data points (default: 1d) |
range | String | OPTIONAL data range (default: 1y) |
Valid ranges:
["1d","5d","1mo","3mo","6mo","1y","2y","5y","10y","ytd","max"]
api
.getHistoricalData('AAPL', '1d', '1y')
.then(data => console.log(data))
.catch(err => console.log(err));
getForexData(exchanges)
UPDATED IN v3.2 !
Retrieves forex data for one or multiple currency pairs.
Param | Type | Desc |
---|---|---|
exchanges | String | the list of currency pairs, comma-separated |
api
.getForexData('eurusd,gbpusd,cadusd')
.then(data => console.log(data))
.catch(err => console.log(err));
getHeadlinesByTicker(ticker)
Retrieves news headlines for a given security.
Param | Type | Desc |
---|---|---|
ticker | String | the ticker |
api
.getHeadlinesByTicker('AAPL')
.then(data => console.log(data))
.catch(err => console.log(err));
getIntradayChartData(ticker, [interval, prePostData])
UPDATED IN v3!
Retrieves intraday chart data for a given security.
Param | Type | Desc |
---|---|---|
ticker | String | the ticker |
interval | String | OPTIONAL time interval for data points (default: 2m) |
prePostData | Boolean | OPTIONAL add pre/post data (default: true) |
api
.getIntradayChartData('AAPL', '2m', true)
.then(data => console.log(data))
.catch(err => console.log(err));
tickerSearch(searchTerm, [region, lang])
Retrieves matches for a given search term.
Param | Type | Desc |
---|---|---|
searchTerm | String | the search query |
region | String | OPTIONAL the region (default: US) |
lang | String | OPTIONAL the language (default: en-US) |
api
.tickerSearch('Apple Inc.', 'US', 'en-US')
.then(data => console.log(data))
.catch(err => console.log(err));
quoteSummary(ticker)
NEW IN v3!
Retrieves company information based on its ticker.
Param | Type | Desc |
---|---|---|
ticker | String | the ticker |
api
.quoteSummary('AAPL')
.then(data => console.log(data))
.catch(err => console.log(err));
optionChain(ticker)
NEW IN v3!
Retrieves option chain for a given ticker.
Param | Type | Desc |
---|---|---|
ticker | String | the ticker |
api
.optionChain('AAPL')
.then(data => console.log(data))
.catch(err => console.log(err));
recommendations(ticker)
NEW IN v3!
Retrieves securities recommendations based on a given ticker.
Param | Type | Desc |
---|---|---|
ticker | String | the ticker |
api
.recommendations('AAPL')
.then(data => console.log(data))
.catch(err => console.log(err));
futures(market, [range, interval, prePostData])
NEW in v3.1!
Retrieves futures data for a given market.
Param | Type | Desc |
---|---|---|
market | String | the market symbol |
range | String | OPTIONAL the amount of days (default: 5d) |
interval | String | OPTIONAL time interval for data points (default: 1d) |
prePostData | Boolean | OPTIONAL add pre/post data (default: false) |
api
.futures('NQ=F')
.then(data => console.log(data))
.catch(err => console.log(err));
commodities(commodities, [range, interval, prePostData])
NEW in v3.1!
Retrieves one or more commodities futures data.
Param | Type | Desc |
---|---|---|
commodities | String | the list of commodities (comma-separated) |
range | String | OPTIONAL the amount of days (default: 1d) |
interval | String | OPTIONAL time interval for data points (default: 5m) |
prePostData | Boolean | OPTIONAL add pre/post data (default: false) |
api
.commodities('GC=F,SI=F,PL=F,HG=F')
.then(data => console.log(data))
.catch(err => console.log(err));