Filings and disclosures
Filings themselves, and the parts of the annual report that are neither financial statements nor officer information.
Filings
sec_filings
Ticker.sec_filings -> list[dict]
Ticker.get_sec_filings() -> list[dict]The 100 most recent filings, newest first, under yfinance’s key names. Use get_filings for
filtering and paging.
Returns — list[dict]
| Key | Type | Description |
|---|---|---|
date | datetime.date | Filing date |
epochDate | int | Filing date, Unix seconds |
type | str | Document type, as in 自己株券買付状況報告書 |
title | str | Title of the filing |
documentId | str | EDINET document ID, as in S100Z1LW |
docTypeCode | str | EDINET document type code, as in "220" |
edgarUrl | None | Present for yfinance compatibility and always None |
get_filings
Ticker.filings -> pandas.DataFrame
Ticker.get_filings(types=None, year=None, limit=100, offset=0) -> pandas.DataFrameEvery filing made for the company, newest first. The total number of filings is in
.attrs["total"].
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
types | list[str] | None | EDINET document type codes, as in ["120", "130"] for annual reports and their amendments. All types when omitted |
year | int | None | Fiscal year. All years when omitted |
limit | int | 100 | Rows to return, up to 1000 |
offset | int | 0 | Rows to skip |
Returns — pandas.DataFrame
| Column | Type | Description |
|---|---|---|
Filing Date | datetime64 | Filing date |
Type, Title | str | Document type and title |
Period Start, Period End | datetime64 | Period covered, where the filing states one |
Fiscal Year, Quarter | int, str | Fiscal year and quarter |
Is Correction | bool | Whether the filing is an amendment |
Parent Document ID | str | The filing this one amends |
Accounting Standard | str | Japan GAAP, IFRS or US GAAP |
Doc Type Code, Document ID | str | EDINET codes |
The document type codes used most often:
| Code | Filing |
|---|---|
120 / 130 | Annual securities report / its amendment |
140 / 150 | Quarterly report / its amendment |
160 / 170 | Semi-annual report / its amendment |
180 / 190 | Extraordinary report / its amendment |
220 | Share buyback report |
235 | Internal control report |
350 / 360 | Large shareholding report and change report / its amendment |
get_report_filing_dates
Ticker.report_filing_dates -> pandas.DataFrame
Ticker.get_report_filing_dates(limit=12, offset=0) -> pandas.DataFrameFiling dates of the annual, semi-annual and quarterly reports, newest first.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
limit | int | 12 | Rows to return |
offset | int | 0 | Rows to skip |
Returns — pandas.DataFrame, indexed by Filing Date.
| Column | Type | Description |
|---|---|---|
Period Start, Period End | datetime64 | Period as stated in the EDINET filing list |
Report Type | str | annual, quarterly or semiannual |
Amended | bool | Whether an amendment exists |
Fiscal Year | int | Fiscal year |
Document ID | str | EDINET document ID |
This is not the equivalent of yfinance’s
earnings_dates. EDINET reports are filed two to three months after results are announced.In a semi-annual report,
Period StartandPeriod Endcover the whole fiscal year, matching the title of the filing, not the half year. In a quarterly report they cover the quarter.
FilingCalendar
jfinance.FilingCalendar(start=None, end=None, session=None)Filings across all companies for a date or a range of dates.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
start | str, datetime.date | None | First date, as in "2026-06-25" |
end | str, datetime.date | None | Last date. Equal to start when omitted |
session | requests.Session | None | Session to reuse |
jf.FilingCalendar("2026-06-25").get_filings(types=["120"])FilingCalendar.get_filings
FilingCalendar.filings -> pandas.DataFrame
FilingCalendar.get_filings(types=None, limit=100, offset=0) -> pandas.DataFrameParameters
| Name | Type | Default | Description |
|---|---|---|---|
types | list[str] | None | EDINET document type codes |
limit | int | 100 | Rows to return, up to 1000 |
offset | int | 0 | Rows to skip |
The total number of filings is in .attrs["total"].
From the annual report
get_employees
Ticker.employees -> pandas.DataFrame
Ticker.get_employees(by_segment=False) -> pandas.DataFrameWorkforce as disclosed in the annual report, by fiscal year, newest first, with amendment filings applied.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
by_segment | bool | False | Return headcount by segment instead of the company totals |
Returns — pandas.DataFrame
With by_segment=False:
| Column | Type | Description |
|---|---|---|
Fiscal Year, Period End | int, datetime64 | Fiscal year and period end |
Consolidated Employees, Consolidated Temporary Workers | float | Group headcount |
Employees, Temporary Workers | float | Headcount of the filing company |
Average Age Years, Average Age Months | float | Average age |
Average Length Of Service Years, Average Length Of Service Months | float | Average length of service |
Average Annual Salary | float | Average annual pay, in yen |
Document ID | str | EDINET document ID |
With by_segment=True: Fiscal Year, Segment, Label, Consolidated, Employees,
Temporary Workers.
get_dividend_resolutions
Ticker.dividend_resolutions -> pandas.DataFrame
Ticker.get_dividend_resolutions() -> pandas.DataFrameDividend resolutions recorded in the annual report, newest first. Ordinary shares only. The data is tagged in XBRL from around fiscal 2019 onwards.
Returns — pandas.DataFrame
| Column | Type | Description |
|---|---|---|
Resolution Date | datetime64 | Date of the resolution |
Resolution | str | Body that resolved it, as worded in the filing |
Dividend Per Share | float | Dividend per share, in yen |
Total Amount | float | Total dividend, in yen |
Record Date | datetime64 | Record date, where stated |
Fiscal Year | int | Fiscal year |
Document ID | str | EDINET document ID |
This is a record of company resolutions, not a price series. It is not the equivalent of yfinance’s
dividends, which is indexed by ex-dividend date.
get_emissions
Ticker.emissions -> pandas.DataFrame
Ticker.get_emissions(as_dict=False) -> pandas.DataFrame | dictGreenhouse gas emissions in tCO2e, from the sustainability disclosure in the annual report. Tagged in XBRL from the fiscal 2024 annual reports onwards.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
as_dict | bool | False | Return a dict instead of a DataFrame |
Returns — pandas.DataFrame, rows Scope1, Scope2, Scope1And2, Scope3 and
Scope1And2And3, columns period end dates, newest first. Where a period has several filings,
the most recent is used. Consolidated figures are preferred, falling back to figures whose
scope is not stated; which was used is in .attrs["basis"].
These are disclosed figures, not the equivalent of yfinance’s
sustainability, which returns third-party ESG scores.