jfinance
jfinance is a Python library for retrieving corporate disclosure data filed with EDINET free of charge: financial statements, officers and their compensation, major shareholders, large shareholding reports and investment trusts. It covers annual, semi-annual and quarterly securities reports and large shareholding reports from fiscal 2016 onwards. The API is yfinance-compatible.
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.)
Company names and industries are returned in English by default. Setting
jf.config.locale.lang = "ja-JP" returns them in Japanese. Values with no English source
(business descriptions, names of officers and shareholders) are returned in Japanese under
either setting.
Documentation
Where the data comes from
Data is retrieved from a server operated by the author (https://query1.jfnc.org).
No registration or API key is required, and there is no SLA. A per-IP rate limit applies.
Amendments to filings past their EDINET public inspection period cannot be retrieved and
may therefore not be reflected. Older fiscal years are more likely to retain pre-amendment
values. The same notice is available as jf.NOTICE_CORRECTIONS and in the X-JF-Notice
header of every HTTP response.
Examples
import jfinance as jf
t = jf.Ticker("7203.T") # Toyota. "E02144" (EDINET code) and "JP3633400001" (ISIN) also work
t.info # name, industry, employees, business description, officers and their pay
t.financials # income statement (annual). balance_sheet, cashflow, quarterly_* likewise
t.major_holders # shareholder breakdown (from the annual report)
t.sec_filings # filings on EDINET
jf.Ticker("8035.T").institutional_holders # institutions (special reports under the 5% rule)
# jfinance only
t.major_shareholders # top 10 shareholders from the annual report
t.large_holders # holders in large shareholding reports
t.large_holder_transactions # their trades (large_holder_activity is a 6-month summary)
t.officer_compensation # individual officer pay (100M yen and above), all years, amendments applied
t.emissions # greenhouse gas emissions (tCO2e, as disclosed in annual reports)
t.report_filing_dates # filing dates of annual, semi-annual and quarterly reports
t.get_jp_financials() # ordinary income, book value per share, employees, bank/insurer line items
t.get_statements() # every line of the financial statements, in the order and hierarchy as filed
t.segments, t.employees # segment information, workforce (average age, tenure, pay)
t.get_officers(year=2020) # officers for any year. t.officer_remuneration, t.audit_fees
t.dividend_resolutions # dividend resolutions (date, per share, total)
t.get_filings(types=["120"]) # all filings (filtering and paging)
jf.set_financials_basis(consolidation="standalone", version="as_filed") # standalone / as-filed statements
jf.JpSector("automobiles-transportation-equipment").top_companies # TSE industry classification
jf.edinet_screen(jf.EdinetQuery("gt", ["roe", 0.2]), sortField="revenue") # screener over EDINET fields
jf.FilingCalendar("2026-06-25").get_filings(types=["120"]) # filings on a given day
f = jf.Ticker("1306.T") # ETF. "G02925" (EDINET fund code) also works
f.get_fund_financials() # net assets, principal, trust fees, distributions — 25 items per period
Licensing and attribution
The source code and the data are licensed differently.
| License | |
|---|---|
| Source code | Apache License 2.0 (LICENSE, NOTICE) |
| Data returned by the API | Governed by EDINET's terms (below). jfinance does not license it to you |
Software included
- yfinance — Copyright 2017-2019 Ran Aroussi, Apache License 2.0.
Part of
src/jfinance/is copied from yfinance 1.5.2. The copying procedure and every change made are recorded intools/vendor_yfinance.py.
Data attribution (the same notice is required when you redistribute or republish it)
出典:EDINET閲覧(提出)サイト(https://disclosure2.edinet-fsa.go.jp/)、
PDL1.0(https://www.digital.go.jp/resources/open_data/public_data_license_v1.0)
EDINET閲覧(提出)サイト(https://disclosure2.edinet-fsa.go.jp/)をもとに jfinance 作成
EDINET content is used under the Public Data License 1.0. jfinance selects values, applies amendment filings and reshapes the data into yfinance's format, which constitutes editing and processing under those terms. It must not be published or used as the government's unprocessed information.
EDINET Taxonomy
Element labels, statement names and segment names are quoted from the EDINET Taxonomy. PDL1.0 does not apply to the EDINET Taxonomy; the EDINET Taxonomy Legal Statement applies instead.
EDINETタクソノミ © Copyright 2014 Financial Services Agency, The Japanese Government
jfinance does not alter, modify or translate these labels, as that requires prior consent
from the Financial Services Agency. The full text of that Statement is included as
licenses/EDINET_Taxonomy_Legal_Statement.txt.
Copyright in some of the content of the EDINET Taxonomy belongs to XBRL International, Inc.
(XII), and the Statement requires use in accordance with XII's Intellectual Property Policy.
Release files for jfinance 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| jfinance-0.3.1.tar.gz | 92.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jfinance-0.3.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 175.6 kB
Release files / jfinance-0.3.1.tar.gz
| Download URL | jfinance-0.3.1.tar.gz |
|---|---|
| Size | 92.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
151dc2eef7c5da9ca0c4bd516a76225eedcaca456d3f85a4db134c2c15b0e143
|
|
BLAKE2b-256 checksum How to use checksums |
7599ba872787a984d9d556a58c493a52fde0eebcabe45ea3d6ee191d2e99be2f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency logRelease files / jfinance-0.3.1-py3-none-any.whl
| Download URL | jfinance-0.3.1-py3-none-any.whl |
|---|---|
| Size | 83.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3d9e6b6b7fb377c7705f93a1fe8f733ee540f3fe4e61ebb2b9358006309331ab
|
|
BLAKE2b-256 checksum How to use checksums |
53aa1e3773d783820a0963dfc05043b5a415ac3e4cf90babb0781f8abb8ecced
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.
Transparency log