@stoqey/finnhub
Version:
NodeJS Finhubb wrapper
123 lines (122 loc) • 5.04 kB
TypeScript
import { AxiosInstance } from "axios";
import { MarketDataItem, Quote, RecommendationTrends, Resolution, TickData } from "../interface";
import { BasicFinancials, BasicFinancialsRequest, CompanyNews, CompanyNewsRequest, CompanyProfile2, CompanyProfile2Request, InsiderTransaction, InsiderTransactionRequest, MarketNews, MarketNewsRequest, NewsSentiment, SymbolLookup } from "./fundamentals/interface";
/**
* FinnhubAPI
* @StockCandles Get candlestick data for stocks.
* https://finnhub.io/docs/api#stock-candles
*
* @TickData Get historical tick data for US stocks from all 13 exchanges
* https://finnhub.io/docs/api#stock-tick
*
* @Quote Get stocks quote price
* https://finnhub.io/docs/api#quote
*
* @CompanyProfile2 Get symbol Company info
* https://finnhub.io/docs/api/company-profile2
*
* @RecommendationTrends Get Recommendation Trends
* https://finnhub.io/docs/api/recommendation-trends
* @Peers Get peers for company
* https://finnhub.io/docs/api/company-peers
*/
export declare class FinnhubAPI {
token: string;
api: AxiosInstance;
private fundamentalsApi;
constructor(token?: string);
/**
* Get candlestick data for stocks.
* @param symbol
* @param start
* @param end
* @param resolution
* https://finnhub.io/docs/api#stock-candles
*/
getCandles(symbol: string, start: Date, end: Date, resolution: Resolution): Promise<MarketDataItem[]>;
/**
* TickData Get historical tick data for US stocks from all 13 exchanges
* https://finnhub.io/docs/api#stock-tick
* @param symbol
* @param date
*/
getTick(symbol: string, date: Date): Promise<TickData[]>;
/**
* GetQuote
* Get real-time quote data for US stocks. Constant polling is not recommended. Use websocket if you need real-time update.
* @param symbol
*/
getQuote(symbol: string): Promise<Quote>;
/**
* Symbol Lookup
* Search for best-matching symbols based on your query. You can input anything from symbol, security's name to ISIN and Cusip.
* @param query Query text can be symbol, name, isin, or cusip
* @returns {SymbolLookup | null}
*/
symbolLookup(query?: string): Promise<SymbolLookup | null>;
/**
* companyProfile2
* Get general information of a company
* https://finnhub.io/docs/api/company-profile2
* @param args @type {CompanyProfile2Request}
* @return {CompanyProfile2 | null}
*/
companyProfile2(args: CompanyProfile2Request): Promise<CompanyProfile2 | null>;
/**
* Market News - https://finnhub.io/docs/api/market-news
* Get latest market news.
* @param args @type {MarketNewsRequest}
* @returns {MarketNews | null}
*/
marketNews(args: MarketNewsRequest): Promise<MarketNews[] | null>;
/**
* Company News - https://finnhub.io/docs/api/company-news
* List latest company news by symbol. This endpoint is only available for North American companies.
* @param args @type {CompanyNewsRequest}
* @returns {CompanyNews | null}
*/
companyNews(args: CompanyNewsRequest): Promise<CompanyNews[] | null>;
/**
* News Sentiment - https://finnhub.io/docs/api/news-sentiment
* Get company's news sentiment and statistics. This endpoint is only available for US companies.
* @param symbol
* @returns {NewsSentiment | null}
*/
newsSentiment(symbol: string): Promise<NewsSentiment | null>;
/**
* GetRecommendationTrends
* Get general information of a company
* https://finnhub.io/docs/api/company-profile2
*/
GetRecommendationTrends(symbol: string): Promise<RecommendationTrends[]>;
/**
* @deprecated - please use peers API
* GetPeers
* Get company peers. Return a list of peers in the same country and GICS sub-industry
* @param symbol
*/
getPeers(symbol: string): Promise<string[] | null>;
/**
* Peers - https://finnhub.io/docs/api/company-peers
* Get company peers. Return a list of peers in the same country and GICS sub-industry
* @param symbol Symbol of the company
* @returns Array of peers' symbol.
*/
peers(symbol: string): Promise<string[] | null>;
/**
* Basic Financials - https://finnhub.io/docs/api/company-basic-financials
* Get company basic financials such as margin, P/E ratio, 52-week high/low etc.
* @param args @type {BasicFinancialsRequest}
* @returns {BasicFinancials}
*/
basicFinancials(args: BasicFinancialsRequest): Promise<BasicFinancials | null>;
/**
* Insider Transactions - https://finnhub.io/docs/api/insider-transactions
* Company insider transactions data sourced from Form 3,4,5. This endpoint only covers US companies at the moment.
* Limit to 100 transactions per API call.
* @param args @type {InsiderTransactionRequest}
* @returns {InsiderTransaction}
*/
insiderTransactions(args: InsiderTransactionRequest): Promise<InsiderTransaction | null>;
}
export default FinnhubAPI;