Skip to content

Gatsby source plugin for the unofficial Yahoo Finance API via Rapid API

Notifications You must be signed in to change notification settings

gventuri/gatsby-yahoo-finance-api

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gatsby-yahoo-finance-api

Source plugin for pulling in market and individual stock data into Gatsby from the unofficial Yahoo Finance API hosted by Rapid API.

Yahoo deprecated their API in 2012, but it has since been made available on Rapid API and still provides valuable data for current and historical stock market information.

Available data

  • Historical (and at the time of build) pricing data and metadata for an individual stock or many stocks.
  • Balance sheet data for an individual stock
  • "Market Mover" data. (x number of stocks with the largest gains, losses, and most active trading at time of build).

This is only a small subset of the data offered by the Yahoo Finance API, so if there's something missing that you'd like to see added please open an issue or create a pull request in Github!

Install

npm install --save gatsby-yahoo-finance-api

How to use

First you'll need to create an Rapid API account to retrieve an API key here.

Then in your gatsby-config.js, add the following plugin configuration for Gatsby to pull in your data:

plugins: [
  {
    resolve: "gatsby-yahoo-finance-api",
    options: {
      /* Your Yahoo Finance API Key (Required) */
      key: "<YOUR_API_KEY>",

      /* 
        An array of queries you want to make (The data you want to fetch at build time). 
        At least one query object is required. 
      */
      queries: [
        /* 
          Below is a list of all queries available, with their associated types and params.

          All queries must have a "type" and a "params" field
          The query type determines which query will be made. 
        
          Note: Timestamps for this API are in Unix epoch time. Refer to https:/www.epochconverter.com/ to determine a timestamp for a given date.
        */

        {
          type: "get-profile",
          params: {
            symbol: "TSLA", // (Required) Stock ticker/symbol
            region: "US", // (Optional) Options: AU | CA | FR | DE | HK | US | IT | ES | GB | IN
          },
        },
        {
          type: "get-historical-data",
          params: {
            period1: "1431010482", // (Required) Epoch timestamp
            period2: "1588863282", // (Required) Epoch timestamp
            symbol: "TSLA", // (Required) Stock ticker/symbol
            frequency: "1d", // (Optional) Options: 1d | 1w | 1mo
          },
        },
        {
          type: "get-balance-sheet",
          params: {
            symbol: "TSLA", // (Required) Stock ticker/symbol
          },
        },
        {
          type: "get-movers",
          params: {
            region: "US", // (Required) Options: AU | CA | FR | DE | HK | US | IT | ES | GB | IN
            lang: "en", // (Required) Options:  en | fr | de | it | es | zh
            count: "10", // (Optional) The number of quotes to display in day gainers / losers / activies
          },
        },
        {
          type: "get-charts",
          params: {
            symbol: "TSLA", // (Required) Stock ticker/symbol
            region: "US", // (Required) Options: AU | CA | FR | DE | HK | US | IT | ES | GB | IN
            lang: "en", // (Required) Options:  en | fr | de | it | es | zh
            range: "3mo", // (Required) Options: 1d | 5d | 3mo | 6mo | 1y | 5y | max
            interval: "1mo", // (Required) Options: 5m | 15m | 1d | 1wk | 1mo
            comparisons: "APPL,GOOG", // (Optional) Comma seperated list of stock symbols to retrieve financial data for
          },
        },
      ],
    },
  },
]

How to query

Once the build is done, the following node types will be available in your GraphQL queries (depending on which queries were made)

  • stockHistoricalData
  • stockBalanceSheet
  • marketMovers
  • marketCharts

You can query generated nodes like the following:

{
  allStockHistoricalData {
    edges {
      node {
        prices {
          close
          open
          date
        }
      }
    }
  }
}

About

Gatsby source plugin for the unofficial Yahoo Finance API via Rapid API

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%