Skip to content

stoqey/finnhub

Repository files navigation

Finnhub - NodeJS Wrapper

NPM

Features

  • Candles
  • Tick
  • Quote
  • Real-time price updates
  • Company Profile2
  • Recommendation Trends
  • Peers

Install

npm i @stoqey/finnhub

or

yarn add @stoqey/finnhub

Initialize

Set env variable FINNHUB_KEY with the token you get from Finnhub.

or simply assign it from the constructors

import FinnhubAPI, { FinnhubWS } from '@stoqey/finnhub';

// For API
const finnhubAPI = new FinnhubAPI(finnHubKey);

// For Websockets
const finnhubWs = new FinnhubWS(finnHubKey); // or leave finnHubKey blank if process.env.FINNHUB_KEY is set

Get Candles

const candles = await finnhubAPI.getCandles(symbol, startDate, endDate, '1');

Get Ticks

const ticks = await finnhubAPI.getTick(symbol, date);

Get Quote

const quote = await finnhubAPI.getQuote(symbol);

Get Company Profile2

const companyProfile = await finnhubAPI.getCompanyProfile2(symbol);

Get Recommendation Trends

const recommendations = await finnhubAPI.GetRecommendationTrends(symbol);

Get Peers

const peers = await finnhubAPI.getPeers(symbol);

Real-time price updates

finnhubWs.on("onReady", async () => {
        console.log('WS is ready');
});

finnhubWs.on("onData", async (data: TickData) => {
        console.log('WS onData', data);
});

// Add symbol to streaming list
finnhubWs.addSymbol("AAPL");

// Stop streaming symbol
finnhubWs.removeSymbol("AAPL");

Set process.env.DEBUG = "finnhub*" to see all logs