Introduction
The BearBull Obsidian plugin embeds interactive financial data directly in your notes. Write a short code block and the plugin renders a chart inline — stock price charts, income statements, balance sheets, cashflow statements, revenue breakdowns, and more. All data stays up to date without leaving Obsidian.
Installation
Option 1 — Community Plugins:
- Open Obsidian Settings and go to Community Plugins.
- Click Browse and search for BearBull.
- Click Install, then Enable.
Option 2 — Manual Install from GitHub:
- Download the latest release from github.com/bearbull-io/bearbull-finance.
- Extract the files into your vault's
.obsidian/plugins/bearbull-finance/folder. - Restart Obsidian and enable the plugin in Settings > Community Plugins.
Setup
After enabling the plugin, open its settings panel (Settings > BearBull). The following options are available:
| Setting | Default | Description |
|---|---|---|
| API Key | — | Required. Get yours at bearbull.io |
| Theme | auto | dark, light, reading, or auto (matches your Obsidian theme) |
| Default Period | A | A (Annual) or Q (Quarterly) |
| Show Time Frame Bar | true | Show or hide the annual/quarterly selector on embeds |
| Default Currency | — | Currency code for conversion (e.g. EUR). Leave blank for no conversion |
| Date Format | mm/dd/yyyy | Also: dd.mm.yyyy, dd/mm/yyyy, yyyy-mm-dd |
| Default From | today()-10Y | Start date expression |
| Default To | today() | End date expression |
| Height | 400 | Embed height in pixels |
| Thousand Separator | ' | Thousands grouping character |
Every setting acts as a default and can be overridden per embed.
Embeds Reference
Create a fenced code block with the language tag bb. Inside, use type: to specify the embed and ticker: for the stock symbol. All other fields are optional and fall back to your plugin settings.
Stock Price Charts
Simple Chart
An interactive line chart showing historical stock prices. Supports multiple tickers for comparison.
1```bb
2type: CHART
3ticker: AAPL
4from: today()-1Y
5```Advanced Chart with Indicators
A candlestick chart with optional technical overlays. Only one ticker is allowed — indicators do not support multi-ticker mode.
Use the indicators option with a comma-separated list of overlays:
| Indicator | Description |
|---|---|
SMA | Simple Moving Average |
EPS | Earnings Per Share (quarterly) |
REVENUE | Revenue (quarterly) |
EARNINGS_SURPRISE | Actual vs estimated earnings |
INSIDER | Insider trading activity |
SENATE | Senate trading activity |
For INSIDER and SENATE, you can optionally filter by name using the insider or senate option.
1```bb
2type: CHART_COMPLEX
3ticker: AAPL
4from: today()-1Y
5indicators: SMA, EPS, REVENUE
6```With insider name filter:
1```bb
2type: CHART_COMPLEX
3ticker: AAPL
4indicators: INSIDER
5insider: Tim Cook
6```Company
Profile
Displays key company information such as sector, industry, market cap, CEO, and more.
1```bb
2type: PROFILE
3ticker: AAPL
4```Financial Statements
Income Statement
Revenue, expenses, and profitability over time. Use tags to select specific metrics.
1```bb
2type: INCOME_STATEMENT
3ticker: AAPL
4period: Q
5tags: revenue, grossProfit, netIncome
6```Balance Sheet
Assets, liabilities, and shareholders' equity.
1```bb
2type: BALANCE_SHEET
3ticker: AAPL
4```Cashflow Statement
Operating, investing, and financing cash flows.
1```bb
2type: CASHFLOW_STATEMENT
3ticker: AAPL
4period: Q
5```Revenue Breakdown
By Product
Revenue split by product segment.
1```bb
2type: REVENUE_BREAKDOWN
3subtype: PRODUCT
4ticker: AAPL
5```By Geography
Revenue split by geographic region.
1```bb
2type: REVENUE_BREAKDOWN
3subtype: GEOGRAPHY
4ticker: AAPL
5```Valuation & Metrics
Earnings Per Share (EPS)
Earnings per share over time with annual or quarterly granularity.
1```bb
2type: EPS
3ticker: AAPL
4period: Q
5```Valuation Ratios
Price-to-earnings, price-to-sales, and other key valuation multiples.
1```bb
2type: VALUATION_RATIOS
3ticker: AAPL
4```Market Cap
Market capitalization and enterprise value over time.
1```bb
2type: MARKET_CAP
3ticker: AAPL
4```ESG Score
Environmental, Social, and Governance ratings.
1```bb
2type: ESG_SCORE
3ticker: AAPL
4```Events
Dividends
Historical dividend payments.
1```bb
2type: DIVIDENDS
3ticker: AAPL
4```Earnings Surprise
Actual vs estimated earnings per quarter.
1```bb
2type: EARNINGS_SURPRISE
3ticker: AAPL
4```Financial Estimates
Analyst revenue and earnings estimates vs actuals.
1```bb
2type: FINANCIAL_ESTIMATES
3ticker: AAPL
4```Other
Full-Time Employees
Historical headcount over time.
1```bb
2type: FULLTIME_EMPLOYEES
3ticker: AAPL
4```Institutional Ownership
Top institutional holders, their positions, and portfolio weight.
1```bb
2type: INSTITUTIONAL_OWNERSHIP
3ticker: AAPL
4```Constituents
Index constituents for major indexes.
1```bb
2type: CONSTITUENTS
3tickers: SP500
4```Tables
Table embeds render the raw financial data in a sortable table format.
Income Statement Table
1```bb
2type: INCOME_STATEMENT_TABLE
3ticker: AAPL
4```Balance Sheet Table
1```bb
2type: BALANCE_SHEET_TABLE
3ticker: AAPL
4```Cashflow Statement Table
1```bb
2type: CASHFLOW_STATEMENT_TABLE
3ticker: AAPL
4```Revenue Breakdown Table
1```bb
2type: REVENUE_BREAKDOWN_TABLE
3subtype: PRODUCT
4ticker: AAPL
5```Embed Options Reference
Every embed accepts the following options. Only specify options that differ from your plugin defaults.
| Option | Values | Default | Description |
|---|---|---|---|
type | See embed types above | — | Required. The embed type |
ticker / tickers | Comma or pipe separated | — | Required. Stock symbol(s) |
subtype | PRODUCT, GEOGRAPHY | — | For revenue breakdown embeds only |
period | A, Q | A | Annual or Quarterly |
from | Date or expression | today()-10Y | Start date |
to | Date or expression | today() | End date |
theme | auto, dark, light, reading | auto | Color theme |
currency | ISO code (e.g. EUR, CHF) | — | Convert values to this currency |
height | Number | 400 | Chart height in pixels |
timeframebar | true, false | true | Show period selector |
dateformat | mm/dd/yyyy, dd.mm.yyyy, dd/mm/yyyy, yyyy-mm-dd | mm/dd/yyyy | Date display format |
thousandseparator | ', ,, . | ' | Thousands grouping character |
tags | Comma-separated metric keys | — | Pre-select specific data series |
indicators | Comma-separated | — | CHART_COMPLEX only: SMA, EPS, REVENUE, EARNINGS_SURPRISE, INSIDER, SENATE |
insider | Name string | — | Filter insider trading by name (requires INSIDER indicator) |
senate | Name string | — | Filter senate trading by name (requires SENATE indicator) |
Date expressions: Use today() for the current date, or subtract time with today()-5Y, today()-6M, today()-30D.
Type Aliases
You can use short aliases instead of the full type name:
| Alias | Full Type |
|---|---|
SC | CHART |
CC | CHART_COMPLEX |
PRF | PROFILE |
IS | INCOME_STATEMENT |
BS | BALANCE_SHEET |
CS / CF | CASHFLOW_STATEMENT |
RB | REVENUE_BREAKDOWN |
CON | CONSTITUENTS |
FTE | FULLTIME_EMPLOYEES |
IH / INST | INSTITUTIONAL_OWNERSHIP |
EPS | EPS |
VR / RATIO | VALUATION_RATIOS |
DIV | DIVIDENDS |
ES / ESURP | EARNINGS_SURPRISE |
AE | FINANCIAL_ESTIMATES |
MC / MCAP | MARKET_CAP |
ESG | ESG_SCORE |
IST | INCOME_STATEMENT_TABLE |
BST | BALANCE_SHEET_TABLE |
CST / CFT | CASHFLOW_STATEMENT_TABLE |
RBT / REVT | REVENUE_BREAKDOWN_TABLE |
Ticker Limits
Your subscription plan determines how many tickers you can use per embed:
Price charts (CHART):
| Plan | Max Tickers |
|---|---|
| Starter | 2 |
| Pro | 3 |
| Advanced | 5 |
All other embeds (financial statements, dividends, ratios, etc.):
| Plan | Max Tickers |
|---|---|
| Starter | 1 |
| Pro | 2 |
| Advanced | 3 |
If you provide more tickers than your plan allows, the embed will show data for the first N tickers and display an upgrade notice.
Examples
Live rendered previews of each embed type:
Simple Chart
1```bb
2type: CHART
3ticker: AAPL, MSFT, NVDA1```bb
2type: CHART
3ticker: AAPL, MSFT, NVDAAdvanced Chart with Indicators
1```bb
2type: CHART_COMPLEX
3ticker: AAPL
4indicators: SENATE
5senate: SHELDON WHITEHOUSE
6from: today()-10Y
7to: today()
8```Profile
1```bb
2type: PROFILE
3ticker: AAPL, MSFT
4```Income Statement
1```bb
2type: INCOME_STATEMENT
3timeframebar: false
4ticker: AAPL
5theme: light
6currency: EUR
7```Balance Sheet
1```bb
2type: BALANCE_SHEET
3ticker: AAPL
4period: ZOOMA
5theme: reading
6from: 2015-01-01
7to: 2025-12-31
8currency: CHF
9```Cashflow Statement
1```bb
2type: CASHFLOW_STATEMENT
3ticker: AAPL
4```Revenue Breakdown
1```bb
2type: REVENUE_BREAKDOWN
3subtype: PRODUCT
4ticker: AAPL
5```EPS
1```bb
2type: EPS
3ticker: AAPL
4```Valuation Ratios
1```bb
2type: VALUATION_RATIOS
3ticker: AAPL
4```Market Cap
1```bb
2type: MARKET_CAP
3ticker: AAPL
4```ESG Score
1```bb
2type: ESG_SCORE
3ticker: AAPL
4```Dividends
1```bb
2type: DIVIDENDS
3ticker: AAPL
4```Earnings Surprise
1```bb
2type: EARNINGS_SURPRISE
3ticker: AAPL
4```Financial Estimates
1```bb
2type: FINANCIAL_ESTIMATES
3ticker: AAPL
4```Full-Time Employees
1```bb
2type: FULLTIME_EMPLOYEES
3ticker: AAPL
4```Institutional Ownership
1```bb
2type: INSTITUTIONAL_OWNERSHIP
3ticker: AAPL
4```Constituents
1```bb
2type: CONSTITUENTS
3tickers: SP500
4```Income Statement Table
1```bb
2type: INCOME_STATEMENT_TABLE
3ticker: AAPL
4```Balance Sheet Table
1```bb
2type: BALANCE_SHEET_TABLE
3ticker: AAPL
4```Cashflow Statement Table
1```bb
2type: CASHFLOW_STATEMENT_TABLE
3ticker: AAPL
4currency: EUR
5from: today()-5Y
6to: today()
7timeframebar: false
8```Revenue Breakdown Table
1```bb
2type: REVENUE_BREAKDOWN_TABLE
3subtype: PRODUCT
4ticker: AAPL
5```Embed Compatibility Matrix
Which options each embed type supports at a glance. ✓ = supported, — = ignored.
Ticker limits depend on your plan — see Ticker Limits above.
| Alias | Full Type | Tickers | period | from | to | theme | currency | timeframebar | dateformat | thousandseparator | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Charts | |||||||||||
SC | CHART | 2 / 3 / 5 | — | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | Multi-ticker comparison |
CC | CHART_COMPLEX | 1 | — | ✓ | ✓ | ✓ | — | — | ✓ | ✓ | indicators, insider, senate |
| Company | |||||||||||
PRF | PROFILE | 1 / 2 / 3 | — | — | — | ✓ | — | — | ✓ | ✓ | |
| Financial Statements | |||||||||||
IS | INCOME_STATEMENT | 1 / 2 / 3 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | tags |
BS | BALANCE_SHEET | 1 / 2 / 3 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | — |
CS / CF | CASHFLOW_STATEMENT | 1 / 2 / 3 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | — |
RB | REVENUE_BREAKDOWN | 1 / 2 / 3 | ✓ | ✓ | ✓ | ✓ | ✓ | — | ✓ | ✓ | — |
| Valuation & Metrics | |||||||||||
EPS | EPS | 1 / 2 / 3 | ✓ | ✓ | ✓ | ✓ | — | ✓ | ✓ | ✓ | — |
VR / RATIO | VALUATION_RATIOS | 1 / 2 / 3 | ✓ | ✓ | ✓ | ✓ | — | ✓ | ✓ | ✓ | — |
MC / MCAP | MARKET_CAP | 1 / 2 / 3 | ✓ | ✓ | ✓ | ✓ | — | ✓ | ✓ | ✓ | |
ESG | ESG_SCORE | 1 / 2 / 3 | ✓ | ✓ | ✓ | ✓ | — | ✓ | ✓ | ✓ | |
| Events | |||||||||||
DIV | DIVIDENDS | 1 / 2 / 3 | ✓ | ✓ | ✓ | ✓ | — | ✓ | ✓ | ✓ | |
ES / ESURP | EARNINGS_SURPRISE | 1 / 2 / 3 | ✓ | ✓ | ✓ | ✓ | — | ✓ | ✓ | ✓ | |
AE | FINANCIAL_ESTIMATES | 1 / 2 / 3 | ✓ | ✓ | ✓ | ✓ | — | ✓ | ✓ | ✓ | |
| Other | |||||||||||
FTE | FULLTIME_EMPLOYEES | 1 / 2 / 3 | ✓ | ✓ | ✓ | ✓ | — | ✓ | ✓ | ✓ | |
IH / INST | INSTITUTIONAL_OWNERSHIP | 1 / 2 / 3 | — | — | — | ✓ | ✓ | — | ✓ | ✓ | |
CON | CONSTITUENTS | 1 | — | — | — | ✓ | — | — | — | ✓ | Uses index name (e.g. SP500) |
| Tables | |||||||||||
IST | INCOME_STATEMENT_TABLE | 1 / 2 / 3 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
BST | BALANCE_SHEET_TABLE | 1 / 2 / 3 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
CST / CFT | CASHFLOW_STATEMENT_TABLE | 1 / 2 / 3 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
RBT / REVT | REVENUE_BREAKDOWN_TABLE | 1 / 2 / 3 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | subtype |