💰 NPM package to get stock and historical price from finance.yahoo.com
TypeScript 92.0%
Other 8.0%
124 1 0

Clone this repository

https://tangled.org/keii.dev/yahoo-stock-api
git@tangled.org:keii.dev/yahoo-stock-api

For self-hosted knots, clone URLs may differ based on your setup.

README.md

yahoo-stock-api#

💰 NPM package to get stock and historical price from finance.yahoo.com

⚠️ Breaking changes ⚠️#

v2.0.0 of this package have breaking changes and can affect your code, please review it and change according to the documentation below!#

GitHub top language GitHub package.json version GitHub last commit GitHub issues GitHub Travis (.org) Node.js CI Code quality npm bundle size Snyk Vulnerabilities for npm package ![Visits Badge

Installaion#

npm i yahoo-stock-api or yarn add yahoo-stock-api if you use yarn.

API#

Everything in this API will return Promise so remember to use async/await or callback

getHistoricalPrices: async function({ startDate, endDate, symbol, frequency })

  • startDate: Date
  • endDate: Date
  • symbol: String (stock symbol)
  • frequency: String ('1d', '1wk' or '1mo' only)
    • 1d: 1day
    • 1wk: 1 week
    • 1mo: 1 month

Return Promise

Example

Code#

const yahooStockAPI = require('yahoo-stock-api').default;

const yahoo = new yahooStockAPI();

const startDate = new Date('08/21/2020');
const endDate = new Date('08/26/2020');
yahoo.getHistoricalPrices({ startDate, endDate, symbol: 'AAPL', frequency: '1d' }).then(console.log);

Response#

{
error: false,
currency: 'USD',
response: [
  {
    date: 1598418000,
    open: 126.18,
    high: 126.99,
    low: 125.08,
    close: 126.52,
    adjClose: 124.81,
    volume: 163022400
  },
  {
    date: 1598331600,
    open: 124.7,
    high: 125.18,
    low: 123.05,
    close: 124.82,
    adjClose: 123.13,
    volume: 211495600
  },
  {
    date: 1598245200,
    open: 128.7,
    high: 128.79,
    low: 123.94,
    close: 125.86,
    adjClose: 124.15,
    volume: 345937600
  },
  {
    date: 1597986000,
    open: 119.26,
    high: 124.87,
    low: 119.25,
    close: 124.37,
    adjClose: 122.68,
    volume: 338054800
  }
]
}

getSymbol({ symbol })

  • symbol: String (stock symbol)

Return Promise

Example

Code#

const yahooStockAPI = require('yahoo-stock-api').default;

const yahoo = new yahooStockAPI();

yahoo.getSymbol({ symbol: 'AAPL' }).then(console.log);

Response#

{
error: false,
currency: 'USD',
response: {
  updated: 1673486286910,
  previousClose: 130.73,
  open: 131.25,
  bid: { value: 133.42, shares: 900 },
  ask: { value: 133.47, shares: 1000 },
  dayRange: { low: 130.46, high: 133.49 },
  fiftyTwoWeekRange: { low: 124.17, high: 179.61 },
  volume: 69458949,
  avgVolume: 83633004,
  marketCap: 2124000000000,
  beta: 1.27,
  peRatio: 21.85,
  eps: 6.11,
  earningsDate: { start: 1675317600, end: undefined },
  forwardDividend: 0.92,
  forwardYield: 0.71,
  exDividendDate: 1667538000,
  oneYearTargetEst: 173.25
}
}

Test#

Contributors ✨#

Thanks goes to these wonderful people (emoji key):


Duy Pham Le

💻

Rajat

🤔

Tommy Tang

💻 🐛

This project follows the all-contributors specification. Contributions of any kind welcome!

License#

FOSSA Status