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

# Reported balance sheet, income statement, or cash flow for a company.

> Get a company’s reported financial statements (balance sheet, income statement, or cash
flow), one statement type per call, as a series of reporting periods.
Use it to analyze financial health, profitability, and cash generation.
Each period carries its fiscal year and quarter, the period end and filing dates, and
the statement’s line items.



## OpenAPI

````yaml /api-reference/openapi-mintlify.json post /api/v1/fundamentals/financials
openapi: 3.0.3
info:
  title: Finterm API
  version: 1.0.0
  description: >-
    The Finterm financial-data API. Every response is the two-key envelope:
    `finterm` (the meta header) and `data` (the published result contract), or
    `finterm` + `error` on failure.


    ## Error registry


    | Code | HTTP | Description | Message |

    | --- | --- | --- | --- |

    | `INVALID_REQUEST` | 400 | The request body failed schema validation, or
    the tool rejected the parameters as invalid or incomplete. | The request
    parameters are invalid or incomplete. |

    | `INVALID_JSON` | 400 | The request body was not valid JSON. | The request
    body was not valid JSON. |

    | `TOKEN_INVALID` | 401 | The bearer token is missing, expired, or not
    recognized. | The API key is missing, expired, or not recognized. |

    | `SUBSCRIPTION_REQUIRED` | 402 | An active Finterm Pro subscription is
    required. The envelope carries the machine-readable error.upgrade_url; after
    checkout there, retrying succeeds automatically. | An active Finterm Pro
    subscription is required. |

    | `RATE_LIMITED` | 429 | The caller has exceeded the request rate limit;
    retry later. | Too many requests; retry later. |

    | `RUNTIME_UNAVAILABLE` | 503 | The tool runtime is not available for this
    deployment. | The service is temporarily unavailable; retry later. |

    | `RUNTIME_QUEUE_FULL` | 429 | The tool runtime queue is full; retry later.
    | The service is busy; retry later. |

    | `RUNTIME_TOOL_UNAVAILABLE` | 501 | The tool is routed but not yet
    runnable. | This tool is not yet available. |

    | `RUNTIME_RUN_FAILED` | 502 | The tool runtime reported the run as a
    non-success terminal state. | The run did not complete successfully. |

    | `RUNTIME_CONTRACT_MISMATCH` | 502 | The tool runtime returned a result
    that did not match the published contract. | The service returned an
    unexpected result shape. |

    | `TOOL_EXECUTION_FAILED` | 502 | The tool executed but reported an upstream
    failure. | The tool ran but could not complete the request. |

    | `UPSTREAM_AUTH` | 502 | A data source rejected the service’s own
    credentials. A service-side configuration fault, not a caller authentication
    problem. | A data source could not be accessed due to a service
    configuration issue. |

    | `UPSTREAM_QUOTA` | 503 | A data source is over its service-side usage
    limit; retry later. | A data source is temporarily over capacity; retry
    later. |

    | `UPSTREAM_UNAVAILABLE` | 502 | A data source failed, timed out, or
    returned an unusable response; retry later. | A data source is temporarily
    unavailable; retry later. |

    | `BUNDLE_NOT_FOUND` | 404 | No bundle exists with the requested name. | No
    bundle exists with the requested name. |

    | `RUN_NOT_FOUND` | 404 | No run exists with the requested id for this
    caller. | No run exists with the requested id. |

    | `MANIFEST_NOT_READY` | 409 | The run has not completed, so the sync
    manifest is not yet available. | The run has not completed yet. |
servers:
  - url: https://api.finterm.ai
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Point Tools
    description: Single-purpose data tools (one request, one synchronous result).
  - name: Bundle Tools
    description: Composed multi-section tools served via the run lifecycle.
  - name: Account
    description: The authenticated account/entitlement read (works without Pro).
  - name: Feedback
    description: Submit bugs, questions, and feature requests (works without Pro).
paths:
  /api/v1/fundamentals/financials:
    post:
      tags:
        - Point Tools
      summary: Reported balance sheet, income statement, or cash flow for a company.
      description: >-
        Get a company’s reported financial statements (balance sheet, income
        statement, or cash

        flow), one statement type per call, as a series of reporting periods.

        Use it to analyze financial health, profitability, and cash generation.

        Each period carries its fiscal year and quarter, the period end and
        filing dates, and

        the statement’s line items.
      operationId: financialStatements
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                ticker:
                  type: string
                  description: Stock ticker symbol
                statement_type:
                  type: string
                  enum:
                    - balance_sheet
                    - income_statement
                    - cash_flow
                  description: Financial statement type
                as_of_date:
                  type: string
                  pattern: ^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$
                  description: Filing-date cutoff in YYYY-MM-DD format
                timeframe:
                  description: Period type
                  type: string
                  enum:
                    - quarterly
                    - annual
                    - trailing_twelve_months
                fiscal_year:
                  description: Fiscal-year filter
                  type: number
                fiscal_quarter:
                  description: Fiscal-quarter filter
                  type: number
                  minimum: 1
                  maximum: 4
                limit:
                  description: Number of periods to return
                  type: number
                  minimum: 1
                  maximum: 20
              required:
                - ticker
                - statement_type
                - as_of_date
              additionalProperties: false
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                type: object
                description: The two-key success envelope.
                properties:
                  finterm:
                    $ref: '#/components/schemas/FintermMeta'
                  data:
                    $ref: '#/components/schemas/FinancialStatements'
                required:
                  - finterm
                  - data
        '400':
          description: Error (INVALID_REQUEST, INVALID_JSON).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '401':
          description: Error (TOKEN_INVALID).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '402':
          description: Error (SUBSCRIPTION_REQUIRED).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '404':
          description: Error (BUNDLE_NOT_FOUND, RUN_NOT_FOUND).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '409':
          description: Error (MANIFEST_NOT_READY).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '429':
          description: Error (RATE_LIMITED, RUNTIME_QUEUE_FULL).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '501':
          description: Error (RUNTIME_TOOL_UNAVAILABLE).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '502':
          description: >-
            Error (RUNTIME_RUN_FAILED, RUNTIME_CONTRACT_MISMATCH,
            TOOL_EXECUTION_FAILED, UPSTREAM_AUTH, UPSTREAM_UNAVAILABLE).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
        '503':
          description: Error (RUNTIME_UNAVAILABLE, UPSTREAM_QUOTA).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
      x-codeSamples:
        - lang: bash
          label: The last four quarterly income statements.
          source: >-
            finterm tool financial_statements AAPL --statement-type
            income_statement --as-of-date 2024-12-01 --timeframe quarterly
components:
  schemas:
    FintermMeta:
      type: object
      description: Canonical result meta header.
      properties:
        schema:
          type: string
          description: The published result contract id.
        tool:
          type: string
          description: The snake_case tool id.
        args:
          type: object
          additionalProperties: true
          description: The arguments the caller requested.
        request_id:
          type: string
          description: Server-set, ephemeral request id.
        cursor:
          type: string
          description: Opaque pagination cursor (feed tools only).
      required:
        - schema
        - tool
        - args
    FinancialStatements:
      type: object
      properties:
        ticker:
          type: string
        statement_type:
          type: string
          enum:
            - balance_sheet
            - income_statement
            - cash_flow
        periods:
          type: array
          items:
            anyOf:
              - type: object
                properties:
                  fiscal_year:
                    type: number
                  fiscal_quarter:
                    nullable: true
                    type: number
                  period_end:
                    type: string
                  filing_date:
                    type: string
                  timeframe:
                    type: string
                  total_assets:
                    nullable: true
                    type: number
                  total_current_assets:
                    nullable: true
                    type: number
                  cash_and_equivalents:
                    nullable: true
                    type: number
                  short_term_investments:
                    nullable: true
                    type: number
                  accounts_receivable:
                    nullable: true
                    type: number
                  inventory:
                    nullable: true
                    type: number
                  total_non_current_assets:
                    nullable: true
                    type: number
                  property_plant_equipment:
                    nullable: true
                    type: number
                  goodwill:
                    nullable: true
                    type: number
                  intangible_assets:
                    nullable: true
                    type: number
                  total_liabilities:
                    nullable: true
                    type: number
                  total_current_liabilities:
                    nullable: true
                    type: number
                  accounts_payable:
                    nullable: true
                    type: number
                  short_term_debt:
                    nullable: true
                    type: number
                  total_non_current_liabilities:
                    nullable: true
                    type: number
                  long_term_debt:
                    nullable: true
                    type: number
                  total_equity:
                    nullable: true
                    type: number
                  retained_earnings:
                    nullable: true
                    type: number
                  common_stock:
                    nullable: true
                    type: number
                required:
                  - fiscal_year
                  - fiscal_quarter
                  - period_end
                  - filing_date
                  - timeframe
                  - total_assets
                  - total_current_assets
                  - cash_and_equivalents
                  - short_term_investments
                  - accounts_receivable
                  - inventory
                  - total_non_current_assets
                  - property_plant_equipment
                  - goodwill
                  - intangible_assets
                  - total_liabilities
                  - total_current_liabilities
                  - accounts_payable
                  - short_term_debt
                  - total_non_current_liabilities
                  - long_term_debt
                  - total_equity
                  - retained_earnings
                  - common_stock
                additionalProperties: false
              - type: object
                properties:
                  fiscal_year:
                    type: number
                  fiscal_quarter:
                    nullable: true
                    type: number
                  period_end:
                    type: string
                  filing_date:
                    type: string
                  timeframe:
                    type: string
                  total_revenue:
                    nullable: true
                    type: number
                  cost_of_revenue:
                    nullable: true
                    type: number
                  gross_profit:
                    nullable: true
                    type: number
                  operating_expenses:
                    nullable: true
                    type: number
                  operating_income:
                    nullable: true
                    type: number
                  research_and_development:
                    nullable: true
                    type: number
                  selling_general_admin:
                    nullable: true
                    type: number
                  interest_expense:
                    nullable: true
                    type: number
                  interest_income:
                    nullable: true
                    type: number
                  other_income:
                    nullable: true
                    type: number
                  income_before_tax:
                    nullable: true
                    type: number
                  income_tax:
                    nullable: true
                    type: number
                  net_income:
                    nullable: true
                    type: number
                  earnings_per_share:
                    nullable: true
                    type: number
                  earnings_per_share_diluted:
                    nullable: true
                    type: number
                  shares_outstanding:
                    nullable: true
                    type: number
                  shares_outstanding_diluted:
                    nullable: true
                    type: number
                required:
                  - fiscal_year
                  - fiscal_quarter
                  - period_end
                  - filing_date
                  - timeframe
                  - total_revenue
                  - cost_of_revenue
                  - gross_profit
                  - operating_expenses
                  - operating_income
                  - research_and_development
                  - selling_general_admin
                  - interest_expense
                  - interest_income
                  - other_income
                  - income_before_tax
                  - income_tax
                  - net_income
                  - earnings_per_share
                  - earnings_per_share_diluted
                  - shares_outstanding
                  - shares_outstanding_diluted
                additionalProperties: false
              - type: object
                properties:
                  fiscal_year:
                    type: number
                  fiscal_quarter:
                    nullable: true
                    type: number
                  period_end:
                    type: string
                  filing_date:
                    type: string
                  timeframe:
                    type: string
                  net_cash_from_operating:
                    nullable: true
                    type: number
                  depreciation_amortization:
                    nullable: true
                    type: number
                  stock_based_compensation:
                    nullable: true
                    type: number
                  change_in_working_capital:
                    nullable: true
                    type: number
                  net_cash_from_investing:
                    nullable: true
                    type: number
                  capital_expenditures:
                    nullable: true
                    type: number
                  acquisitions:
                    nullable: true
                    type: number
                  investment_purchases:
                    nullable: true
                    type: number
                  investment_sales:
                    nullable: true
                    type: number
                  net_cash_from_financing:
                    nullable: true
                    type: number
                  dividends_paid:
                    nullable: true
                    type: number
                  share_repurchases:
                    nullable: true
                    type: number
                  debt_issuance:
                    nullable: true
                    type: number
                  debt_repayment:
                    nullable: true
                    type: number
                  net_change_in_cash:
                    nullable: true
                    type: number
                  free_cash_flow:
                    nullable: true
                    type: number
                required:
                  - fiscal_year
                  - fiscal_quarter
                  - period_end
                  - filing_date
                  - timeframe
                  - net_cash_from_operating
                  - depreciation_amortization
                  - stock_based_compensation
                  - change_in_working_capital
                  - net_cash_from_investing
                  - capital_expenditures
                  - acquisitions
                  - investment_purchases
                  - investment_sales
                  - net_cash_from_financing
                  - dividends_paid
                  - share_repurchases
                  - debt_issuance
                  - debt_repayment
                  - net_change_in_cash
                  - free_cash_flow
                additionalProperties: false
      required:
        - ticker
        - statement_type
        - periods
      additionalProperties: false
    ErrorEnvelope:
      type: object
      description: The two-key error envelope.
      properties:
        finterm:
          $ref: '#/components/schemas/FintermMeta'
        error:
          type: object
          properties:
            code:
              type: string
              description: Stable public error code.
            message:
              type: string
              description: Human-readable, external-clean message.
            upgrade_url:
              type: string
              description: >-
                Machine-readable upgrade URL, present only on
                SUBSCRIPTION_REQUIRED (402): complete checkout there, then
                retry; access activates automatically.
          required:
            - code
            - message
      required:
        - finterm
        - error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: A live account API key from `FINTERM_API_KEY`.

````