---
title: "Performance data"
method: GET
path: "/api/fund/performance"
tags: ["ETF/MF"]
---

# Performance data

`GET /api/fund/performance`

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

Returns paginated fund performance data from SEC N-CSR (annual/semi-annual shareholder report) filings.
Includes annualized returns (1yr, 5yr, 10yr, since inception), expense ratio, net assets,
portfolio turnover, and holdings count per share class. Most recent periods first.

## Query parameters

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

## Response `200`

Paginated fund performance data

- object
  - `page` integer — Current page number (1-indexed)
  - `pageSize` integer — Results per page
  - `totalPages` integer — Total number of pages
  - `totalResults` integer — Total number of performance records
  - `data` object[]
    - `periodEndDate` string — Reporting period end date (YYYY-MM-DD)
    - `formType` string — SEC form type (N-CSR or N-CSRS)
    - `filedDate` string — SEC filing date (YYYY-MM-DD)
    - `symbol` string, nullable — Share class ticker symbol
    - `shareClassName` string, nullable — Share class name
    - `expenseRatio` number, nullable — Expense ratio (%)
    - `expensesPaid` number, nullable — Expenses paid per $1,000 invested (USD)
    - `advisoryFeesPaid` number, nullable — Advisory fees paid (USD)
    - `netAssets` number, nullable — Net assets / AUM at period end (USD)
    - `return1yr` number, nullable — 1-year annualized return (%)
    - `return5yr` number, nullable — 5-year annualized return (%)
    - `return10yr` number, nullable — 10-year annualized return (%)
    - `returnSinceInception` number, nullable — Annualized return since fund inception (%)
    - `inceptionDate` string, nullable — Fund inception date (YYYY-MM-DD)
    - `portfolioTurnoverRate` number, nullable — Portfolio turnover rate (%)
    - `holdingsCount` integer, nullable — Number of holdings in the portfolio

## 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)
