Installation

pip install jfinance

Python 3.9 or later is required. pandas, numpy, requests and pytz are installed as dependencies. Where curl_cffi is available, it is used instead.

No registration and no API key are required.

First steps

import jfinance as jf

t = jf.Ticker("7203.T")           # Toyota Motor

t.info                            # company profile (dict)
t.financials                      # income statement, annual (DataFrame)
t.balance_sheet                   # balance sheet
t.cashflow                        # cash flow statement
t.quarterly_financials            # quarterly (up to fiscal 2023)
t.major_holders                   # ownership breakdown
t.sec_filings                     # filings

Return types are the same as in yfinance (DataFrame, dict, list).

Language

Company names and industries are returned in English by default. For Japanese:

import jfinance as jf
jf.config.locale.lang = "ja-JP"

jf.Ticker("7203.T").info["shortName"]    # 'トヨタ自動車株式会社'

Values with no English source — business descriptions, names of officers and shareholders, document titles, market segments — are returned in Japanese under either setting. No machine translation is applied.

Companies that have not registered an English name (about 23% of listed companies) are returned with their Japanese name even in English mode.

Multiple tickers

ts = jf.Tickers("7203.T 6758.T 9984.T")
ts.tickers["7203.T"].financials

Next