> **Building with AI coding agents?** Install the authstack plugin with one command. This equips your agent with accurate Scalekit implementation patterns.
>
> **Recommended** (the `-y` flags skip prompts, so the command runs without an interactive terminal):
> ```bash
> npx -y @scalekit-inc/cli setup -y
> ```
>
> Global:
> ```bash
> npm install -g @scalekit-inc/cli
> scalekit setup -y
> ```
>
> Supports Claude Code, Cursor, GitHub Copilot, Codex + skills for other Agent Skills-compatible agents in `~/.agents/skills`.
> Skills: integrate-agentkit, implement-saaskit, add-mcp-oauth, implement-sso, implement-scim.
> [Full setup guide](https://docs.scalekit.com/dev-kit/build-with-ai/)

---

# Connect AI agents to Finnhub

The Finnhub connector lets your AI agent act in each user's Finnhub account. Each user connects their own Finnhub API key once, and Scalekit sends it with every call, so your agent never handles credentials. It comes with 30 tools.

**Authentication:** API Key
**Categories:** Accounting & Finance, Analytics
**Tools:** 30: 30 read, 0 write, 0 destructive
**Users sign in with:** API key
**Built by:** Scalekit connector
**Try it:** [Playground in the Scalekit dashboard](https://app.scalekit.com/ws/signup?sk_intent=playground&provider=FINNHUB)

## Setup

1. ### Install the SDK

   **Node.js**

   ```bash
   npm install @scalekit-sdk/node dotenv
   ```

   **Python**

   ```bash
   pip install scalekit-sdk-python python-dotenv
   ```

2. ### Set your credentials

   Add your Scalekit credentials to your `.env` file. Find values in **[app.scalekit.com](https://app.scalekit.com)** > **Developers** > **API Credentials**.

   ```sh title=".env"
   SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
   SCALEKIT_CLIENT_ID=<your-client-id>
   SCALEKIT_CLIENT_SECRET=<your-client-secret>
   ```

3. ### Create the Finnhub connection

   In **AgentKit > Connections**, create a Finnhub connection. The name you give it is the `connection_name` your code passes. See [Configure connections](/agentkit/connections/).

4. ### Authorize a user and make your first call

   **Node.js** (`quickstart.mts`)

   ```typescript
   import { ScalekitClient } from '@scalekit-sdk/node'
   import 'dotenv/config'
   import { createInterface } from 'node:readline/promises'

   const scalekit = new ScalekitClient(
     process.env.SCALEKIT_ENVIRONMENT_URL,
     process.env.SCALEKIT_CLIENT_ID,
     process.env.SCALEKIT_CLIENT_SECRET,
   )
   const actions = scalekit.actions

   const connector = 'finnhub'
   const identifier = 'user_123'

   // Generate an authorization link for the user
   const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
   console.log('Authorize Finnhub:', link)
   const rl = createInterface({ input: process.stdin, output: process.stdout })
   await rl.question('Press Enter after authorizing...')
   rl.close()

   // Make your first call
   const result = await actions.executeTool({
     connector,
     identifier,
     toolName: 'finnhub_get_company_profile',
     toolInput: {},
   })
   console.log(result)
   ```

   ```bash
   npx tsx quickstart.mts
   ```

   **Python** (`quickstart.py`)

   ```python
   import os
   from scalekit import ScalekitClient
   from dotenv import load_dotenv
   load_dotenv()

   scalekit_client = ScalekitClient(
       env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),
       client_id=os.getenv("SCALEKIT_CLIENT_ID"),
       client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),
   )
   actions = scalekit_client.actions

   connection_name = "finnhub"
   identifier = "user_123"

   # Generate an authorization link for the user
   link_response = actions.get_authorization_link(
       connection_name=connection_name,
       identifier=identifier,
   )
   print("Authorize Finnhub:", link_response.link)
   input("Press Enter after authorizing...")

   # Make your first call
   result = actions.execute_tool(
       tool_input={},
       tool_name="finnhub_get_company_profile",
       connection_name=connection_name,
       identifier=identifier,
   )
   print(result)
   ```

   ```bash
   python quickstart.py
   ```

   Each user opens the link once and enters their Finnhub credentials there. See [Authorize a user](/agentkit/tools/authorize/) for the full flow and statuses.

## Tools

Pass the exact name to `execute_tool`, with an input like each tool's example. To ask for a tool that's missing, use the [request form](https://scalekitsupport.portal.usepylon.com/forms/request-a-connector-tool).

**Node.js**

```typescript
const result = await actions.executeTool({
  toolName: 'finnhub_get_basic_financials',
  toolInput: {
    symbol: '<symbol>',
  },
  connector: 'finnhub',
  identifier: 'user_123',
})
```

**Python**

```python
result = actions.execute_tool(
    tool_name="finnhub_get_basic_financials",
    tool_input={
        "symbol": "<symbol>",
    },
    connection_name="finnhub",
    identifier="user_123",
)
```

`result.data` is the app's response as JSON, and `result.execution_id` (`executionId` in Node.js) is the ID of the call.

### `finnhub_get_basic_financials`

Get Basic Financials · Read-only

Get a company's key financial metrics and ratio history.
Returns metric, a map of current values such as peTTM, pbAnnual, epsTTM, dividendYieldIndicatedAnnual, beta, 52WeekHigh, 52WeekLow, 10DayAverageTradingVolume, grossMarginTTM and netProfitMarginTTM, plus series, annual and quarterly histories of ratios such as currentRatio, netMargin and salesPerShare.
Use finnhub_get_basic_financials for valuation, margins and 52-week range. Use finnhub_get_financials_as_reported for full statements from SEC filings and finnhub_get_quote for the current price.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `symbol` (`string`, required): Ticker symbol of the company, as Finnhub lists it (US tickers are plain, e.g. AAPL; other markets use a suffix, e.g. BMW.DE). Use finnhub_search_symbols to find it.
- `metric` (`string`, optional): Metric group to return. Finnhub accepts all. Example: all. One of: `all`. Default: `all`.

Example input: `{"symbol":"<symbol>"}`

### `finnhub_get_company_profile`

Get Company Profile · Read-only

Get a company's profile by ticker symbol, ISIN or CUSIP.
Returns name, ticker, exchange, country, currency, finnhubIndustry, ipo date, marketCapitalization and shareOutstanding (both in millions), weburl, phone and logo URL. An unknown identifier returns an empty object.
Use finnhub_get_company_profile for who a company is and its size. Use finnhub_get_basic_financials for ratios and margins, and finnhub_get_peers for comparable companies.
Provide exactly one of symbol, isin or cusip.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `cusip` (`string`, optional): CUSIP of the security, used when symbol and isin are not given. Example: 037833100.
- `isin` (`string`, optional): ISIN of the security, used when symbol is not given. Example: US0378331005.
- `symbol` (`string`, optional): Ticker symbol of the company. Provide one of symbol, isin or cusip. Example: AAPL.

Example input: `{}`

### `finnhub_get_crypto_candles`

Get Crypto Candles · Read-only

Get open, high, low, close and volume candles for a crypto pair over a time range.
Returns parallel arrays o, h, l, c, v and t (UNIX times) plus s, which is ok or no_data. Needs a paid Finnhub plan; a free key gets an access error (HTTP 403).
Use finnhub_get_crypto_candles for crypto price history.
Get the pair's symbol from finnhub_list_crypto_symbols.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `from` (`integer`, required): Start of the range as a UNIX timestamp in seconds. Example: 1756684800 (2025-09-01 00:00 UTC).
- `resolution` (`string`, required): Candle size: 1, 5, 15, 30 or 60 for minutes, D for daily, W for weekly, M for monthly. Some sizes are not available on every exchange. Example: D. One of: `1`, `5`, `15`, `30`, `60`, `D`, `W`, `M`.
- `symbol` (`string`, required): Crypto pair symbol exactly as returned by finnhub_list_crypto_symbols, including the exchange prefix. Example: BINANCE:BTCUSDT.
- `to` (`integer`, required): End of the range as a UNIX timestamp in seconds. Example: 1759276800 (2025-10-01 00:00 UTC). Intraday resolutions return at most one month per call.

Example input: `{"from":1756684800,"resolution":"1","symbol":"<symbol>","to":1759276800}`

### `finnhub_get_earnings_calendar`

Get Earnings Calendar · Read-only

List past and upcoming earnings releases, optionally for one symbol or date range.
Returns earningsCalendar, a list of releases with symbol, date, hour (bmo before open, amc after close, dmh during market hours), year, quarter, epsEstimate, epsActual, revenueEstimate and revenueActual. EPS and revenue are non-GAAP. The free plan covers one month of history plus upcoming dates.
Use finnhub_get_earnings_calendar to find when companies report. Use finnhub_get_earnings_surprises for one company's beat-or-miss history.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `from` (`string`, optional): Start date of the release range, YYYY-MM-DD. Example: 2026-09-01.
- `international` (`boolean`, optional): Set to true to include non-US markets. Omit for US only. Example: true.
- `symbol` (`string`, optional): Only return releases for this ticker. Omit for all companies. Example: AAPL.
- `to` (`string`, optional): End date of the release range, YYYY-MM-DD. Example: 2026-09-30.

Example input: `{}`

### `finnhub_get_earnings_surprises`

Get Earnings Surprises · Read-only

Get a company's quarterly earnings per share against analyst estimates.
Returns one entry per quarter with period, year, quarter, actual, estimate, surprise and surprisePercent, newest first. The free plan returns the last four quarters.
Use finnhub_get_earnings_surprises for a company's beat-or-miss history. Use finnhub_get_earnings_calendar for upcoming report dates.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `symbol` (`string`, required): Ticker symbol of the company, as Finnhub lists it (US tickers are plain, e.g. AAPL; other markets use a suffix, e.g. BMW.DE). Use finnhub_search_symbols to find it.
- `limit` (`integer`, optional): Maximum number of quarters to return. Omit for the full history your plan allows. Example: 4.

Example input: `{"symbol":"<symbol>"}`

### `finnhub_get_economic_calendar`

Get Economic Calendar · Read-only

List recent and upcoming economic data releases such as GDP, CPI and jobs reports.
Returns economicCalendar, a list of releases with event, country, time, impact (low, medium or high), actual, estimate, prev and unit. Needs a paid Finnhub plan; a free key gets an access error (HTTP 403).
Use finnhub_get_economic_calendar for macro events. Use finnhub_get_earnings_calendar for company earnings dates.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `from` (`string`, optional): Start date of the release range, YYYY-MM-DD. Example: 2026-09-01.
- `to` (`string`, optional): End date of the release range, YYYY-MM-DD. Example: 2026-09-30.

Example input: `{}`

### `finnhub_get_financials_as_reported`

Get Financials As Reported · Read-only

Get a company's financial statements exactly as reported in its SEC 10-K or 10-Q filings.
Returns symbol, cik and data, one entry per filing with year, quarter, form, startDate, endDate, filedDate, accessNumber and report, which holds the balance sheet (bs), income statement (ic) and cash flow (cf) line items as filed. Responses for a full history are large; narrow with from and to.
Use finnhub_get_financials_as_reported for full statements. Use finnhub_get_basic_financials for ready-made ratios.
Provide symbol, cik or access_number.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `access_number` (`string`, optional): Accession number of one filing to return financials from. Example: 0000320193-24-000123.
- `cik` (`string`, optional): SEC Central Index Key of the company, used instead of symbol. Example: 320193.
- `freq` (`string`, optional): Statement frequency: annual (10-K) or quarterly (10-Q). Omit for annual. Example: quarterly. One of: `annual`, `quarterly`.
- `from` (`string`, optional): Start date of the period end range, YYYY-MM-DD. Example: 2026-09-01.
- `symbol` (`string`, optional): Ticker symbol of the company. Provide one of symbol, cik or access_number. Example: AAPL.
- `to` (`string`, optional): End date of the period end range, YYYY-MM-DD. Example: 2026-09-30.

Example input: `{}`

### `finnhub_get_forex_candles`

Get Forex Candles · Read-only

Get open, high, low, close and volume candles for a currency pair over a time range.
Returns parallel arrays o, h, l, c, v and t (UNIX times) plus s, which is ok or no_data. Needs a paid Finnhub plan; a free key gets an access error (HTTP 403).
Use finnhub_get_forex_candles for one pair's price history. Use finnhub_get_forex_rates for current conversion rates.
Get the pair's symbol from finnhub_list_forex_symbols.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `from` (`integer`, required): Start of the range as a UNIX timestamp in seconds. Example: 1756684800 (2025-09-01 00:00 UTC).
- `resolution` (`string`, required): Candle size: 1, 5, 15, 30 or 60 for minutes, D for daily, W for weekly, M for monthly. Some sizes are not available on every exchange. Example: D. One of: `1`, `5`, `15`, `30`, `60`, `D`, `W`, `M`.
- `symbol` (`string`, required): Forex pair symbol exactly as returned by finnhub_list_forex_symbols, including the exchange prefix. Example: OANDA:EUR_USD.
- `to` (`integer`, required): End of the range as a UNIX timestamp in seconds. Example: 1759276800 (2025-10-01 00:00 UTC). Intraday resolutions return at most one month per call.

Example input: `{"from":1756684800,"resolution":"1","symbol":"<symbol>","to":1759276800}`

### `finnhub_get_forex_rates`

Get Forex Rates · Read-only

Get exchange rates from one base currency to every other currency.
Returns base and quote, a map of currency code to rate (units of that currency per one unit of base). Needs a paid Finnhub plan; a free key gets an access error (HTTP 403).
Use finnhub_get_forex_rates for currency conversion. Use finnhub_get_forex_candles for one pair's price history.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `base` (`string`, optional): Base currency as an ISO code. Omit for EUR. Example: USD.
- `date` (`string`, optional): Date of the rates, YYYY-MM-DD. Omit for the latest rates. Example: 2026-09-30.

Example input: `{}`

### `finnhub_get_insider_sentiment`

Get Insider Sentiment · Read-only

Get a US company's monthly insider sentiment score.
Returns symbol and data, one entry per month with year, month, change (net shares bought or sold by insiders) and mspr (monthly share purchase ratio, from -100 most negative to 100 most positive).
Use finnhub_get_insider_sentiment for a trend of insider buying. Use finnhub_list_insider_transactions for the individual trades.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `from` (`string`, required): Start date of the month range, YYYY-MM-DD. Example: 2026-09-01.
- `symbol` (`string`, required): Ticker symbol of the company, as Finnhub lists it (US tickers are plain, e.g. AAPL; other markets use a suffix, e.g. BMW.DE). Use finnhub_search_symbols to find it. US companies only.
- `to` (`string`, required): End date of the month range, YYYY-MM-DD, inclusive. Example: 2026-09-30.

Example input: `{"from":"<from>","symbol":"<symbol>","to":"<to>"}`

### `finnhub_get_ipo_calendar`

Get IPO Calendar · Read-only

List recent and upcoming IPOs in a date range.
Returns ipoCalendar, a list of IPOs with symbol, name, date, exchange, status (expected, priced, withdrawn or filed), price or price range, numberOfShares and totalSharesValue.
Use finnhub_get_ipo_calendar to see new listings. Use finnhub_get_company_profile once a company trades.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `from` (`string`, required): Start date of the IPO date range, YYYY-MM-DD. Example: 2026-09-01.
- `to` (`string`, required): End date of the IPO date range, YYYY-MM-DD, inclusive. Example: 2026-09-30.

Example input: `{"from":"<from>","to":"<to>"}`

### `finnhub_get_market_holidays`

Get Market Holidays · Read-only

List an exchange's holidays and shortened trading days.
Returns exchange, timezone and data, a list of holidays with eventName, atDate and tradingHour (the hours traded on a partial day; empty when closed all day).
Use finnhub_get_market_holidays to plan around closures. Use finnhub_get_market_status for whether the market is open now.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `exchange` (`string`, required): Finnhub exchange code. Example: US; others include L (London), T (Tokyo), HK (Hong Kong).

Example input: `{"exchange":"<exchange>"}`

### `finnhub_get_market_status`

Get Market Status · Read-only

Check whether a stock exchange is open right now.
Returns exchange, isOpen, session (pre-market, regular, post-market, or null when closed), holiday (the holiday name if closed for one), timezone and t (current UNIX time).
Use finnhub_get_market_status for the current open or closed state. Use finnhub_get_market_holidays for upcoming closures.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `exchange` (`string`, required): Finnhub exchange code. Example: US (US exchanges); others include L (London), T (Tokyo), HK (Hong Kong), TO (Toronto).

Example input: `{"exchange":"<exchange>"}`

### `finnhub_get_peers`

Get Company Peers · Read-only

List companies that operate in the same country and sector, industry or sub-industry as a given company.
Returns a list of ticker symbols, starting with the requested company.
Use finnhub_get_peers to find comparable companies, then finnhub_get_quote or finnhub_get_basic_financials to compare them.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `symbol` (`string`, required): Ticker symbol of the company, as Finnhub lists it (US tickers are plain, e.g. AAPL; other markets use a suffix, e.g. BMW.DE). Use finnhub_search_symbols to find it.
- `grouping` (`string`, optional): How peers are grouped: sector, industry or subIndustry. Omit for subIndustry, the narrowest. Example: industry. One of: `sector`, `industry`, `subIndustry`.

Example input: `{"symbol":"<symbol>"}`

### `finnhub_get_price_target`

Get Price Target · Read-only

Get the analysts' consensus price target for a company.
Returns symbol, targetHigh, targetLow, targetMean, targetMedian, numberAnalysts and lastUpdated. Needs a paid Finnhub plan; a free key gets an access error (HTTP 403).
Use finnhub_get_price_target for where analysts expect the price to go. Use finnhub_get_recommendation_trends for buy, hold and sell counts.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `symbol` (`string`, required): Ticker symbol of the company, as Finnhub lists it (US tickers are plain, e.g. AAPL; other markets use a suffix, e.g. BMW.DE). Use finnhub_search_symbols to find it.

Example input: `{"symbol":"<symbol>"}`

### `finnhub_get_quote`

Get Quote · Read-only

Get the latest price quote for a US stock.
Returns c (current price), d (change), dp (percent change), h and l (day high and low), o (open), pc (previous close) and t (UNIX time of the quote). Covers US stocks; an unknown symbol returns zeros rather than an error.
Use finnhub_get_quote for a current price. Use finnhub_get_stock_candles for price history and finnhub_get_basic_financials for ratios and 52-week ranges.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `symbol` (`string`, required): Ticker symbol of the company, as Finnhub lists it (US tickers are plain, e.g. AAPL; other markets use a suffix, e.g. BMW.DE). Use finnhub_search_symbols to find it.

Example input: `{"symbol":"<symbol>"}`

### `finnhub_get_recommendation_trends`

Get Recommendation Trends · Read-only

Get monthly analyst recommendation counts for a company.
Returns one entry per month with period, strongBuy, buy, hold, sell and strongSell analyst counts, newest first.
Use finnhub_get_recommendation_trends for analyst sentiment. Use finnhub_get_price_target for target prices and finnhub_list_upgrades_downgrades for individual rating changes.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `symbol` (`string`, required): Ticker symbol of the company, as Finnhub lists it (US tickers are plain, e.g. AAPL; other markets use a suffix, e.g. BMW.DE). Use finnhub_search_symbols to find it.

Example input: `{"symbol":"<symbol>"}`

### `finnhub_get_stock_candles`

Get Stock Candles · Read-only

Get open, high, low, close and volume candles for a stock over a time range.
Returns parallel arrays o, h, l, c, v and t (UNIX times) plus s, which is ok or no_data. Daily and longer candles are split-adjusted; intraday candles are not, and return at most one month per call. Needs a paid Finnhub plan; a free key gets an access error (HTTP 403).
Use finnhub_get_stock_candles for price history and charts. Use finnhub_get_quote for the latest price.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `from` (`integer`, required): Start of the range as a UNIX timestamp in seconds. Example: 1756684800 (2025-09-01 00:00 UTC).
- `resolution` (`string`, required): Candle size: 1, 5, 15, 30 or 60 for minutes, D for daily, W for weekly, M for monthly. Some sizes are not available on every exchange. Example: D. One of: `1`, `5`, `15`, `30`, `60`, `D`, `W`, `M`.
- `symbol` (`string`, required): Ticker symbol of the company, as Finnhub lists it (US tickers are plain, e.g. AAPL; other markets use a suffix, e.g. BMW.DE). Use finnhub_search_symbols to find it.
- `to` (`integer`, required): End of the range as a UNIX timestamp in seconds. Example: 1759276800 (2025-10-01 00:00 UTC). Intraday resolutions return at most one month per call.

Example input: `{"from":1756684800,"resolution":"1","symbol":"<symbol>","to":1759276800}`

### `finnhub_list_company_news`

List Company News · Read-only

List news articles about one North American company published in a date range.
Returns articles with headline, summary, source, url, image, category, related tickers, id and datetime (UNIX time), newest first. The free plan covers the last year.
Use finnhub_list_company_news for news about one ticker. Use finnhub_list_market_news for general, forex, crypto or merger headlines.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `from` (`string`, required): Start date of the publication range, YYYY-MM-DD. Example: 2026-09-01.
- `symbol` (`string`, required): Ticker symbol of the company, as Finnhub lists it (US tickers are plain, e.g. AAPL; other markets use a suffix, e.g. BMW.DE). Use finnhub_search_symbols to find it. North American companies only.
- `to` (`string`, required): End date of the publication range, YYYY-MM-DD, inclusive. Example: 2026-09-30.

Example input: `{"from":"<from>","symbol":"<symbol>","to":"<to>"}`

### `finnhub_list_countries`

List Countries · Read-only

List countries with their codes, currency and risk metadata.
Returns a list of countries with country, code2, code3, codeNo, currency, currencyCode, region, subRegion, equityRiskPremium, countryRiskPremium, defaultSpread and a flag logo URL.
Use finnhub_list_countries to look up a country's codes or currency.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs: none.

Example input: `{}`

### `finnhub_list_crypto_exchanges`

List Crypto Exchanges · Read-only

List the crypto exchanges Finnhub supports.
Returns a list of exchange names such as BINANCE, COINBASE and KRAKEN.
Use finnhub_list_crypto_exchanges to get a valid exchange for finnhub_list_crypto_symbols.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs: none.

Example input: `{}`

### `finnhub_list_crypto_symbols`

List Crypto Symbols · Read-only

List the crypto trading pairs available on one exchange.
Returns a list of pairs with symbol (e.g. BINANCE:BTCUSDT, used by finnhub_get_crypto_candles), displaySymbol (e.g. BTC/USDT) and description. Large exchanges return thousands of pairs.
Use finnhub_list_crypto_symbols to find a pair's Finnhub symbol.
Get exchange names from finnhub_list_crypto_exchanges.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `exchange` (`string`, required): Crypto exchange name as returned by finnhub_list_crypto_exchanges. Example: COINBASE.

Example input: `{"exchange":"<exchange>"}`

### `finnhub_list_forex_exchanges`

List Forex Exchanges · Read-only

List the forex data sources (brokers) Finnhub supports.
Returns a list of exchange names such as oanda, fxcm and ic markets.
Use finnhub_list_forex_exchanges to get a valid exchange for finnhub_list_forex_symbols.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs: none.

Example input: `{}`

### `finnhub_list_forex_symbols`

List Forex Symbols · Read-only

List the currency pairs available from one forex exchange.
Returns a list of pairs with symbol (e.g. OANDA:EUR_USD, used by finnhub_get_forex_candles), displaySymbol (e.g. EUR/USD) and description.
Use finnhub_list_forex_symbols to find a pair's Finnhub symbol. Use finnhub_get_forex_rates for conversion rates.
Get exchange names from finnhub_list_forex_exchanges.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `exchange` (`string`, required): Forex exchange name as returned by finnhub_list_forex_exchanges. Example: oanda.

Example input: `{"exchange":"<exchange>"}`

### `finnhub_list_insider_transactions`

List Insider Transactions · Read-only

List insider share transactions from Form 3, 4 and 5 and equivalent filings (US, UK, Canada, Australia, India and major EU markets).
Returns symbol and data, up to 100 transactions with name, share (shares held after), change (positive for buys, negative for sells), transactionPrice, transactionCode, transactionDate and filingDate.
Use finnhub_list_insider_transactions for individual insider trades. Use finnhub_get_insider_sentiment for a monthly net buying score.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `from` (`string`, optional): Start date of the transaction range, YYYY-MM-DD. Example: 2026-09-01.
- `symbol` (`string`, optional): Ticker symbol of the company. Omit to get the latest transactions across all companies. Example: TSLA.
- `to` (`string`, optional): End date of the transaction range, YYYY-MM-DD. Example: 2026-09-30.

Example input: `{}`

### `finnhub_list_market_news`

List Market News · Read-only

List the latest market news headlines in one category: general, forex, crypto or merger.
Returns articles with headline, summary, source, url, image, category, related tickers, id and datetime (UNIX time), newest first.
Use finnhub_list_market_news for broad market headlines. Use finnhub_list_company_news for one company. Pass the highest id you have already seen as min_id to get only newer articles.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `category` (`string`, required): News category: general, forex, crypto or merger. Example: general. One of: `general`, `forex`, `crypto`, `merger`.
- `min_id` (`integer`, optional): Return only articles with an id greater than this value, to fetch news newer than what you already have. Omit (or 0) for the latest batch. Example: 7461234.

Example input: `{"category":"general"}`

### `finnhub_list_sec_filings`

List SEC Filings · Read-only

List SEC filings for a company, or the latest filings across all companies.
Returns up to 250 filings with accessNumber, symbol, cik, form (e.g. 10-K, 10-Q, 8-K), filedDate, acceptedDate, reportUrl and filingUrl.
Use finnhub_list_sec_filings to find filings and their links. Use finnhub_get_financials_as_reported for the financial data inside 10-K and 10-Q filings.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `access_number` (`string`, optional): Accession number of one filing to return. Example: 0000320193-24-000123.
- `cik` (`string`, optional): SEC Central Index Key of the company, used instead of symbol. Example: 320193.
- `form` (`string`, optional): Only return this form type. Example: 10-K (use NT 10-K to find late filings).
- `from` (`string`, optional): Start date of the filing range, YYYY-MM-DD. Example: 2026-09-01.
- `symbol` (`string`, optional): Ticker symbol of the company. Omit symbol, cik and access_number to list the latest filings market-wide. Example: AAPL.
- `to` (`string`, optional): End date of the filing range, YYYY-MM-DD. Example: 2026-09-30.

Example input: `{}`

### `finnhub_list_stock_symbols`

List Stock Symbols · Read-only

List every stock symbol Finnhub supports on one exchange, optionally filtered by MIC, security type or currency.
Returns a list of securities with symbol, displaySymbol, description, type, mic, figi, shareClassFIGI and currency. The unfiltered US list has tens of thousands of entries and may be too large or slow to return, so narrow it with mic, security_type or currency.
Use finnhub_list_stock_symbols to enumerate an exchange. Use finnhub_search_symbols to find one company's ticker.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `exchange` (`string`, required): Finnhub exchange code to list. Example: US (all US exchanges); others include L (London), T (Tokyo), TO (Toronto).
- `currency` (`string`, optional): Only return symbols priced in this currency, as an ISO code. Example: USD.
- `mic` (`string`, optional): Only return symbols whose primary listing is this market identifier code. Example: XNYS (NYSE) or XNAS (Nasdaq).
- `security_type` (`string`, optional): Only return this OpenFIGI security type. Example: Common Stock (others include ETP, ADR, REIT).

Example input: `{"exchange":"<exchange>"}`

### `finnhub_list_upgrades_downgrades`

List Upgrades And Downgrades · Read-only

List analyst rating changes for a company, or the latest across the market.
Returns a list of rating changes with symbol, company (the analyst firm), fromGrade, toGrade, action (up, down, main for maintain, init or reit for reiterate) and gradeTime (UNIX time). Needs a paid Finnhub plan; a free key gets an access error (HTTP 403).
Use finnhub_list_upgrades_downgrades for individual rating actions. Use finnhub_get_recommendation_trends for monthly totals.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `from` (`string`, optional): Start date of the rating change range, YYYY-MM-DD. Example: 2026-09-01.
- `symbol` (`string`, optional): Ticker symbol of the company. Omit to get the latest rating changes market-wide. Example: AAPL.
- `to` (`string`, optional): End date of the rating change range, YYYY-MM-DD. Example: 2026-09-30.

Example input: `{}`

### `finnhub_search_symbols`

Search Symbols · Read-only

Search Finnhub for securities matching a ticker, company name, ISIN or CUSIP.
Returns count and result, a list of matches with symbol, displaySymbol, description (the security name) and type (e.g. Common Stock, ETP).
Use finnhub_search_symbols to turn a company name into a ticker before calling other tools. Use finnhub_list_stock_symbols to list every symbol on one exchange.

Read only: yes. Destructive: no. Idempotent (safe to retry): yes.

Inputs:

- `q` (`string`, required): Text to search for: a ticker, company name, ISIN or CUSIP. Example: apple.
- `exchange` (`string`, optional): Limit results to one exchange, by Finnhub exchange code (e.g. US for US exchanges, L for London, T for Tokyo). Omit to search all exchanges. Example: US.

Example input: `{"q":"<q>"}`

## Related

Other Accounting & Finance connectors ([all 45](/agentkit/connectors/?category=accounting-finance)):

- [QuickBooks](/agentkit/connectors/quickbooks/): Scalekit connector, OAuth, 117 tools
- [Xero](/agentkit/connectors/xero/): Scalekit connector, OAuth, 94 tools
- [Stripe](/agentkit/connectors/stripe/): Scalekit connector, Access token, 178 tools


---

## More Scalekit documentation

| Resource | What it contains | When to use it |
|----------|-----------------|----------------|
| [/llms.txt](/llms.txt) | Structured index with routing hints per product area | Start here — find which documentation set covers your topic before loading full content |
| [/llms-full.txt](/llms-full.txt) | Complete documentation for all Scalekit products in one file | Use when you need exhaustive context across multiple products or when the topic spans several areas |
| [sitemap-0.xml](https://docs.scalekit.com/sitemap-0.xml) | Full URL list of every documentation page | Use to discover specific page URLs you can fetch for targeted, page-level answers |
