Financials
GET /v1/companies/{id}/financialsStandard fields, the same for every company, read from the lines a company printed on its financial statements. Newest period first. Each fact names the filing and the XBRL tag it came from.
curl -H "X-API-Key: $BELFORT_API_KEY" \ "https://belfort-data-api.vercel.app/v1/companies/AAPL/financials?field=total_assets&period=annual"Parameters
Section titled “Parameters”| Parameter | Values | Default |
|---|---|---|
field |
One served field name from the list above. | Every served field |
period |
annual or quarterly. See below. |
Both |
limit |
1–100 facts per page. | 40 |
cursor |
The previous page’s meta.next_cursor. |
period=annual keeps full-year flows (quarters 4) and balances (quarters 0) dated on a fiscal year end, meaning the company has a full-year figure ending that day. period=quarterly keeps single quarters (quarters 1) and every balance.
One fact
Section titled “One fact”| Field | Meaning |
|---|---|
cik |
The company. |
period_end |
The last day of the period. |
quarters |
The period’s length in whole quarters. 0 is a balance at a point in time. |
field |
The normalized field name. |
value |
The figure. |
unit |
Its unit, such as USD, or null. |
derived |
true when the figure is computed from other printed lines rather than read from one. |
source_accession |
The filing it came from. |
tag |
The XBRL tag of the printed line. A derived figure has no single tag. |
Strict fields and bank revenue
Section titled “Strict fields and bank revenue”Five fields are strict: gross_profit, accounts_payable, pretax_income, sga and intangibles. Each one is served only when the filing prints the matching line. We don’t compute gross profit as revenue minus cost, and we don’t accept a broader or narrower line in place of the one named. When the line isn’t printed, the value is null.
Banks serve revenue only from a printed total-revenue line, such as “Total revenue”. We never add net interest income and noninterest income to make one. 151 banks keep revenue and 462 have none. Non-bank revenue is unchanged.
Every accepted field name
Section titled “Every accepted field name”Income statement: revenue, cost_of_revenue, gross_profit, operating_income, net_income, net_income_attributable, basic_eps, diluted_eps, weighted_diluted_shares, sga, research_development, interest_expense, income_tax, pretax_income.
Balance sheet: cash_and_equivalents, total_assets, total_liabilities, total_equity, equity_attributable, current_assets, current_liabilities, receivables, inventory, ppe_net, goodwill, intangibles, long_term_debt, short_term_debt, accounts_payable, retained_earnings.
Cash flow: operating_cash_flow, investing_cash_flow, financing_cash_flow, capital_expenditure, depreciation_amortization, dividends_paid, share_repurchases, stock_compensation.
These are every name the route accepts. The 25 fields listed at the top are served. The rest are held back because they are not yet measured well enough; asking for one returns HTTP 400.
Financials or metrics?
Section titled “Financials or metrics?”Both have revenue, net_income, diluted_eps, operating_cash_flow and cash_and_equivalents, and the two can differ. Metrics reads every figure a company filed in its Company Facts and picks one per period by documented rules. Financials reads the lines printed on the statements, from the SEC’s quarterly data sets, so it can be a quarter behind. Use one source per analysis.