> ## Documentation Index
> Fetch the complete documentation index at: https://docs.financialdatasets.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# All Financial Statements

> Get all financial statements (income, balance sheet, cash flow) for any US stock in a single API call.

### Overview

This endpoint aggregates all financial statements for a ticker into a single API call.

So, instead of calling 3 endpoints to get income statements, balance sheets, and cash flow statements, you can call this endpoint once and get all financial statements in one go.

The endpoint returns the following financial statements:

* [Income Statements](/api-reference/endpoint/financials/income-statements)
* [Balance Sheets](/api-reference/endpoint/financials/balance-sheets)
* [Cash Flow Statements](/api-reference/endpoint/financials/cash-flow-statements)

To get started, please create an account and grab your <b>API key</b> at [financialdatasets.ai](https://financialdatasets.ai).

You will use the API key to authenticate your API requests.

### Coverage

| Tickers | Years of Coverage | Updated         |
| ------- | ----------------- | --------------- |
| 19,000+ | 30+ years         | Within 1 second |

### Available Tickers

You can fetch a list of available tickers with a `GET` request to:
[https://api.financialdatasets.ai/financials/tickers/](https://api.financialdatasets.ai/financials/tickers/)

### Getting Started

There are only 3 steps for making a successful API call:

1. Add your API key to the header of the request as `X-API-KEY`.
2. Add query params like `ticker`, `period` and `limit` to filter the data.
3. Execute the API request.

### Filtering the Data

You can filter the data by `ticker`, `period`, `limit`, and `report_period`.

**Note**: `ticker` and `period` are required. Alternatively, you can use `cik` instead of `ticker` as a company identifier in your request.

By default, `period` is `annual`,`limit` is `4`, and `report_period` is `null`.

The `period` parameter can be set to `annual`, `quarterly`, or `ttm` (trailing twelve months). The `limit` parameter is used to specify the number of periods to return.

The `report_period` parameter is used to specify the date of the statement.  For example, you can include filters like `report_period_lte=2024-09-30` and `report_period_gte=2024-01-01` to get statements between January 1, 2024 and September 30, 2024.

The available `report_period` operations are:

* `report_period_lte`
* `report_period_lt`
* `report_period_gte`
* `report_period_gt`
* `report_period`

### Normalized vs. As-Reported

We support two views of each financial statement:

* **Normalized** (this endpoint, `GET /financials`): every filer mapped onto a single canonical schema. Consistent across companies and ideal for cross-company comparison and time-series analysis. Available from the 1990s onward.
* **As-Reported** (`GET /financials/as-reported`): each statement exactly as filed in the 10-K or 10-Q, with original labels and parent-child line item hierarchy. Ideal when you need the exact wording, ordering, or subtotal structure from the filing. Available from 2010 onward, when XBRL became standard for SEC filings and companies started to report more granular data.

### Examples

<CodeGroup>
  ```python Normalized theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
  import requests

  # add your API key to the headers
  headers = {
      "X-API-KEY": "your_api_key_here"
  }

  # set your query params
  ticker = 'NVDA'     # stock ticker
  period = 'annual'   # possible values are 'annual', 'quarterly', or 'ttm'
  limit = 30          # number of statements to return

  # create the URL
  url = (
      f'https://api.financialdatasets.ai/financials/'
      f'?ticker={ticker}'
      f'&period={period}'
      f'&limit={limit}'
  )

  # make API request
  response = requests.get(url, headers=headers)

  # parse financials from the response
  financials = response.json().get('financials')

  # get income statements
  income_statements = financials.get('income_statements')

  # get balance sheets
  balance_sheets = financials.get('balance_sheets')

  # get cash flow statements
  cash_flow_statements = financials.get('cash_flow_statements')
  ```

  ```python As-Reported theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
  import requests

  # add your API key to the headers
  headers = {
      "X-API-KEY": "your_api_key_here"
  }

  # set your query params
  ticker = 'NVDA'      # stock ticker
  period = 'annual'    # possible values are 'annual' or 'quarterly'
  limit = 5            # number of periods to return

  # create the URL
  url = (
      f'https://api.financialdatasets.ai/financials/as-reported'
      f'?ticker={ticker}'
      f'&period={period}'
      f'&limit={limit}'
  )

  # make API request
  response = requests.get(url, headers=headers)

  # parse as_reported_financials from the response
  as_reported_financials = response.json().get('as_reported_financials')
  ```
</CodeGroup>


## OpenAPI

````yaml GET /financials
openapi: 3.0.1
info:
  title: Financial Datasets API
  description: >-
    Stock market API with real-time and historical financial data for 27,000+
    tickers over 30+ years. Financial statements, equity prices, insider trades,
    SEC filings, and more.
  version: 1.0.0
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
  contact:
    name: API Support
    url: mailto:support@financialdatasets.ai
    email: support@financialdatasets.ai
  termsOfService: https://financialdatasets.ai/terms-of-use
servers:
  - url: https://api.financialdatasets.ai/
    description: Production server
security:
  - X-API-KEY: []
tags:
  - name: Financial Statements
    description: Access to income statements, balance sheets, and cash flow statements
  - name: Market Data
    description: Real-time and historical price data
  - name: Company Information
    description: Company facts like ticker, name, and description
  - name: Earnings
    description: Earnings data and related information
  - name: News
    description: Real-time and historical news articles
  - name: SEC Filings
    description: SEC filings and regulatory documents
  - name: Insider Trades
    description: Insider trading activity and transactions
  - name: Activist Ownership
    description: Activist stakes from SEC Schedule 13D filings, in real time
  - name: Beneficial Ownership
    description: >-
      Holders of more than 5% of a company's shares, from SEC Schedules 13D and
      13G
  - name: Insider Ownership
    description: Insider ownership statements from SEC Forms 3 and 5
  - name: Institutional Holdings
    description: SEC-direct 13F equity holdings of institutional investment managers
  - name: Index Funds
    description: >-
      ETF and index-fund holdings, weights, and the funds that hold a given
      security
  - name: Financial Metrics
    description: Financial ratios, metrics, and key performance indicators
  - name: Macroeconomics
    description: Real-time and historical macroeconomic data like interest rates
  - name: KPIs
    description: Sector-specific operational KPIs extracted from earnings releases.
paths:
  /financials:
    get:
      tags:
        - Financial Statements
      summary: Get all financial statements
      description: Get all financial statements for a ticker.
      operationId: getAllFinancialStatements
      parameters:
        - name: ticker
          in: query
          description: The ticker symbol. Required if cik is not provided.
          required: false
          schema:
            type: string
        - name: period
          in: query
          description: The time period of the financial statements.
          required: true
          schema:
            type: string
            enum:
              - annual
              - quarterly
              - ttm
        - name: limit
          in: query
          description: The maximum number of financial statements to return.
          schema:
            type: integer
            format: int32
        - name: cik
          in: query
          description: The Central Index Key (CIK) of the company.
          required: false
          schema:
            type: string
        - $ref: '#/components/parameters/ReportPeriod'
        - $ref: '#/components/parameters/ReportPeriodGte'
        - $ref: '#/components/parameters/ReportPeriodLte'
        - $ref: '#/components/parameters/ReportPeriodGt'
        - $ref: '#/components/parameters/ReportPeriodLt'
        - $ref: '#/components/parameters/FilingDate'
        - $ref: '#/components/parameters/FilingDateGte'
        - $ref: '#/components/parameters/FilingDateLte'
        - $ref: '#/components/parameters/FilingDateGt'
        - $ref: '#/components/parameters/FilingDateLt'
      responses:
        '200':
          description: Financial statements response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FinancialsResponse'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '402':
          $ref: '#/components/responses/PaymentRequiredError'
        '404':
          $ref: '#/components/responses/NotFoundError'
components:
  parameters:
    ReportPeriod:
      name: report_period
      in: query
      description: Filter by exact report period date in YYYY-MM-DD format.
      required: false
      schema:
        type: string
        format: date
    ReportPeriodGte:
      name: report_period_gte
      in: query
      description: >-
        Filter by report period greater than or equal to date in YYYY-MM-DD
        format.
      required: false
      schema:
        type: string
        format: date
    ReportPeriodLte:
      name: report_period_lte
      in: query
      description: Filter by report period less than or equal to date in YYYY-MM-DD format.
      required: false
      schema:
        type: string
        format: date
    ReportPeriodGt:
      name: report_period_gt
      in: query
      description: Filter by report period greater than date in YYYY-MM-DD format.
      required: false
      schema:
        type: string
        format: date
    ReportPeriodLt:
      name: report_period_lt
      in: query
      description: Filter by report period less than date in YYYY-MM-DD format.
      required: false
      schema:
        type: string
        format: date
    FilingDate:
      name: filing_date
      in: query
      description: >-
        Filter by exact SEC filing date in YYYY-MM-DD format. Rows without a
        known filing date are excluded.
      required: false
      schema:
        type: string
        format: date
    FilingDateGte:
      name: filing_date_gte
      in: query
      description: >-
        Filter by SEC filing date greater than or equal to date in YYYY-MM-DD
        format. Rows without a known filing date are excluded.
      required: false
      schema:
        type: string
        format: date
    FilingDateLte:
      name: filing_date_lte
      in: query
      description: >-
        Filter by SEC filing date less than or equal to date in YYYY-MM-DD
        format. Useful for point-in-time queries: returns only data that was
        publicly filed by the given date. Rows without a known filing date are
        excluded.
      required: false
      schema:
        type: string
        format: date
    FilingDateGt:
      name: filing_date_gt
      in: query
      description: >-
        Filter by SEC filing date greater than date in YYYY-MM-DD format. Rows
        without a known filing date are excluded.
      required: false
      schema:
        type: string
        format: date
    FilingDateLt:
      name: filing_date_lt
      in: query
      description: >-
        Filter by SEC filing date less than date in YYYY-MM-DD format. Rows
        without a known filing date are excluded.
      required: false
      schema:
        type: string
        format: date
  schemas:
    FinancialsResponse:
      type: object
      properties:
        financials:
          type: object
          properties:
            income_statements:
              type: array
              items:
                $ref: '#/components/schemas/IncomeStatement'
            balance_sheets:
              type: array
              items:
                $ref: '#/components/schemas/BalanceSheet'
            cash_flow_statements:
              type: array
              items:
                $ref: '#/components/schemas/CashFlowStatement'
    IncomeStatement:
      type: object
      properties:
        ticker:
          type: string
          description: The ticker symbol.
        report_period:
          type: string
          format: date
          description: The reporting period of the income statement.
        fiscal_period:
          type: string
          description: The fiscal period of the income statement.
        period:
          type: string
          enum:
            - quarterly
            - ttm
            - annual
          description: The time period of the income statement.
        currency:
          type: string
          description: The currency in which the financial data is reported.
        accession_number:
          type: string
          nullable: true
          description: The SEC accession number of the filing.
        filing_url:
          type: string
          nullable: true
          format: uri
          description: URL to the SEC filing.
        filing_date:
          type: string
          format: date
          nullable: true
          description: >-
            Calendar day SEC accepted the filing, in Eastern Time (the SEC's
            operating timezone). Calendar-day pair to `filing_datetime`. Null
            when no dated SEC filing is linked to the row.
        filing_datetime:
          type: string
          format: date-time
          nullable: true
          description: >-
            Sub-day timestamp recording when SEC accepted the filing, in Eastern
            Time. Sourced from SEC's `acceptanceDateTime` field on the EDGAR
            submissions API. Pairs with `filing_date` (calendar-day precision of
            the same event).
        revenue:
          type: number
          nullable: false
          description: The total revenue of the company.
        cost_of_revenue:
          type: number
          nullable: false
          description: The cost of revenue of the company.
        gross_profit:
          type: number
          nullable: false
          description: The gross profit of the company.
        operating_expense:
          type: number
          nullable: false
          description: The operating expenses of the company.
        selling_general_and_administrative_expenses:
          type: number
          nullable: false
          description: The selling, general, and administrative expenses of the company.
        research_and_development:
          type: number
          nullable: false
          description: The research and development expenses of the company.
        operating_income:
          type: number
          nullable: false
          description: The operating income of the company.
        interest_expense:
          type: number
          nullable: false
          description: The interest expenses of the company.
        ebit:
          type: number
          nullable: false
          description: The earnings before interest and taxes of the company.
        income_tax_expense:
          type: number
          nullable: false
          description: The income tax expenses of the company.
        net_income_discontinued_operations:
          type: number
          nullable: false
          description: The net income from discontinued operations of the company.
        net_income_non_controlling_interests:
          type: number
          nullable: false
          description: The net income from non-controlling interests of the company.
        net_income:
          type: number
          nullable: false
          description: The net income of the company.
        net_income_common_stock:
          type: number
          nullable: false
          description: The net income available to common stockholders of the company.
        preferred_dividends_impact:
          type: number
          nullable: false
          description: The impact of preferred dividends on the net income of the company.
        consolidated_income:
          type: number
          nullable: false
          description: The consolidated income of the company.
        earnings_per_share:
          type: number
          nullable: false
          description: The earnings per share of the company.
        earnings_per_share_diluted:
          type: number
          nullable: false
          description: The diluted earnings per share of the company.
        dividends_per_common_share:
          type: number
          nullable: false
          description: The dividends per common share of the company.
        weighted_average_shares:
          type: number
          nullable: false
          description: The weighted average shares of the company.
        weighted_average_shares_diluted:
          type: number
          nullable: false
          description: The diluted weighted average shares of the company.
    BalanceSheet:
      type: object
      properties:
        ticker:
          type: string
          description: The ticker symbol.
        report_period:
          type: string
          format: date
          description: The reporting period of the balance sheet.
        fiscal_period:
          type: string
          description: The fiscal period of the balance sheet.
        period:
          type: string
          enum:
            - quarterly
            - ttm
            - annual
          description: The time period of the balance sheet.
        currency:
          type: string
          description: The currency in which the financial data is reported.
        accession_number:
          type: string
          nullable: true
          description: The SEC accession number of the filing.
        filing_url:
          type: string
          nullable: true
          format: uri
          description: URL to the SEC filing.
        filing_date:
          type: string
          format: date
          nullable: true
          description: >-
            Calendar day SEC accepted the filing, in Eastern Time (the SEC's
            operating timezone). Calendar-day pair to `filing_datetime`. Null
            when no dated SEC filing is linked to the row.
        filing_datetime:
          type: string
          format: date-time
          nullable: true
          description: >-
            Sub-day timestamp recording when SEC accepted the filing, in Eastern
            Time. Sourced from SEC's `acceptanceDateTime` field on the EDGAR
            submissions API. Pairs with `filing_date` (calendar-day precision of
            the same event).
        total_assets:
          type: number
          nullable: false
          description: The total assets of the company.
        current_assets:
          type: number
          nullable: false
          description: The current assets of the company.
        cash_and_equivalents:
          type: number
          nullable: false
          description: The cash and equivalents of the company.
        inventory:
          type: number
          nullable: false
          description: The inventory of the company.
        current_investments:
          type: number
          nullable: false
          description: The current investments of the company.
        trade_and_non_trade_receivables:
          type: number
          nullable: false
          description: The trade and non-trade receivables of the company.
        non_current_assets:
          type: number
          nullable: false
          description: The non-current assets of the company.
        property_plant_and_equipment:
          type: number
          nullable: false
          description: The property, plant, and equipment of the company.
        goodwill_and_intangible_assets:
          type: number
          nullable: false
          description: The goodwill and intangible assets of the company.
        investments:
          type: number
          nullable: false
          description: The investments of the company.
        non_current_investments:
          type: number
          nullable: false
          description: The non-current investments of the company.
        outstanding_shares:
          type: number
          nullable: false
          description: The outstanding shares of the company.
        tax_assets:
          type: number
          nullable: false
          description: The tax assets of the company.
        total_liabilities:
          type: number
          nullable: false
          description: The total liabilities of the company.
        current_liabilities:
          type: number
          nullable: false
          description: The current liabilities of the company.
        current_debt:
          type: number
          nullable: false
          description: The current debt of the company.
        trade_and_non_trade_payables:
          type: number
          nullable: false
          description: The trade and non-trade payables of the company.
        deferred_revenue:
          type: number
          nullable: false
          description: The deferred revenue of the company.
        deposit_liabilities:
          type: number
          nullable: false
          description: The deposit liabilities of the company.
        non_current_liabilities:
          type: number
          nullable: false
          description: The non-current liabilities of the company.
        non_current_debt:
          type: number
          nullable: false
          description: The non-current debt of the company.
        tax_liabilities:
          type: number
          nullable: false
          description: The tax liabilities of the company.
        shareholders_equity:
          type: number
          nullable: false
          description: The shareholders' equity of the company.
        retained_earnings:
          type: number
          nullable: false
          description: The retained earnings of the company.
        accumulated_other_comprehensive_income:
          type: number
          nullable: false
          description: The accumulated other comprehensive income of the company.
        total_debt:
          type: number
          nullable: false
          description: The total debt of the company.
    CashFlowStatement:
      type: object
      properties:
        ticker:
          type: string
          description: The ticker symbol.
        report_period:
          type: string
          format: date
          description: The reporting period of the cash flow statement.
        fiscal_period:
          type: string
          description: The fiscal period of the cash flow statement.
        period:
          type: string
          enum:
            - quarterly
            - ttm
            - annual
          description: The time period of the cash flow statement.
        currency:
          type: string
          description: The currency in which the financial data is reported.
        accession_number:
          type: string
          nullable: true
          description: The SEC accession number of the filing.
        filing_url:
          type: string
          nullable: true
          format: uri
          description: URL to the SEC filing.
        filing_date:
          type: string
          format: date
          nullable: true
          description: >-
            Calendar day SEC accepted the filing, in Eastern Time (the SEC's
            operating timezone). Calendar-day pair to `filing_datetime`. Null
            when no dated SEC filing is linked to the row.
        filing_datetime:
          type: string
          format: date-time
          nullable: true
          description: >-
            Sub-day timestamp recording when SEC accepted the filing, in Eastern
            Time. Sourced from SEC's `acceptanceDateTime` field on the EDGAR
            submissions API. Pairs with `filing_date` (calendar-day precision of
            the same event).
        net_income:
          type: number
          nullable: false
          description: The net income of the company.
        depreciation_and_amortization:
          type: number
          nullable: false
          description: The depreciation and amortization of the company.
        share_based_compensation:
          type: number
          nullable: false
          description: The share-based compensation of the company.
        net_cash_flow_from_operations:
          type: number
          nullable: false
          description: The net cash flow from operations of the company.
        capital_expenditure:
          type: number
          nullable: false
          description: The capital expenditure of the company.
        business_acquisitions_and_disposals:
          type: number
          nullable: false
          description: The business acquisitions and disposals of the company.
        investment_acquisitions_and_disposals:
          type: number
          nullable: false
          description: The investment acquisitions and disposals of the company.
        net_cash_flow_from_investing:
          type: number
          nullable: false
          description: The net cash flow from investing of the company.
        issuance_or_repayment_of_debt_securities:
          type: number
          nullable: false
          description: The issuance or repayment of debt securities of the company.
        issuance_or_purchase_of_equity_shares:
          type: number
          nullable: false
          description: The issuance or purchase of equity shares of the company.
        dividends_and_other_cash_distributions:
          type: number
          nullable: false
          description: The dividends and other cash distributions of the company.
        net_cash_flow_from_financing:
          type: number
          nullable: false
          description: The net cash flow from financing of the company.
        change_in_cash_and_equivalents:
          type: number
          nullable: false
          description: The change in cash and equivalents of the company.
        effect_of_exchange_rate_changes:
          type: number
          nullable: false
          description: The effect of exchange rate changes of the company.
        ending_cash_balance:
          type: number
          nullable: false
          description: The ending cash balance of the company.
        free_cash_flow:
          type: number
          nullable: false
          description: The free cash flow of the company.
    ErrorResponse:
      type: object
      properties:
        error:
          type: string
          description: A short error message.
        message:
          type: string
          description: A more detailed error message.
  responses:
    BadRequestError:
      description: Bad request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error: Bad Request
            message: Invalid request parameters
    UnauthorizedError:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error: Unauthorized
            message: Invalid API key provided
    PaymentRequiredError:
      description: The request requires a paid subscription
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error: Payment Required
            message: >-
              This endpoint requires a paid subscription. Please upgrade your
              plan.
    NotFoundError:
      description: The specified resource was not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error: Not Found
            message: Ticker XXXX not found
  securitySchemes:
    X-API-KEY:
      type: apiKey
      name: X-API-KEY
      description: API key for authentication.
      in: header

````