Dashboard

Revenue Segmentation

GET/api/footnotes/revenue-segmentation

Starter Stock Pro

Returns revenue split by geography and product in a single response, period by period. Sourced from XBRL dimensional facts disclosed in 10-K / 10-Q / 20-F filings.

The geography field is partitioned into four buckets:

The product field is a flat list of revenue-by-product members. Parent/leaf overlap (e.g. us-gaap:ProductMember alongside aapl:iPhoneMember) is preserved as-is; consumers can collapse subtotals client-side. What this data can tell you:

Get API key Try it live in the API explorer

Query parameters

Example request

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

Responses

200 OK

Revenue segmentation by geography and product, organized by period. Members the filer later renamed or stopped reporting are left out of earlier periods instead of appearing beside their successors.

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
  • unit string

    Standardized unit of the values (usually `USD`)

  • geography object
    • countries array of object
      array of:
      • code string

        ISO 3166-1 alpha-2 country code

      • name string

        Display name

      • continent string | null

        Continent name

      • value number
    • usStates array of object

      US-state-level disclosures (XBRL `stpr:XX` members). Empty array when no state-level breakdown was disclosed.

      array of:
      • code string

        US state postal code (e.g. CA, NY, TX)

      • name string

        Full state name

      • value number
    • regions array of object
      array of:
      • member string

        Raw XBRL member QName

      • name string
      • continent string | null
      • value number

        Revenue tagged on this region member

      • explainedByCountries number

        Sum of country leaves in this continent

      • other number

        Residual = value − explainedByCountries (revenue from countries within the region not separately disclosed)

    • residuals array of object

      Filer-extension catch-all buckets like `jhx:OtherCountriesMember`

      array of:
      • member string
      • name string
      • value number
  • product array of object
    array of:
    • member string

      Raw XBRL member QName

    • name string

      Derived display label

    • value number
  • dateFiled string (date) | null

    SEC filing acceptance date for the source 10-K/10-Q. Use this to gate point-in-time data and avoid lookahead bias.

Example response

[
  {
    "period": "2024-03-29",
    "fiscalYear": 2024,
    "fiscalPeriod": "FY",
    "unit": "USD",
    "geography": {
      "countries": [
        {
          "code": "US",
          "name": "United States",
          "continent": "Americas",
          "value": 167045000000
        }
      ],
      "usStates": [
        {
          "code": "CA",
          "name": "California",
          "value": 1269000
        }
      ],
      "regions": [
        {
          "member": "srt:AmericasMember",
          "name": "Americas",
          "continent": "Americas",
          "value": 167045000000,
          "explainedByCountries": 167045000000,
          "other": 0
        }
      ],
      "residuals": [
        {
          "member": "jhx:OtherCountriesMember",
          "name": "Other Countries",
          "value": 25000000000
        }
      ]
    },
    "product": [
      {
        "member": "aapl:iPhoneMember",
        "name": "i Phone",
        "value": 201183000000
      }
    ],
    "dateFiled": "2024-11-01"
  }
]

400 Bad Request

Invalid parameters or symbol not found

Response schema

  • error string

    Human-readable error message

Example response

{
  "error": "Error description goes here"
}

403 Forbidden

Feature not available on current plan

Response schema

  • error string

    Human-readable error message

Example response

{
  "error": "Error description goes here"
}