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]

KeyTypeDescription
datedatetime.dateFiling date
epochDateintFiling date, Unix seconds
typestrDocument type, as in 自己株券買付状況報告書
titlestrTitle of the filing
documentIdstrEDINET document ID, as in S100Z1LW
docTypeCodestrEDINET document type code, as in "220"
edgarUrlNonePresent for yfinance compatibility and always None

get_filings

Ticker.filings -> pandas.DataFrame
Ticker.get_filings(types=None, year=None, limit=100, offset=0) -> pandas.DataFrame

Every filing made for the company, newest first. The total number of filings is in .attrs["total"].

Parameters

NameTypeDefaultDescription
typeslist[str]NoneEDINET document type codes, as in ["120", "130"] for annual reports and their amendments. All types when omitted
yearintNoneFiscal year. All years when omitted
limitint100Rows to return, up to 1000
offsetint0Rows to skip

Returns — pandas.DataFrame

ColumnTypeDescription
Filing Datedatetime64Filing date
Type, TitlestrDocument type and title
Period Start, Period Enddatetime64Period covered, where the filing states one
Fiscal Year, Quarterint, strFiscal year and quarter
Is CorrectionboolWhether the filing is an amendment
Parent Document IDstrThe filing this one amends
Accounting StandardstrJapan GAAP, IFRS or US GAAP
Doc Type Code, Document IDstrEDINET codes

The document type codes used most often:

CodeFiling
120 / 130Annual securities report / its amendment
140 / 150Quarterly report / its amendment
160 / 170Semi-annual report / its amendment
180 / 190Extraordinary report / its amendment
220Share buyback report
235Internal control report
350 / 360Large 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.DataFrame

Filing dates of the annual, semi-annual and quarterly reports, newest first.

Parameters

NameTypeDefaultDescription
limitint12Rows to return
offsetint0Rows to skip

Returns — pandas.DataFrame, indexed by Filing Date.

ColumnTypeDescription
Period Start, Period Enddatetime64Period as stated in the EDINET filing list
Report Typestrannual, quarterly or semiannual
AmendedboolWhether an amendment exists
Fiscal YearintFiscal year
Document IDstrEDINET 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 Start and Period End cover 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

NameTypeDefaultDescription
startstr, datetime.dateNoneFirst date, as in "2026-06-25"
endstr, datetime.dateNoneLast date. Equal to start when omitted
sessionrequests.SessionNoneSession 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.DataFrame

Parameters

NameTypeDefaultDescription
typeslist[str]NoneEDINET document type codes
limitint100Rows to return, up to 1000
offsetint0Rows 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.DataFrame

Workforce as disclosed in the annual report, by fiscal year, newest first, with amendment filings applied.

Parameters

NameTypeDefaultDescription
by_segmentboolFalseReturn headcount by segment instead of the company totals

Returns — pandas.DataFrame

With by_segment=False:

ColumnTypeDescription
Fiscal Year, Period Endint, datetime64Fiscal year and period end
Consolidated Employees, Consolidated Temporary WorkersfloatGroup headcount
Employees, Temporary WorkersfloatHeadcount of the filing company
Average Age Years, Average Age MonthsfloatAverage age
Average Length Of Service Years, Average Length Of Service MonthsfloatAverage length of service
Average Annual SalaryfloatAverage annual pay, in yen
Document IDstrEDINET 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.DataFrame

Dividend 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

ColumnTypeDescription
Resolution Datedatetime64Date of the resolution
ResolutionstrBody that resolved it, as worded in the filing
Dividend Per SharefloatDividend per share, in yen
Total AmountfloatTotal dividend, in yen
Record Datedatetime64Record date, where stated
Fiscal YearintFiscal year
Document IDstrEDINET 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 | dict

Greenhouse gas emissions in tCO2e, from the sustainability disclosure in the annual report. Tagged in XBRL from the fiscal 2024 annual reports onwards.

Parameters

NameTypeDefaultDescription
as_dictboolFalseReturn 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.