MCPcopy Index your code
hub / github.com/Finnhub-Stock-API/finnhub-go

github.com/Finnhub-Stock-API/finnhub-go @v2.0.24

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.0.24 ↗ · + Follow
6,937 symbols 8,332 edges 191 files 4,986 documented · 72%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Go API client for finnhub.io

Overview

  • API documentation: https://finnhub.io/docs/api
  • API version: 1.0.0
  • Package version: 2.0.20

Installation

Using Go Modules

Make sure your project is using Go Modules (it will have a go.mod file in its root if it already is):

go mod init

Then, reference finnhub-go in a Go program with import:

import (
    finnhub "github.com/Finnhub-Stock-API/finnhub-go/v2"
)

Run any of the normal go commands (build/install/test). The Go toolchain will resolve and fetch the finnhub-go module automatically.

Alternatively, you can also explicitly go get the package into a project:

$ go get -u github.com/Finnhub-Stock-API/finnhub-go/v2

Using go get

If you don't want to use Go Modules, you can choose to get the library directly:

$ go get -u github.com/Finnhub-Stock-API/finnhub-go

Then, reference finnhub-go in a Go program with import (Note that no /v2 at the end):

import (
    finnhub "github.com/Finnhub-Stock-API/finnhub-go"
)

Examples

Example (check out other methods documentation here):

```golang package main

import ( "context" "fmt" finnhub "github.com/Finnhub-Stock-API/finnhub-go/v2" )

func main() { cfg := finnhub.NewConfiguration() cfg.AddDefaultHeader("X-Finnhub-Token", "") finnhubClient := finnhub.NewAPIClient(cfg).DefaultApi

//Earnings calendar
earningsCalendar, _, err := finnhubClient.EarningsCalendar(context.Background()).From("2021-07-01").To("2021-07-25").Execute()
fmt.Printf("%+v\n", earningsCalendar)

// NBBO
bboData, _, err := finnhubClient.StockNbbo(context.Background()).Symbol("AAPL").Date("2021-07-23").Limit(50).Skip(0).Execute()
fmt.Printf("%+v\n", bboData)

// Bid ask
lastBidAsk, _, err := finnhubClient.StockBidask(context.Background()).Symbol("AAPL").Execute()
fmt.Printf("%+v\n", lastBidAsk)

// Stock dividends 2
dividends2, _, err := finnhubClient.StockBasicDividends(context.Background()).Symbol("KO").Execute()
fmt.Printf("%+v\n", dividends2)

//Stock candles
stockCandles, _, err := finnhubClient.StockCandles(context.Background()).Symbol("AAPL").Resolution("D").From(1590988249).To(1591852249).Execute()
fmt.Printf("%+v\n", stockCandles)

// Example with required parameters
news, _, err := finnhubClient.CompanyNews(context.Background()).Symbol("AAPL").From("2020-05-01").To("2020-05-01").Execute()
if err != nil {
    fmt.Println(err)
}
fmt.Printf("%+v\n", news)

// Example with required and optional parameters
ownerships, _, err := finnhubClient.Ownership(context.Background()).Symbol("AAPL").Execute()
fmt.Printf("%+v\n", ownerships)

// Aggregate Indicator
aggregateIndicator, _, err := finnhubClient.AggregateIndicator(context.Background()).Symbol("AAPL").Resolution("D").Execute()
fmt.Printf("%+v\n", aggregateIndicator)

// Basic financials
basicFinancials, _, err := finnhubClient.CompanyBasicFinancials(context.Background()).Symbol("MSFT").Metric("all").Execute()
fmt.Printf("%+v\n", basicFinancials)

// Company earnings
earningsSurprises, _, err := finnhubClient.CompanyEarnings(context.Background()).Symbol("AAPL").Execute()
fmt.Printf("%+v\n", earningsSurprises)

// Company EPS estimates
epsEstimate, _, err := finnhubClient.CompanyEpsEstimates(context.Background()).Symbol("AAPL").Execute()
fmt.Printf("%+v\n", epsEstimate)

// Company executive
executive, _, err := finnhubClient.CompanyExecutive(context.Background()).Symbol("AAPL").Execute()
fmt.Printf("%+v\n", executive)

// Company peers
peers, _, err := finnhubClient.CompanyPeers(context.Background()).Symbol("AAPL").Execute()
fmt.Printf("%+v\n", peers)

// Company profile
profile, _, err := finnhubClient.CompanyProfile(context.Background()).Symbol("AAPL").Execute()
fmt.Printf("%+v\n", profile)

profileISIN, _, err := finnhubClient.CompanyProfile(context.Background()).Isin("US0378331005").Execute()
fmt.Printf("%+v\n", profileISIN)

profileCusip, _, err := finnhubClient.CompanyProfile(context.Background()).Cusip("037833100").Execute()
fmt.Printf("%+v\n", profileCusip)

// Company profile2
profile2, _, err := finnhubClient.CompanyProfile2(context.Background()).Symbol("AAPL").Execute()
fmt.Printf("%+v\n", profile2)

// Revenue Estimates
revenueEstimates, _, err := finnhubClient.CompanyRevenueEstimates(context.Background()).Symbol("AAPL").Execute()
fmt.Printf("%+v\n", revenueEstimates)

// List country
countries, _, err := finnhubClient.Country(context.Background()).Execute()
fmt.Printf("%+v\n", countries)

// Covid-19
covid19, _, err := finnhubClient.Covid19(context.Background()).Execute()
fmt.Printf("%+v\n", covid19)

// FDA Calendar
fdaCalendar, _, err := finnhubClient.FdaCommitteeMeetingCalendar(context.Background()).Execute()
fmt.Printf("%+v\n", fdaCalendar)

// Crypto candles
cryptoCandles, _, err := finnhubClient.CryptoCandles(context.Background()).Symbol("BINANCE:BTCUSDT").Resolution("D").From(1590988249).To(1591852249).Execute()
fmt.Printf("%+v\n", cryptoCandles)

// Crypto exchanges
cryptoExchange, _, err := finnhubClient.CryptoExchanges(context.Background()).Execute()
fmt.Printf("%+v\n", cryptoExchange)

// Crypto symbols
cryptoSymbol, _, err := finnhubClient.CryptoSymbols(context.Background()).Exchange("BINANCE").Execute()
fmt.Printf("%+v\n", cryptoSymbol[0:5])

// Economic Calendar
economicCalendar, _, err := finnhubClient.EconomicCalendar(context.Background()).Execute()
fmt.Printf("%+v\n", economicCalendar)

// Economic code
economicCode, _, err := finnhubClient.EconomicCode(context.Background()).Execute()
fmt.Printf("%+v\n", economicCode)

// Economic data
economicData, _, err := finnhubClient.EconomicData(context.Background()).Code("MA-USA-656880").Execute()
fmt.Printf("%+v\n", economicData)

// Filings
filings, _, err := finnhubClient.Filings(context.Background()).Symbol("AAPL").Execute()
fmt.Printf("%+v\n", filings)

// International filings
internationalFilings, _, err := finnhubClient.InternationalFilings(context.Background()).Symbol("RY.TO").Execute()
fmt.Printf("%+v\n", internationalFilings)

// Filings Sentiment
filingsSentiment, _, err := finnhubClient.FilingsSentiment(context.Background()).AccessNumber("0000320193-20-000052").Execute()
fmt.Printf("%+v\n", filingsSentiment)

// Similarity Index
similarityIndex, _, err := finnhubClient.SimilarityIndex(context.Background()).Symbol("AAPL").Execute()
fmt.Printf("%+v\n", similarityIndex)

// Financials
financials, _, err := finnhubClient.Financials(context.Background()).Symbol("AAPL").Statement("bs").Freq("annual").Execute()
fmt.Printf("%+v\n", financials)

// Financials Reported
financialsReported, _, err := finnhubClient.FinancialsReported(context.Background()).Symbol("AAPL").Execute()
fmt.Printf("%+v\n", financialsReported)

// Forex candles
forexCandles, _, err := finnhubClient.ForexCandles(context.Background()).Symbol("OANDA:EUR_USD").Resolution("D").From(1590988249).To(1591852249).Execute()
fmt.Printf("%+v\n", forexCandles)

// Forex exchanges
forexExchanges, _, err := finnhubClient.ForexExchanges(context.Background()).Execute()
fmt.Printf("%+v\n", forexExchanges)

// Forex rates
forexRates, _, err := finnhubClient.ForexRates(context.Background()).Base("USD").Execute()
fmt.Printf("%+v\n", forexRates)

// Forex symbols
forexSymbols, _, err := finnhubClient.ForexSymbols(context.Background()).Exchange("OANDA").Execute()
fmt.Printf("%+v\n", forexSymbols)

// Fund ownership
fundOwnership, _, err := finnhubClient.FundOwnership(context.Background()).Symbol("AAPL").Execute()
fmt.Printf("%+v\n", fundOwnership)

// General news
generalNews, _, err := finnhubClient.MarketNews(context.Background()).Category("general").Execute()
fmt.Printf("%+v\n", generalNews)

// Ipo calendar
ipoCalendar, _, err := finnhubClient.IpoCalendar(context.Background()).From("2021-01-01").To("2021-06-30").Execute()
fmt.Printf("%+v\n", ipoCalendar)

// Press Releases
majorDevelopment, _, err := finnhubClient.PressReleases(context.Background()).Symbol("AAPL").Execute()
fmt.Printf("%+v\n", majorDevelopment)

// News sentiment
newsSentiment, _, err := finnhubClient.NewsSentiment(context.Background()).Symbol("AAPL").Execute()
fmt.Printf("%+v\n", newsSentiment)

// Pattern recognition
patterns, _, err := finnhubClient.PatternRecognition(context.Background()).Symbol("AAPL").Resolution("D").Execute()
fmt.Printf("%+v\n", patterns)

// Price target
priceTarget, _, err := finnhubClient.PriceTarget(context.Background()).Symbol("AAPL").Execute()
fmt.Printf("%+v\n", priceTarget)

// Quote
quote, _, err := finnhubClient.Quote(context.Background()).Symbol("AAPL").Execute()
fmt.Printf("%+v\n", quote)

// Recommendation trends
recommendationTrend, _, err := finnhubClient.RecommendationTrends(context.Background()).Symbol("AAPL").Execute()
fmt.Printf("%+v\n", recommendationTrend)

// Stock dividends
dividends, _, err := finnhubClient.StockDividends(context.Background()).Symbol("KO").From("2019-01-01").To("2021-01-01").Execute()
fmt.Printf("%+v\n", dividends)

// Splits
splits, _, err := finnhubClient.StockSplits(context.Background()).Symbol("AAPL").From("2000-01-01").To("2020-06-15").Execute()
fmt.Printf("%+v\n", splits)

// Stock symbols
stockSymbols, _, err := finnhubClient.StockSymbols(context.Background()).Exchange("US").Execute()
fmt.Printf("%+v\n", stockSymbols[0:5])

// Support resistance
supportResitance, _, err := finnhubClient.SupportResistance(context.Background()).Symbol("AAPL").Resolution("D").Execute()
fmt.Printf("%+v\n", supportResitance)

// Technical indicator
technicalIndicator, _, err := finnhubClient.TechnicalIndicator(context.Background()).Symbol("AAPL").Resolution("D").From(1583098857).To(1584308457).Indicator("sma").IndicatorFields(map[string]interface{}{"timeperiod": 3}).Execute()
fmt.Printf("%+v\n", technicalIndicator)

// Transcripts
transcripts, _, err := finnhubClient.Transcripts(context.Background()).Id("AAPL_162777").Execute()
fmt.Printf("%+v\n", transcripts)

// Transcripts list
transcriptsList, _, err := finnhubClient.TranscriptsList(context.Background()).Symbol("AAPL").Execute()
fmt.Printf("%+v\n", transcriptsList)

// Upgrade/downgrade
upgradeDowngrade, _, err := finnhubClient.UpgradeDowngrade(context.Background()).Symbol("BYND").Execute()
fmt.Printf("%+v\n", upgradeDowngrade)

// Tick Data
tickData, _, err := finnhubClient.StockTick(context.Background()).Symbol("AAPL").Date("2021-07-23").Limit(50).Skip(0).Execute()
fmt.Printf("%+v\n", tickData)

// Indices Constituents
indicesConstData, _, err := finnhubClient.IndicesConstituents(context.Background()).Symbol("^GSPC").Execute()
fmt.Printf("%+v\n", indicesConstData)

// Indices Historical Constituents
indicesHistoricalConstData, _, err := finnhubClient.IndicesHistoricalConstituents(context.Background()).Symbol("^GSPC").Execute()
fmt.Printf("%+v\n", indicesHistoricalConstData)

// ETFs Profile
etfsProfileData, _, err := finnhubClient.EtfsProfile(context.Background()).Symbol("SPY").Execute()
fmt.Printf("%+v\n", etfsProfileData)

// ETFs Holdings
etfsHoldingsData, _, err := finnhubClient.EtfsHoldings(context.Background()).Symbol("SPY").Execute()
fmt.Printf("%+v\n", etfsHoldingsData)

// ETFs Industry Exposure
etfsIndustryExposureData, _, err := finnhubClient.EtfsSectorExposure(context.Background()).Symbol("SPY").Execute()
fmt.Printf("%+v\n", etfsIndustryExposureData)

// ETFs Country Exposure
etfsCountryExposureData, _, err := finnhubClient.EtfsCountryExposure(context.Background()).Symbol("SPY").Execute()
fmt.Printf("%+v\n", etfsCountryExposureData)

// ETFs Allocation
etfsAllocationData, _, err := finnhubClient.EtfsAllocation(context.Background()).Symbol("SPY").Execute()
fmt.Printf("%+v\n", etfsAllocationData)

// Mutual Funds Profile
mfProfileData, _, err := finnhubClient.MutualFundProfile(context.Background()).Symbol("VTSAX").Execute()
fmt.Printf("%+v\n", mfProfileData)

// Mutual Funds Holdings
mfHoldingsData, _, err := finnhubClient.MutualFundHoldings(context.Background()).Symbol("VTSAX").Execute()
fmt.Printf("%+v\n", mfHoldingsData)

// Mutual Funds Industry Exposure
mfIndustryExposureData, _, err := finnhubClient.MutualFundSectorExposure(context.Background()).Symbol("VTSAX").Execute()
fmt.Printf("%+v\n", mfIndustryExposureData)

// Mutual Funds Country Exposure
mfCountryExposureData, _, err := finnhubClient.MutualFundCountryExposure(context.Background()).Symbol("VTSAX").Execute()
fmt.Printf("%+v\n", mfCountryExposureData)

// Insider Transactions
insiderTransactions, _, err := finnhubClient.InsiderTransactions(context.Background()).Symbol("AAPL").From("2021-01-01").To("2021-07-30").Execute()
fmt.Printf("%+v\n", insiderTransactions)

// Revenue breakdown
revenueBreakdown, _, err := finnhubClient.RevenueBreakdown(context.Background()).Symbol("AAPL").Execute()
fmt.Printf("%+v\n", revenueBreakdown)

// Social Sentiment
socialSentiment, _, err := finnhubClient.SocialSentiment(context.Background()).Symbol("GME").Execute()
fmt.Printf("%+v\n", socialSentiment)

// Investment theme
investmentTheme, _, err := finnhubClient.InvestmentThemes(context.Background()).Theme("financialExchangesData").Execute()
fmt.Printf("%+v\n", in

Core symbols most depended-on inside this repo

parameterToString
called by 235
client.go
Error
called by 218
client.go
reportError
called by 147
client.go
Get
called by 112
utils.go
ServerURLWithContext
called by 109
configuration.go
selectHeaderContentType
called by 109
client.go
selectHeaderAccept
called by 109
client.go
callAPI
called by 109
client.go

Shape

Method 5,842
Function 595
Struct 496
TypeAlias 4

Languages

Go100%

Modules by API surface

api_default.go674 symbols
model_company_profile.go144 symbols
model_mutual_fund_profile_data.go124 symbols
model_visa_application.go104 symbols
model_etf_profile_data.go104 symbols
model_search_body.go99 symbols
model_bond_profile.go96 symbols
model_usa_spending.go92 symbols
utils.go72 symbols
model_lobbying_data.go72 symbols
model_in_filing_response.go68 symbols
model_filing_response.go64 symbols

For agents

$ claude mcp add finnhub-go \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact