Top Holdings
Retrieve the top holdings and their allocations for a specific mutual fund across multiple periods.
GET/3.0/funds/top-holdings
Description
This endpoint returns the top holdings of a mutual fund with their percentage allocations over multiple periods. It provides historical data showing how the fund's portfolio composition has changed over time.
Request
Authentication
- Type: Bearer Token
- Required: Yes
Parameters
| Name | Type | Required | Description | Example |
|---|---|---|---|---|
fund_id | string | Yes | The unique identifier of the mutual fund. | 4BFD |
Response
Success Response (200)
{
"status": "ok",
"message": "",
"data": {
"fund_id": "4BFD",
"created": "2022-05-18T06:08:53.634Z",
"modified": "2022-09-06T10:30:38.148Z",
"frequency": "quarterly",
"periods": [
{
"id": "",
"label": "Jul 2022",
"date": "2022-07-31"
},
{
"id": "",
"label": "Jun 2022",
"date": "2022-06-30"
},
{
"id": "",
"label": "May 2022",
"date": "2022-05-31"
}
],
"rows": [
{
"key": null,
"percent": true,
"label": "MARI",
"unit": "",
"heading": false,
"values": [
8.28,
8.38,
0
]
},
{
"key": null,
"percent": true,
"label": "UBL",
"unit": "",
"heading": false,
"values": [
7.27,
7.35,
0
]
}
]
}
}
Response Fields
| Field | Type | Description |
|---|---|---|
fund_id | string | Fund identifier |
created | string | Data creation timestamp (ISO 8601 format) |
modified | string | Last modification timestamp (ISO 8601 format) |
frequency | string | Reporting frequency (e.g., "quarterly") |
periods | array | Array of time periods with holdings data - View |
rows | array | Array of holding records - View |
Period Fields (periods[])
| Field | Type | Description |
|---|---|---|
id | string | Period identifier |
label | string | Human-readable period label (e.g., "Jul 2022") |
date | string | Period end date (YYYY-MM-DD) |
Row Fields (rows[])
| Field | Type | Description |
|---|---|---|
key | string | Holding key identifier (null if not applicable) |
percent | boolean | Whether values represent percentages |
label | string | Security name/symbol (e.g., "MARI", "UBL") |
unit | string | Unit of measurement (empty for percentages) |
heading | boolean | Whether this is a heading row |
values | array | Array of allocation values for each period (percentage or 0 if not held) |
Error Responses
For detailed Common Error responses, see the Error Handling.
No Fund ID Provided (200)
{
"status": "error",
"message": "No `fund_id` specified"
}
Examples
Get Fund Top Holdings Data
curl -X GET "https://csapis.com/3.0/funds/top-holdings?fund_id=4BFD" \
-H "Authorization: Bearer YOUR_API_TOKEN"
Use Cases
- Portfolio Composition Analysis: Understand the fund's top holdings and their weightings
- Historical Tracking: Monitor changes in fund allocations over multiple periods
- Investment Research: Compare holding strategies across different mutual funds
- Risk Analysis: Identify key positions and concentration risks
- Rebalancing Decisions: Track how portfolio weights have changed over time