Dashboard

Leases

GET/api/footnotes/leases

Pro

Returns the full ASC 842 lease footnote as one object per period: right-of-use asset, lease liability split (current / noncurrent / total), the undiscounted future-payment ladder, the weighted-average discount rate, cost lines, and cash paid, with operating and finance leases side by side.

Payment ladder. Filers disclose the ladder in one of two styles, mapped as follows: full-year style fills year1-year5 and thereafter; mid-fiscal-year style additionally uses remainderOfYear, the payments due in the rest of the current fiscal year, a partial year that is deliberately never merged into year1. total is the undiscounted sum as disclosed and discountExcess the imputed interest, so total − discountExcess reconciles to the discounted liability client-side.

Monetary values default to US dollars. Pass the currency parameter to receive any supported ISO 4217 currency instead: balance-sheet items convert at the period-end spot rate, cost and cash-paid flow lines at the period-average rate, and the per-period fx block records the exact rate(s) applied. Pass currency=original for as-filed values. discountRate is a fraction of 1 (0.037 = 3.7%) and never converted.

What this data can tell you:

Data honesty notes:

Get API key Try it live in the API explorer

Query parameters

Example request

curl 'https://api.stockfit.io/v1/api/footnotes/leases?symbol=AAPL&cik=320193&cusip=037833100&composite_figi=BBG000B9XRY4&share_class_figi=BBG001S5N8V8&currency=USD' \
  -H 'Authorization: Bearer YOUR_API_TOKEN'

Responses

200 OK

Operating and finance lease footnote data, organized by period

Response schema

array of:
  • period string (date)

    The fiscal period end date (YYYY-MM-DD)

  • fiscalYear integer

    The company's fiscal year (handles non-December year-ends).

  • fiscalPeriod string (enum)

    Fiscal period of a reported value: `FY` (annual) or `Q1`-`Q4` (quarterly).

    Allowed values: FY, Q1, Q2, Q3, Q4
  • operating object | null

    Operating-lease side of the footnote. Fields the filer did not tag are omitted. Null when nothing was disclosed for the period.

    • currency string | null

      Currency of the monetary values after conversion (the requested `currency` unless listed in `fx.unconverted`); null when values remain in mixed currencies

    • normalized boolean

      Only present (as `true`) when the discount rate was re-scaled from a mis-tagged whole percent.

    • rightOfUseAsset number

      Operating lease right-of-use asset

    • liabilityCurrent number
    • liabilityNoncurrent number
    • liabilityTotal number

      Total operating lease liability (when tagged directly)

    • discountRate number

      Weighted-average discount rate as a fraction of 1

    • payments object

      Undiscounted future minimum payments ladder.

      • remainderOfYear number

        Payments due in the REMAINDER of the current fiscal year (mid-year disclosure style), a partial year, not year1.

      • year1 number

        Payments due within the next twelve months

      • year2 number
      • year3 number
      • year4 number
      • year5 number
      • thereafter number

        Payments due after year five

      • total number

        Total undiscounted payments as disclosed

      • discountExcess number

        Imputed interest: undiscounted total minus the discounted liability

    • cost object

      Lease cost lines for the period (flow amounts).

      • operating number

        Operating lease cost

      • variable number

        Variable lease cost

      • shortTerm number

        Short-term lease cost

      • subleaseIncome number

        Sublease income

    • cashPaid number

      Operating cash paid for amounts included in lease liabilities (flow)

  • finance object | null

    Finance-lease twin. Same shape as `operating` except `cost` carries `amortization` and `interest`, plus `principalPaid` / `interestPaid` cash flows. Null when the filer has no finance leases.

    • currency string | null
    • normalized boolean
    • rightOfUseAsset number
    • liabilityCurrent number
    • liabilityNoncurrent number
    • liabilityTotal number
    • discountRate number

      Weighted-average discount rate as a fraction of 1

    • payments object
      • remainderOfYear number
      • year1 number
      • year2 number
      • year3 number
      • year4 number
      • year5 number
      • thereafter number
      • total number
      • discountExcess number
    • cost object
      • amortization number

        Amortization of finance-lease right-of-use assets

      • interest number

        Interest on finance-lease liabilities

    • principalPaid number

      Financing cash paid on finance-lease principal (flow)

    • interestPaid number

      Cash paid on finance-lease interest (flow)

  • leaseNotYetCommenced object

    Leases signed but not yet commenced (off-balance-sheet, undiscounted as disclosed). Absent when the filer disclosed none.

    • currency string | null
    • total number

      Total commitment for leases signed but not yet commenced

    • operating number

      Operating-lease portion, when the filer tagged the split

    • finance number

      Finance-lease portion, when the filer tagged the split

  • dateFiled string (date) | null

    SEC filing acceptance date of the newest filing contributing to this period. Use this to gate point-in-time data and avoid lookahead bias.

  • fx object

    Foreign-currency conversion audit for this period. Every monetary value in `facts` is in the requested `currency` (default **US dollars**). This block is absent when the period was already wholly in the target currency (e.g. a US filer with the default USD, nothing to convert). It is present when one or more line items were originally filed in a different currency and converted on the fly, and it records the exact rate(s) applied so the conversion can be reproduced. Rates come from the Frankfurter API (api.frankfurter.dev). Instant balance-sheet items use the spot rate at period end; flow income/cash-flow items use the day-weighted average rate over the period.

    • targetCurrency string

      The currency (ISO 4217) every `facts` value was converted INTO, the value of the request `currency` parameter (default USD). The literal `original` here means no conversion was requested: each fact stays in its as-reported currency (see `unconverted` for the per-fact mapping).

    • originalCurrencies array of string

      Every source currency (ISO 4217) that appeared in this period, the union of converted, unconverted, and already-in-target. The target currency itself is listed when some facts were natively in it (e.g. a foreign filer reporting some lines in USD alongside its converted local currency), so a mixed period reflects its true composition rather than appearing wholly converted.

    • rates array of object

      One entry per (source currency, method) actually applied. `rate` is the multiplier: `target = original * rate`.

      array of:
      • from string

        ISO 4217 source currency that was converted.

      • method string (enum)

        `spot` for instant balance-sheet items (rate at period end); `average` for flow income/cash-flow items (day-weighted mean over the period).

        Allowed values: spot, average
      • rate number

        Multiply the original-currency amount by this to get the `targetCurrency` amount.

      • effectiveDate string (date)

        Spot only: the date (YYYY-MM-DD) the applied rate was published (≤ period end).

      • start string (date)

        Average only: period start (YYYY-MM-DD).

      • end string (date)

        Average only: period end (YYYY-MM-DD).

    • unconverted map of string to array of string

      Facts that could NOT be converted (no published rate within tolerance, or an unsupported code/date), grouped by the currency they remain in: each key is a source ISO 4217 code, each value lists the curated fact names in `facts` still in that currency (NOT `targetCurrency`). Absent when everything converted. Use it to know exactly which figures to treat as native currency.

      • * (additional properties) array of string

Example response

[
  {
    "period": "2025-09-28",
    "fiscalYear": 2025,
    "fiscalPeriod": {},
    "operating": {
      "currency": "USD",
      "normalized": true,
      "rightOfUseAsset": 9315700000,
      "liabilityCurrent": 1564500000,
      "liabilityNoncurrent": 8972200000,
      "liabilityTotal": 10536700000,
      "discountRate": 0.037,
      "payments": {
        "remainderOfYear": 0,
        "year1": 1940600000,
        "year2": 1757300000,
        "year3": 1548400000,
        "year4": 1360400000,
        "year5": 1190300000,
        "thereafter": 4592200000,
        "total": 12389200000,
        "discountExcess": 1852500000
      },
      "cost": {
        "operating": 2097000000,
        "variable": 0,
        "shortTerm": 0,
        "subleaseIncome": 0
      },
      "cashPaid": 1900000000
    },
    "finance": {
      "currency": "USD",
      "normalized": true,
      "rightOfUseAsset": 0,
      "liabilityCurrent": 0,
      "liabilityNoncurrent": 0,
      "liabilityTotal": 0,
      "discountRate": 0,
      "payments": {
        "remainderOfYear": 0,
        "year1": 0,
        "year2": 0,
        "year3": 0,
        "year4": 0,
        "year5": 0,
        "thereafter": 0,
        "total": 0,
        "discountExcess": 0
      },
      "cost": {
        "amortization": 0,
        "interest": 0
      },
      "principalPaid": 0,
      "interestPaid": 0
    },
    "leaseNotYetCommenced": {
      "currency": "USD",
      "total": 137214000000,
      "operating": 0,
      "finance": 0
    },
    "dateFiled": "2025-11-19",
    "fx": {}
  }
]

400 Bad Request

Invalid parameters or symbol not found

Response schema

  • error string

    Human-readable error message

Example response

{}

403 Forbidden

Feature not available on current plan

Response schema

  • error string

    Human-readable error message

Example response

{}