Skip to main content
Income Statements provides as-reported income statements for SEC filers. Each observation is one fiscal period for one company, carrying revenue through to net income as the company filed it, in its own reporting currency and under its own accounting standard. Rows are returned newest first.
Plan: Free and above · Credits: 1 per call · MCP tool: get_income_statements
Every row carries the filing_url and accession_number of the filing it was read from, and the data is cleaned continuously across the full history. See Data quality and sources.

What You Can Use Income Statements For

Build a revenue and margin history for a company. Compare operating leverage across a peer group, after checking that the peers report in the same currency and standard. Separate a loss caused by a disposal from a loss in the ongoing business. Feed a consistent set of periods into a model.

Income Statements Coverage

Coverage is SEC filers. Figures are read from each company’s own XBRL data as filed, so the history runs as far back as the company’s XBRL filings do. For a company that is not an SEC filer, resolve it through the company registry first to see what it is — non-US issuers are served by Taiwan Financials, Korea DART Financials and Form 20-F instead.

Key Income Statements Fields

The statement carries the reported line items from revenue down to net income, together with report_period, period, currency and accounting_standard.

Currency and Accounting Standard

Every row carries currency and accounting_standard. currency is the currency the company reported in. Values are never converted to US dollars, so a row for a European filer is in euros and adding it to a US filer’s row without conversion produces a meaningless number. accounting_standard is us_gaap or ifrs. The two standards define several line items differently, so check the field before comparing or summing across companies.

Discontinued Operations

When a filer reports discontinued operations, net_income_continuing_operations and net_income_discontinued_operations carry the two halves as reported. This matters because a bottom line can be negative purely because of a disposal while the ongoing business earned money, and only the split shows that. A null in either field means the company did not report it, not that the value was zero. These two fields exist on the income statement only.

Interest and Non-Operating Lines

interest_expense is the gross interest expense. A filer that prints only a net interest line — interest income less expense — has it in interest_income_expense_net, signed as printed, so positive is net income. nonoperating_income_expense is the filer’s own non-operating total where it tags one, on its own definition, which may exclude interest. Otherwise it is pretax income less operating income, which includes net interest.

Share Counts and Per-Share Figures Are on the Current Share Basis

Share counts and per-share figures on every row are on the company’s current share basis — restated across stock splits and stock dividends, so years compare directly. split_adjustment_factor is what the filing’s own share counts were multiplied by, and its per-share figures divided by, to get there: 1 is as filed, 10 means filed before a 10-for-1 split. share_basis_as_of is the filing date the current basis starts from. A null share_basis_as_of beside a factor of 1 means the company never split. Both null on a row with share figures means the basis was not established — 20-F rows, or a company whose filings disagree in a way no split explains — and the figures are as filed; check them before comparing years.

Income Statements Date Convention

report_period is the end of the fiscal period the figures cover, and it is what the report_period, report_period_gte, report_period_lte, report_period_gt and report_period_lt filters apply to. Rows are returned newest first. period says what kind of period a row is. annual rows cover a fiscal year, quarterly rows cover a fiscal quarter, and ttm rows cover the trailing twelve months ending at report_period. A trailing-twelve-month row is a computed rolling window, not a period the company reported as such.

Income Statements Sources

Figures are read from the company’s own XBRL exhibits in its SEC filings. They are as reported: no normalisation and no currency conversion. The one adjustment is that share counts and per-share figures are restated onto the current share basis, as described above.

Query Income Statements

Use the income statements endpoint. One of ticker or cik is required, and period is required.
string
Trading symbol. One of ticker or cik is required.
string
SEC Central Index Key. One of ticker or cik is required.
string
required
annual, quarterly or ttm.
string
Exact period end, YYYY-MM-DD. report_period_gte, report_period_lte, report_period_gt and report_period_lt bound a range.
integer
default:"4"
Number of period rows to return, newest first.
The response wrapper key is income_statements. These routes return a bare wrapper key rather than the standard envelope, page by limit only, and use the flat { error, message } error body. See also Combined Financial Statements to get all three statements in one call, Financial Metrics for computed ratios over the same periods, Segmented Financials for as-reported segment breakdowns, and SEC Filings Index for the filings these figures come from.