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

# Get filed financials

> The filed figures, one row per accounting period, newest first. A correction replaces the filing it corrects and is flagged rather than hidden. Each period is charged, so ten years cost ten times one.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/companies/{id}/financials
openapi: 3.0.3
info:
  title: OTB Studio API
  version: 1.0.0
  description: >-
    The Belgian company register over REST: search, profiles, ownership, filed
    financials and mandates. Every route needs an `otb_live_` token, and every
    served reply is charged in credits for the datapoints it carries.
servers:
  - url: https://api.otbstudio.ai
security:
  - token: []
tags:
  - name: Companies
    description: One company register, read five ways.
paths:
  /v1/companies/{id}/financials:
    get:
      tags:
        - Companies
      summary: Get filed financials
      description: >-
        The filed figures, one row per accounting period, newest first. A
        correction replaces the filing it corrects and is flagged rather than
        hidden. Each period is charged, so ten years cost ten times one.
      operationId: getCompanyFinancials
      parameters:
        - $ref: '#/components/parameters/id'
        - name: years
          in: query
          required: false
          description: >-
            How many periods to return, 1 to 20. A missing, zero, negative or
            larger value gives 10.
          schema:
            type: integer
            default: 10
        - name: detail
          in: query
          required: false
          description: >-
            `true` adds the cash flow statement and the named balance sheet
            lines to every period.
          schema:
            type: boolean
            default: false
      responses:
        '200':
          description: The periods. An empty list when the company has filed nothing.
          headers:
            X-Credits-Cost:
              $ref: '#/components/headers/X-Credits-Cost'
            X-Credits-Remaining:
              $ref: '#/components/headers/X-Credits-Remaining'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FinancialsReply'
              example:
                periods:
                  - closingDate: '2025-03-31'
                    reference: 2025-00184417
                    schemaType: full
                    employees: 186.4
                    equity: 12480310.52
                    operatingIncome: 3912774.18
                    ebitda: 5240118.66
                    resultForPeriod: 2731905.07
                    healthIndicator: 10
                    cashFlow:
                      operating: 4410228.35
                      investing: -1876340.12
                      financing: -1504377.8
                      free: 2533888.23
                      cashAtPeriodEnd: 1388902.41
                      distributionsToOwners: 600000
                    balanceSheet:
                      operatingProfit: 3480112.9
                      depreciation: 1328006.48
                      staffCosts: 9876540.21
                      totalAssets: 31902554.7
                      totalDebt: 8044120.33
                      interestPaid: 288410.12
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/PaymentRequired'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          $ref: '#/components/responses/Internal'
        '503':
          $ref: '#/components/responses/Busy'
components:
  parameters:
    id:
      name: id
      in: path
      required: true
      description: >-
        The enterprise number. `0712.345.630`, `BE 0712 345 630` and
        `BE0712345630` are all accepted.
      schema:
        type: string
      example: BE0712345630
  headers:
    X-Credits-Cost:
      description: What this reply cost, in credits.
      schema:
        type: integer
    X-Credits-Remaining:
      description: The balance after this reply.
      schema:
        type: integer
    Retry-After:
      description: Seconds to wait before trying again.
      schema:
        type: integer
  schemas:
    FinancialsReply:
      type: object
      additionalProperties: false
      required:
        - periods
      properties:
        periods:
          type: array
          items:
            $ref: '#/components/schemas/Period'
    Period:
      type: object
      additionalProperties: false
      description: One accounting period, as filed. Amounts are in euro.
      required:
        - closingDate
      properties:
        closingDate:
          type: string
          format: date
        reference:
          type: string
          description: >-
            The filing's reference at the National Bank of Belgium, so a figure
            can be checked against the source document.
        schemaType:
          type: string
          description: >-
            The filing schema, such as `full` or `abbreviated`. A company that
            changes schema reports a different level of detail.
        corrected:
          type: boolean
          description: >-
            This filing replaced an earlier one for the same period. It is the
            authoritative figure.
        comparative:
          type: boolean
          description: >-
            These figures come from the prior-year column of a later filing, not
            from a filing of their own. The reference cannot be looked up.
        employees:
          type: number
          description: Average full-time equivalents over the period, not headcount.
        equity:
          type: number
        operatingIncome:
          type: number
        ebitda:
          type: number
          description: >-
            The source's derived figure. Belgian annual accounts have no EBITDA
            line.
        resultForPeriod:
          type: number
        healthIndicator:
          type: number
          description: >-
            The source's score, a whole number from 1 to 10. The method is not
            published.
        cashFlow:
          $ref: '#/components/schemas/CashFlow'
        balanceSheet:
          $ref: '#/components/schemas/BalanceSheet'
    Unauthorized:
      type: object
      additionalProperties: false
      required:
        - code
      properties:
        code:
          type: string
          enum:
            - missing_token
            - invalid_token
    PaymentRequired:
      type: object
      additionalProperties: false
      required:
        - code
      properties:
        code:
          type: string
          enum:
            - insufficient_credits
    NotFound:
      type: object
      additionalProperties: false
      required:
        - code
      properties:
        code:
          type: string
          enum:
            - not_found
    RateLimited:
      type: object
      additionalProperties: false
      required:
        - code
      properties:
        code:
          type: string
          enum:
            - rate_limited
    Internal:
      type: object
      additionalProperties: false
      required:
        - code
      properties:
        code:
          type: string
          enum:
            - internal
    Busy:
      type: object
      additionalProperties: false
      required:
        - code
      properties:
        code:
          type: string
          enum:
            - busy
    CashFlow:
      type: object
      additionalProperties: false
      description: The filed cash flow statement. Only with `detail=true`.
      properties:
        operating:
          type: number
        investing:
          type: number
        financing:
          type: number
        free:
          type: number
        cashAtPeriodEnd:
          type: number
        distributionsToOwners:
          type: number
          description: Dividends and other distributions to owners, as filed.
    BalanceSheet:
      type: object
      additionalProperties: false
      description: The balance sheet lines asked for by name. Only with `detail=true`.
      properties:
        operatingProfit:
          type: number
        depreciation:
          type: number
        staffCosts:
          type: number
        totalAssets:
          type: number
          description: The balance sheet total.
        totalDebt:
          type: number
        interestPaid:
          type: number
          description: The cost of debt for the period.
  responses:
    Unauthorized:
      description: >-
        No token, or a token that is not valid. `missing_token` when there is no
        `Authorization: Bearer` header, `invalid_token` when the token is
        unknown, revoked or of the wrong kind.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Unauthorized'
    PaymentRequired:
      description: >-
        The organisation has no plan, its balance is empty, or the balance does
        not cover this reply. When the reply was too expensive, the headers say
        what it would have cost and what is left.
      headers:
        X-Credits-Cost:
          $ref: '#/components/headers/X-Credits-Cost'
        X-Credits-Remaining:
          $ref: '#/components/headers/X-Credits-Remaining'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PaymentRequired'
    NotFound:
      description: No company has this enterprise number.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/NotFound'
    RateLimited:
      description: >-
        The organisation is over its rate (10 calls a second, bursts of 20) or
        has 4 calls running. Retry after `Retry-After`.
      headers:
        Retry-After:
          $ref: '#/components/headers/Retry-After'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RateLimited'
    Internal:
      description: Something failed on our side.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Internal'
    Busy:
      description: The data could not be read within 15 seconds. Retry after `Retry-After`.
      headers:
        Retry-After:
          $ref: '#/components/headers/Retry-After'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Busy'
  securitySchemes:
    token:
      type: http
      scheme: bearer
      description: An `otb_live_` token, minted in the OTB Studio dashboard.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.