---
title: "Structural analysis"
method: GET
path: "/api/fund/structure"
tags: ["ETF/MF"]
---

# Structural analysis

`GET /api/fund/structure`

![ETF](https://img.shields.io/badge/ETF-14b8a6) ![Pro](https://img.shields.io/badge/Pro-8b5cf6)

Comprehensive structural analysis of a fund's portfolio over time. Includes sector allocation by quarter (SIC-based), industry breakdown, geographic exposure by quarter, balance sheet trajectory, fund classifications (index/active, diversified), short positions, restricted securities, and multi-currency exposure. Sourced from N-PORT holdings joined with SIC classification data and N-CEN census data. Historical depth depends on subscription tier.

## Query parameters

- `symbol` string
- `cik` integer
- `cusip` string
- `composite_figi` string
- `share_class_figi` string

## Response `200`

Comprehensive structural analysis

- object
  - `sectorsByQuarter` object[] — Sector allocation by quarter (SIC-based)
    - `reportDate` string
    - `sectors` object[]
      - `sector` string
      - `holdingCount` integer
      - `totalValue` number
      - `weight` number — Percentage of mapped portfolio
    - `totalHoldings` integer — Total holdings in the portfolio
    - `mappedHoldings` integer — Holdings successfully mapped to SIC sectors
  - `industries` object[] — Industry breakdown (latest quarter, SIC-based)
    - `industry` string
    - `sic` string
    - `holdingCount` integer
    - `totalValue` number
    - `weight` number
  - `industryGroupsByQuarter` object[] — Industry group allocation by quarter (8 high-value groups derived from SIC codes)
    - `reportDate` string
    - `groups` object[]
      - `id` string — Industry group identifier
      - `label` string — Industry group label
      - `holdingCount` integer
      - `weight` number
  - `countriesByQuarter` object[] — Geographic exposure by quarter
    - `reportDate` string
    - `countries` object[]
      - `country` string — ISO 2-letter country code
      - `holdingCount` integer
      - `weight` number
  - `classifications` object[] — Fund classification from N-CEN (index/active, diversified, in-kind, line of credit)
    - `reportDate` string
    - `isIndexFund` boolean
    - `isNonDiversified` boolean
    - `isInKindEtf` boolean
    - `hasLineOfCredit` boolean
  - `balanceSheet` object[] — Balance sheet trajectory from N-PORT
    - `reportDate` string
    - `totalAssets` number
    - `totalLiabilities` number
    - `netAssets` number
  - `shortPositions` object[] — Short positions in the portfolio (latest quarter)
    - `name` string
    - `ticker` string, nullable
    - `valueUsd` number
    - `weight` number
  - `currencies` object[] — Multi-currency exposure (latest quarter)
    - `currency` string
    - `holdingCount` integer
    - `weight` number

## Other responses

- `400` — Symbol not found or not a fund (ETF or mutual fund)
- `403` — Feature not available on current plan

---

[API](https://skmtc.net/stockfit/apis/stockfit-api.md) · [All operations](https://skmtc.net/stockfit/apis/stockfit-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/stockfit/stockfit-api/revisions/3d5897270d8a/schema)
