drillr.ai
API keys →

Financials

Income statement

GET/api/v2/income-statements
Coverage
US / CN / JP, the last 3 years
Billing
20 cr / thousand calls

Returns a company's income statement: revenue, costs, profit at each level, earnings per share and more, one row per reporting period. 29 line-item columns in total, plus the 14 meta-data fields shared by the three statements, all listed under Response fields. ebitda is a derived column (not an as-reported line). Quarterly amounts may be calculated from cumulative disclosures; earnings per share and weighted average shares cannot be obtained by directly subtracting cumulative figures.

The example shows the complete key set; a line item that is missing or cannot be calculated reliably appears as null in the actual response.

Query parameters

ParameterTypeRequiredDescription
tickerstringrequiredUp to 10 tickers, comma-separated.
periodstringenumoptionalFY (full fiscal year, excluding TTM), Q1, Q2, Q3, Q4 (the four quarters of the company’s fiscal year); multiple values allowed, comma-separated. Only periods with data are returned; no matching data returns an empty array. Default: FY.
limitintoptionalNumber of periods per ticker, counting back from the most recent period; maximum 40. Default: 4.

Response fields

FieldTypeDescription
tickerstringCanonical ticker (US has no suffix, e.g. AAPL; CN is 600519.SH; JP is 7203.T)
marketstringenumMarket code: US / CN / JP
fiscal_yearintFiscal year
periodstringenumFY / Q1 / Q2 / Q3 / Q4
period_startdatePeriod start date; null for /balance-sheets
report_perioddatePeriod end date
currencystringReporting currency
accounting_standardstringenumUS-GAAP / IFRS / CN-GAAP / JP-GAAP
accession_numberstringNative document number from the official source: US is the SEC accession (e.g. 0000320193-25-000123), JP the EDINET docID, CN the cninfo announcement id
form_typestringType of the source filing, in the market's native encoding (US: SEC form names such as 10-K / 10-Q; JP: EDINET numeric codes; CN: annual_report and the like)
filing_urlstringDeep link to the official filing; opens the source document directly
filing_datedateFiling date: the date the document became public on the official channel
derived_fieldsstring[]Names of fields calculated from other periods or line items, or normalized for sign; [] when none
derivationobjectCalculation trees keyed by the names in derived_fields; {} when none. Each step includes operation, metric, value, currency, period_start, report_period, and available_at; calculated nodes list recursive inputs in operation order, while reported leaves include the four official provenance fields; cross-report calculations also include basis (the basis report’s four official provenance fields and available_at)
revenuenumberOperating revenue / Revenue / Net sales
cost_of_revenuenumberCost of revenue
gross_profitnumberGross profit
research_and_development_expensenumberResearch and development expense
selling_and_marketing_expensenumberSelling expense
general_and_administrative_expensenumberGeneral and administrative expense
selling_general_and_administrative_expensenumberTotal selling, general and administrative expenses (US filers commonly disclose only the combined total)
taxes_and_surchargesnumberTaxes and surcharges (CN only)
operating_expensesnumberTotal operating expenses
operating_incomenumberOperating profit / Operating income
interest_incomenumberInterest income
interest_expensenumberInterest expense
other_non_operating_incomenumberOther non-operating income and expenses, net
ordinary_incomenumberOrdinary income (JP-GAAP only)
extraordinary_gainsnumberExtraordinary gains (JP-GAAP only)
extraordinary_lossesnumberExtraordinary losses (JP-GAAP only)
pretax_incomenumberPretax income
income_tax_expensenumberIncome tax expense
net_incomenumberNet income (including noncontrolling interests)
net_income_attributable_to_parentnumberNet income attributable to owners of the parent; not substituted with common-shareholder or continuing-operations income. Null when a required component from the same report and reporting interval is missing.
net_income_attributable_to_noncontrolling_interestsnumberNet income attributable to noncontrolling interests
depreciation_and_amortizationnumberDepreciation and amortization (as disclosed on the income statement or in the notes)
share_based_compensationnumberShare-based compensation expense
eps_basicnumberBasic earnings per share
eps_dilutednumberDiluted earnings per share
dividend_per_sharenumberDividend per share (declared)
weighted_average_shares_basicnumberWeighted average shares (basic)
weighted_average_shares_dilutednumberWeighted average shares (diluted)
ebitdanumberDerived (not an as-reported line) = operating_income + depreciation_and_amortization

No key yet? Create one under API Keys — it is shown once, so store it where your shell can read it. Connecting an agent over MCP instead? That signs in through the browser and needs no key at all.

Authentication, conventions, rate limits and error shapes are the same for every endpoint — they live on REST API.