---
title: "Get a fund's holdings"
method: GET
path: "/v1/fund/holdings"
tags: ["Funds"]
---

# Get a fund's holdings

`GET /v1/fund/holdings`

## Request

- Base URL: `https://api.fiscal.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.fiscal.ai/v1/fund/holdings`
- Auth: API key in query parameter `apiKey`

A fund's latest holdings. `summary` has the holdings date and breakdowns by asset category, currency, GICS sector, fixed-income sector and country, by value (`allocation`) and by exposure (`exposures`). `data` lists the positions largest first, by the size of `exposureWeight`, else of `weight`, a short position by its size like a long one; positions with neither come last. Every row carries every field, null where the position states nothing. Takes the same identifiers as `/v1/fund/profile`.

## Query parameters

- `apiKey` string: API Key (alternatively send via X-Api-Key header)
- `ticker` string: Share-class ticker. A ticker funds on different exchanges share resolves to the fund still offered, then the US one; add `exchange` or `micCode` for another exchange's
- `exchange` string: Exchange code the ticker trades on, as the company endpoints name it (`NYSEARCA`, `NASDAQ`, `XCBO`, `TSX`); use with `ticker`
- `micCode` string: MIC of the exchange the ticker trades on, operating or segment (`XNYS` or `ARCX` for NYSE Arca, `XTSE`); use with `ticker`
- `fscl` string: Fiscal.ai fund (FSCLF…) or share-class (FSCLK…) identifier
- `cusip` string: Requires CUSIP/ISIN license. Share-class CUSIP
- `isin` string: Requires CUSIP/ISIN license. Share-class ISIN
- `secSeriesId` string: SEC series id (S000…)
- `secClassId` string: SEC class id (C000…)
- `cik` string: CIK of a single-fund registrant, zero-padded or not
- `pageNumber` number: Page number (1-indexed)
- `pageSize` number: Rows per page: default 1000, at most 1000

## Response `200`

Fund holdings page

- object
  - `pagination` object, required
    - `page` number, required: Current page number
    - `pageSize` number, required: Number of items per page
    - `totalCount` number, required: Total number of positions
    - `totalPages` number, required: Total number of pages
    - `hasNextPage` boolean, required: Whether there is a next page
    - `hasPreviousPage` boolean, required: Whether there is a previous page
  - `fundFiscalIdentifier` string, required: Fiscal.ai identifier of the fund whose holdings these are.
  - `summary` object, required
    - `asOf` string, required: Date of the holdings.
    - `positionCount` number, required: Total positions held.
    - `exposures` object, required: Exposure: each derivative at its exposure under what it is on (else `derivatives`), financed in `cash`, or at its weight under `derivatives` if unmeasured. A currency forward moves only `instrumentCurrency`. A 3x equity fund: `equity` near 3, `cash` near -2.
      - `assetCategory` object[], required
        - `assetCategory` string, nullable, required: The `assetCategory` the bucket's positions have in `data`. The null bucket holds positions whose class is not determined. A derivative is placed as `exposures` describes.
        - `weight` number, nullable, required: The bucket's exposure over net assets: positions at `weight`, derivatives at `exposureWeight` with the difference in cash, and a derivative with no `exposureWeight`, such as an option, at its `weight`. Buckets sum to total weight (`fixedIncomeSector`'s to `fixed_income`'s).
        - `longWeight` number, nullable, required: The bucket's positive exposures summed: its long exposure, 0 or more. Null exactly when `weight` is; `longWeight` + `shortWeight` = `weight` to within rounding.
        - `shortWeight` number, nullable, required: The bucket's negative exposures summed: its short exposure, 0 or less. Null exactly when `weight` is; `longWeight` + `shortWeight` = `weight` to within rounding.
      - `instrumentCurrency` object[], required
        - `instrumentCurrency` string, nullable, required: The `instrumentCurrency` the bucket's positions have in `data`. The null bucket holds the positions whose instrument currency is not determined. A derivative is placed as `exposures` describes.
        - `weight` number, nullable, required: The bucket's exposure over net assets: positions at `weight`, derivatives at `exposureWeight` with the difference in cash, and a derivative with no `exposureWeight`, such as an option, at its `weight`. Buckets sum to total weight (`fixedIncomeSector`'s to `fixed_income`'s).
      - `sector` object[], required
        - `sector` string, nullable, required: The `sector` its positions have in `data`; derivatives moving with the fund take its underlier's mix, or a leveraged or inverse fund's stocks' mix. The null bucket holds positions with no GICS sector: government debt, cash, other derivatives, held funds.
        - `weight` number, nullable, required: The bucket's exposure over net assets: positions at `weight`, derivatives at `exposureWeight` with the difference in cash, and a derivative with no `exposureWeight`, such as an option, at its `weight`. Buckets sum to total weight (`fixedIncomeSector`'s to `fixed_income`'s).
      - `fixedIncomeSector` object[], required
        - `fixedIncomeSector` string, nullable, required: The `fixedIncomeSector` the bucket's positions have in `data`. Only `fixed_income` positions are counted, so the buckets add up to that asset category's. The null bucket holds the bonds whose sector is not determined.
        - `weight` number, nullable, required: The bucket's exposure over net assets: positions at `weight`, derivatives at `exposureWeight` with the difference in cash, and a derivative with no `exposureWeight`, such as an option, at its `weight`. Buckets sum to total weight (`fixedIncomeSector`'s to `fixed_income`'s).
      - `countryCode` object[], required
        - `countryCode` string, nullable, required: The `countryCode` its positions have in `data`; derivatives moving with the fund take its underlier's mix, or a leveraged or inverse fund's stocks' mix. The null bucket holds positions with no country: other derivatives, cash, held funds.
        - `weight` number, nullable, required: The bucket's exposure over net assets: positions at `weight`, derivatives at `exposureWeight` with the difference in cash, and a derivative with no `exposureWeight`, such as an option, at its `weight`. Buckets sum to total weight (`fixedIncomeSector`'s to `fixed_income`'s).
    - `allocation` object, required: The holdings by value (`weight`), over the same dimensions as `exposures`; a bucket can appear in only one. A derivative counts here at its value, under `derivatives`; in `exposures` at its exposure, when measured, under what it is on.
      - `assetCategory` object[], required
        - `assetCategory` string, nullable, required: The `assetCategory` the bucket's positions have in `data`. The null bucket holds positions whose class is not determined.
        - `weight` number, nullable, required: Summed `weight` of the bucket's positions. A dimension's buckets add up to the fund's total weight (`fixedIncomeSector`'s to its bonds' weight), never normalised; a bucket that rounds to 0 is left out.
        - `longWeight` number, nullable, required: The bucket's positive `weight` summed: what the fund holds, 0 or more. Null exactly when `weight` is; `longWeight` + `shortWeight` = `weight` to within rounding.
        - `shortWeight` number, nullable, required: The bucket's negative `weight` summed, 0 or less: short positions and liabilities, such as overdrafts, loans and derivatives at a loss. Null exactly when `weight` is; `longWeight` + `shortWeight` = `weight` to within rounding.
      - `instrumentCurrency` object[], required
        - `instrumentCurrency` string, nullable, required: The `instrumentCurrency` the bucket's positions have in `data`. The null bucket holds the positions whose instrument currency is not determined.
        - `weight` number, nullable, required: Summed `weight` of the bucket's positions. A dimension's buckets add up to the fund's total weight (`fixedIncomeSector`'s to its bonds' weight), never normalised; a bucket that rounds to 0 is left out.
      - `sector` object[], required
        - `sector` string, nullable, required: The `sector` its positions have in `data`; derivatives moving with the fund take its underlier's mix, or a leveraged or inverse fund's stocks' mix. The null bucket holds positions with no GICS sector: government debt, cash, other derivatives, held funds.
        - `weight` number, nullable, required: Summed `weight` of the bucket's positions. A dimension's buckets add up to the fund's total weight (`fixedIncomeSector`'s to its bonds' weight), never normalised; a bucket that rounds to 0 is left out.
      - `fixedIncomeSector` object[], required
        - `fixedIncomeSector` string, nullable, required: The `fixedIncomeSector` the bucket's positions have in `data`. Only `fixed_income` positions are counted, so the buckets add up to that asset category's. The null bucket holds the bonds whose sector is not determined.
        - `weight` number, nullable, required: Summed `weight` of the bucket's positions. A dimension's buckets add up to the fund's total weight (`fixedIncomeSector`'s to its bonds' weight), never normalised; a bucket that rounds to 0 is left out.
      - `countryCode` object[], required
        - `countryCode` string, nullable, required: The `countryCode` its positions have in `data`; derivatives moving with the fund take its underlier's mix, or a leveraged or inverse fund's stocks' mix. The null bucket holds positions with no country: other derivatives, cash, held funds.
        - `weight` number, nullable, required: Summed `weight` of the bucket's positions. A dimension's buckets add up to the fund's total weight (`fixedIncomeSector`'s to its bonds' weight), never normalised; a bucket that rounds to 0 is left out.
  - `data` object[], required: The positions, largest first.
    - `assetCategory` 'equity' | 'fixed_income' | 'derivatives' | 'commodities' | 'digital_assets' | 'cash' | 'fund' | 'net_other_assets' | 'null', nullable, required: The position's asset class. `net_other_assets` is a balancing line ("Other assets less liabilities"), the rest of net assets, negative where the fund owes more. A repurchase agreement is `cash`. Null where the class is not determined. Values may be added.
    - `derivativeType` 'future' | 'forward' | 'swap' | 'option' | 'swaption' | 'warrant' | 'structured_note' | 'null', nullable, required: A derivative's contract kind: `future`, `forward`, `swap`, `option`, `swaption`, `warrant` or `structured_note`, as its filing declares or its holdings file describes. Null on positions that are not `derivatives`, and for any other kind.
    - `underlyingAssetClass` 'equity' | 'fixed_income' | 'commodities' | 'cash' | 'digital_assets' | 'null', nullable, required: The `assetCategory` of what a derivative is on, where `summary.exposures` counts a measured exposure: an interest-rate or credit contract `fixed_income`, a currency contract `cash`. Null on non-`derivatives` positions, and where what it is on is none of these.
    - `securityName` string, nullable, required: The security's name: our company or fund name where the API identifies it, else the name the filing or sponsor printed. Null when an identified company or fund is outside the API's coverage, or the filing prints no name.
    - `security` object, nullable, required: The exact listed security the position resolved to; null on a position that matched none.
      - `companyFiscalIdentifier` string, required
      - `securityFiscalIdentifier` string, required
      - `companyKey` string, nullable, required: The company's key in the company endpoints (`exchangeCode_ticker` of its primary listing); null when the company is outside their coverage.
      - `displayNameEnglish` string, nullable, required: The company's name; null when the company is outside the company endpoints' coverage.
      - `ticker` string, nullable, required: Ticker of the line the fund holds: its share class and exchange, which need not be the company's primary listing (a Toronto company's New York line). Null when not known.
      - `exchangeCode` string, nullable, required: Exchange of that line, as the company endpoints name it; null when not known.
    - `issuer` object, nullable, required: The company behind the position, where the company endpoints cover it: a bond's issuer, a derivative's reference entity, or the company itself for a share. Null when the position names no company or one outside their coverage.
      - `companyFiscalIdentifier` string, required
      - `companyKey` string, nullable, required: The company's key in the company endpoints (`exchangeCode_ticker` of its primary listing).
      - `displayNameEnglish` string, nullable, required
    - `fund` object, nullable, required: The fund security (share class) the position resolved to, including a money-market holding; null on a position that matched none.
      - `fundFiscalIdentifier` string, required
      - `securityFiscalIdentifier` string, required
      - `ticker` string, nullable, required: Ticker of the held share class; null when it has none or the funds list does not include it.
      - `displayNameEnglish` string, nullable, required: The held fund's name; null when the funds list does not include it.
      - `assetClass` 'equity' | 'fixed_income' | 'commodities' | 'digital_assets' | 'multi_asset' | 'alternatives' | 'money_market' | 'null', nullable, required: The held fund's asset class, from the funds list; null when it has none. Values may be added.
      - `category` string, nullable, required: The held fund's category code, as the fund profile serves it.
    - `cusip` string, nullable: CUSIP of the matched security or held share class, else as the filing or sponsor printed it; null when neither has one. Only returned with the CUSIP/ISIN license.
    - `isin` string, nullable: ISIN of the matched security or held share class, else as the filing or sponsor printed it; null when neither has one. Only returned with the CUSIP/ISIN license.
    - `sector` 'Communication Services' | 'Consumer Discretionary' | 'Consumer Staples' | 'Energy' | 'Financials' | 'Health Care' | 'Industrials' | 'Information Technology' | 'Materials' | 'Real Estate' | 'Utilities' | 'null', nullable, required: The GICS sector of the company behind the position, as the company endpoints' `sector`: a share's company, a corporate bond's issuer. Null where GICS does not apply (government debt, cash, derivatives, held funds) or the sector is not determined.
    - `fixedIncomeSector` 'corporate' | 'government' | 'government_agency' | 'supranational' | 'municipal' | 'provincial' | 'securitized' | 'null', nullable, required: A bond's issuer class: `government`, `government_agency`, `supranational`, `municipal`, `provincial`, `corporate` or `securitized`. Null on every position that is not `fixed_income`, and on a bond whose class is not determined.
    - `countryCode` string, nullable, required: The issuer's headquarters country (ISO 3166-1 alpha-2), or a linked company's own. A financing vehicle or captive takes its parent's, government debt the government's, a securitized position its pool's. Null for cash, derivatives, commodities and digital assets, and when undetermined.
    - `value` number, nullable, required: Market value in `currency`: as printed, else quantity times our closing price. On a filing's "Other assets less liabilities" line, net assets less the listed positions. Null when not available.
    - `weight` number, nullable, required: The position's value as a fraction of the fund's net assets on the holdings' date (0.0691 = 6.91%), or the sponsor's printed weight. Negative for short positions and liabilities; null when no weight can be given. `summary.allocation` sums this field.
    - `exposureWeight` number, nullable, required: Exposure as a fraction of net assets: the value for stocks and bonds, the notional for futures, swaps and currency forwards. Null for options, balancing lines and own-currency cash outside money market funds, or when none is stated.
    - `currency` string, nullable, required: Currency of `value`; also of `balance` when `balanceUnit` is `principal` and no `instrumentCurrency` is stated.
    - `instrumentCurrency` string, nullable, required: The instrument's currency (`GBP` for pence-quoted shares): as the sponsor, filings or our data state it, read from the holding's description ("Euro", a ticker "AUD"), USD in a US money market fund, or the portfolio's only currency. Null when undetermined.
    - `balance` number, nullable, required: Quantity held, in `balanceUnit` units. Null where the position states none, or states one in a unit this API does not name.
    - `balanceUnit` 'shares' | 'principal' | 'contracts' | 'troy_oz' | 'coins' | 'units' | 'null', nullable, required: Unit of `balance`, null exactly when `balance` is. `principal` is a face amount — a bond's par, a cash line's amount — denominated in `instrumentCurrency` where the position states one, else in `currency`.
    - `maturityDate` string, nullable, required: Maturity or expiration date, as disclosed — by the sponsor, or, where its file states none, on a US fund's fixed-income position, by the fund's own regulatory filing (N-PORT, or N-MFP for a money market fund) for the same security.
    - `couponRate` number, nullable, required: Coupon rate as a decimal fraction (0.0425 = 4.25%), as disclosed.
    - `notionalValue` number, nullable, required: Notional in `notionalCurrency`: a future's or swap's contract amount, an option's face (not delta-adjusted), or a currency forward's dollar leg. Its sign is as filed, which sources set differently; `exposureWeight` gives the direction. Null when unstated or equal to `value`.
    - `notionalCurrency` string, nullable, required: Currency of `notionalValue`, null exactly when it is. Usually equals `currency`; when it differs, `exposureWeight` restates the notional in `currency` at the exchange rate of the holdings' date, and is null where no rate is available.

## Other responses

- `400`: Bad Request
- `403`: Forbidden
- `404`: Not Found

## Changes

- **2026-10-30** `85026fdfc8b8`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/fiscal/apis/fiscal-api/changes/v1/fund/holdings/get.md)

---

[API](https://skmtc.dev/fiscal/apis/fiscal-api.md) - [All operations](https://skmtc.dev/fiscal/apis/fiscal-api/llms.txt) - [OpenAPI document](https://skmtc.dev/fiscal/apis/fiscal-api/revisions/85026fdfc8b8?raw)
