Mutual Funds
All mutual fund endpoints are under /api/mf/.
Metadata & Listings
Get All AMCs
Returns all Asset Management Companies.
- Method:
GET - URL:
/api/mf/get_all_amcs - Auth: Required
curl -s https://api.indvested.com/api/mf/get_all_amcs \
-H "x-api-token: YOUR_TOKEN"
[
{ "id": 3, "name": "Axis Mutual Fund" },
{ "id": 5, "name": "HDFC Mutual Fund" }
]
Get All Asset Classes
Returns all asset classes (Equity, Debt, Hybrid, etc.).
- Method:
GET - URL:
/api/mf/get_all_asset_classes - Auth: Required
curl -s https://api.indvested.com/api/mf/get_all_asset_classes \
-H "x-api-token: YOUR_TOKEN"
[
{ "id": 1, "name": "Equity" },
{ "id": 2, "name": "Debt" }
]
Get All Sub-Categories
Returns all asset class sub-categories with their parent class.
- Method:
GET - URL:
/api/mf/get_all_asset_class_sub_category - Auth: Required
curl -s https://api.indvested.com/api/mf/get_all_asset_class_sub_category \
-H "x-api-token: YOUR_TOKEN"
[
{
"id": 1,
"name": "Large Cap",
"assetClassID": 1,
"assetClassName": "Equity"
},
{
"id": 2,
"name": "Mid Cap",
"assetClassID": 1,
"assetClassName": "Equity"
}
]
Get Asset Class & Category Details
Returns asset classes with their nested sub-categories as a hierarchical tree.
- Method:
GET - URL:
/api/mf/get_asset_class_and_category_details - Auth: Required
curl -s https://api.indvested.com/api/mf/get_asset_class_and_category_details \
-H "x-api-token: YOUR_TOKEN"
[
{
"id": 1,
"category": "Equity",
"subCategories": [
{ "id": 1, "subCategory": "Large Cap" },
{ "id": 2, "subCategory": "Mid Cap" }
]
}
]
Get All Mutual Funds
Returns a lite listing of all mutual funds. Pre-computed and cached.
- Method:
GET - URL:
/api/mf/get_all_mutual_funds - Auth: Required
curl -s https://api.indvested.com/api/mf/get_all_mutual_funds \
-H "x-api-token: YOUR_TOKEN"
Returns an array of fund objects with basic fields: id, name, ISINCode, NAV, NAVDate, assetClass, assetClassSubCategory, amc, fundType, fundOption.
Fund Details & NAV
Get Mutual Fund Details
Returns comprehensive pre-computed metrics for a single fund.
- Method:
GET - URL:
/api/mf/get_mutual_fund_details/<fund_id> - Auth: Required
curl -s https://api.indvested.com/api/mf/get_mutual_fund_details/42 \
-H "x-api-token: YOUR_TOKEN"
Response fields:
| Field | Description |
|---|---|
fundID, fundName, ISINCode | Basic fund identification |
amc, assetClass, assetClassSubCategory | Classification |
NAV, NAVDate, TER | Latest NAV, date, and expense ratio |
sipCagrMetricsFromDailyNAVData | SIP CAGR by duration (1Y, 3Y, 5Y, 7Y, 10Y, 12Y, 15Y) |
xirrMetricsFromDailyNAVData | True XIRR by duration |
rollingReturnMetricsFromDailyNAVData | Rolling return summary per duration with meanReturn, sharpeRatio, sortinoRatio, bestReturn, worstReturn, percentOfWindowsWithPositiveReturn |
drawdownMetrics | maxDrawdown, maxDrawdownDurationDays, maxDrawdownRecoveryDays, averageDrawdown, numberOfDrawdowns, calmarRatioByDuration |
benchmarkComparisonMetrics | beta, alpha, upsideCaptureRatio, downsideCaptureRatio vs primary NSE benchmark (equity funds only, null for Debt) |
categoryAverageRollingReturns | Peer category average for comparison |
Duration keys are in months: "12" = 1Y, "36" = 3Y, "60" = 5Y, "84" = 7Y, "120" = 10Y, "144" = 12Y, "180" = 15Y.
Get Mutual Fund NAV
Returns the latest NAV for a specific fund.
- Method:
GET - URL:
/api/mf/get_mutual_fund_nav/<fund_id> - Auth: Required
curl -s https://api.indvested.com/api/mf/get_mutual_fund_nav/42 \
-H "x-api-token: YOUR_TOKEN"
{
"fundID": 42,
"fundName": "Axis Bluechip Fund - Direct Plan - Growth",
"ISINCode": "INF846K01EW2",
"NAV": "58.12",
"NAVDate": "2026-02-06"
}
Get Top Funds
Returns top-performing funds grouped by asset class and sub-category. See Methodology for how top performers are selected.
- Method:
GET - URL:
/api/mf/get_top_funds_by_asset_class_and_category - Auth: Required
curl -s https://api.indvested.com/api/mf/get_top_funds_by_asset_class_and_category \
-H "x-api-token: YOUR_TOKEN"
Analytics & Comparison
Compare Mutual Funds
Side-by-side comparison of 2-10 funds by ISIN code. Returns the full metric set for each fund.
- Method:
POST - URL:
/api/mf/compare_mutual_funds - Auth: Not required
Request body:
| Field | Type | Description |
|---|---|---|
schemeCodes | string[] | ISIN codes to compare (2-10) |
curl -s -X POST https://api.indvested.com/api/mf/compare_mutual_funds \
-H "Content-Type: application/json" \
-d '{"schemeCodes": ["INF846K01EW2", "INF090I01JN4", "INF205K01UV3"]}'
{
"funds": [
{
"id": 42,
"amcName": "Axis AMC",
"fundName": "Axis Bluechip Fund - Direct Growth",
"ISINCode": "INF846K01EW2",
"metaData": { "TER": 0.42, "NAV": 58.23, "NAVDate": "2026-02-24" },
"rollingReturnSummary": {
"12": {
"meanReturn": 13.5,
"sharpeRatio": 0.91,
"sortinoRatio": 1.24,
"percentOfWindowsWithPositiveReturn": 88.5
}
},
"drawdownMetrics": {
"maxDrawdown": -0.31,
"maxDrawdownDurationDays": 412,
"calmarRatioByDuration": { "12": 22.4, "36": 9.1 }
},
"benchmarkComparisonMetrics": {
"benchmarkIndexName": "NIFTY 50",
"metricsByDuration": {
"36": {
"beta": 0.93,
"alpha": 1.8,
"upsideCaptureRatio": 104.2,
"downsideCaptureRatio": 83.1
}
}
}
}
],
"notFoundISINs": []
}
rollingReturnSummaryandsipCagrSummaryare keyed by duration in monthsbenchmarkComparisonMetricsisnullfor Debt fundsnotFoundISINslists any requested ISINs that were not found
Compute Portfolio Return
Compute blended portfolio returns from a weighted combination of funds, compared against NSE index benchmarks.
- Method:
POST - URL:
/api/mf/compute_portfolio_return - Auth: Not required
Request body: JSON object where keys are fund IDs and values are percentage weights. Weights must sum to 100.
curl -s -X POST https://api.indvested.com/api/mf/compute_portfolio_return \
-H "Content-Type: application/json" \
-d '{"42": 60, "85": 40}'
{
"fundDetails": [ ... ],
"blendedReturns": {
"absoluteSipCagr": { "1Y": 12.5, "3Y": 14.2, "5Y": 15.8 },
"rollingReturns": { "1Y": 11.8, "3Y": 13.5, "5Y": 14.9 }
},
"benchmarkReturns": [ ... ]
}
Screen Funds
Filter funds by computed metric thresholds. All parameters are optional and AND-combined. Reads from a pre-built screener index cache, so responses are fast.
- Method:
GET - URL:
/api/mf/screen - Auth: Not required
Query parameters:
| Parameter | Type | Description |
|---|---|---|
subcategory | string | Case-insensitive substring match on sub-category (e.g., large+cap) |
amc | string | Case-insensitive substring match on AMC name |
max_ter | float | Maximum expense ratio |
min_alpha | float | Minimum Jensen’s alpha (longest available duration) |
max_beta | float | Maximum beta vs benchmark |
min_upside_capture | float | Minimum upside capture ratio |
max_downside_capture | float | Maximum downside capture ratio |
min_history_years | int | Minimum years of rolling return data |
min_rolling_return_1y | float | Minimum mean 1-year rolling return |
min_rolling_return_3y | float | Minimum mean 3-year rolling return |
min_rolling_return_5y | float | Minimum mean 5-year rolling return |
sort_by | string | Sort key. One of: alpha, beta, ter, upside_capture, downside_capture, max_drawdown, rolling_return_1y, rolling_return_3y, rolling_return_5y. Default: alpha |
limit | int | Max results (1-100, default 50) |
curl -s "https://api.indvested.com/api/mf/screen?subcategory=large+cap&min_alpha=0&max_beta=1&max_ter=1&min_history_years=5"
{
"totalMatching": 12,
"returned": 12,
"limit": 50,
"sortBy": "alpha",
"funds": [
{
"id": 42,
"ISINCode": "INF209K01YZ5",
"fundName": "Axis Bluechip Fund - Direct Plan - Growth",
"amcName": "Axis",
"assetClassSubCategory": "Large Cap Fund",
"TER": 0.52,
"NAV": 58.12,
"alpha": 3.21,
"beta": 0.87,
"upsideCaptureRatio": 105.2,
"downsideCaptureRatio": 82.1,
"rollingReturnMeanByDuration": { "12": 15.2, "36": 12.8, "60": 11.5 },
"maxDrawdown": -0.35
}
]
}
Funds missing a filtered metric (e.g., Debt funds have no alpha/beta) are excluded when that filter is active.
Fund Overlap
Compare 2-10 equity funds by portfolio holdings overlap. Returns a pairwise overlap matrix, shared holdings, and per-fund summaries.
- Method:
POST - URL:
/api/mf/fund_overlap - Auth: Not required
Request body:
| Field | Type | Description |
|---|---|---|
fundIds | int[] | Fund IDs to compare (2-10) |
Overlap formula: overlap(A, B) = sum of min(weight_A, weight_B) for all shared stock ISINs.
curl -s -X POST https://api.indvested.com/api/mf/fund_overlap \
-H "Content-Type: application/json" \
-d '{"fundIds": [123, 456, 789]}'
{
"reportingDate": "2026-01-31",
"overlapMatrix": {
"123_456": { "overlapPercentage": 34.5, "sharedHoldingsCount": 18 },
"123_789": { "overlapPercentage": 12.1, "sharedHoldingsCount": 8 },
"456_789": { "overlapPercentage": 28.7, "sharedHoldingsCount": 15 }
},
"sharedHoldings": [
{
"stockISIN": "INE002A01018",
"stockName": "Reliance Industries",
"industry": "Petroleum Products",
"fundsHolding": [
{ "fundId": 123, "percentageOfNav": 5.2 },
{ "fundId": 456, "percentageOfNav": 3.8 }
]
}
],
"fundSummaries": {
"123": { "totalHoldings": 45, "uniqueHoldings": 18 },
"456": { "totalHoldings": 52, "uniqueHoldings": 22 }
}
}
Portfolio Overlap
Analyze a portfolio for stock-level concentration. Returns effective stock exposure weighted by your fund allocations, sector breakdown, and concentration metrics.
- Method:
POST - URL:
/api/mf/portfolio_overlap - Auth: Not required
Request body:
| Field | Type | Description |
|---|---|---|
portfolio | array | Array of {fundId, allocationPercentage} objects. Allocations must sum to 100 |
Effective weight per stock: effectiveWeight = sum(fund_allocation % x stock_weight_in_fund % / 100)
curl -s -X POST https://api.indvested.com/api/mf/portfolio_overlap \
-H "Content-Type: application/json" \
-d '{"portfolio": [{"fundId": 123, "allocationPercentage": 40}, {"fundId": 456, "allocationPercentage": 60}]}'
{
"reportingDate": "2026-01-31",
"effectiveStockExposure": [
{
"stockISIN": "INE002A01018",
"stockName": "Reliance Industries",
"effectiveWeight": 8.2,
"contributingFunds": [
{ "fundId": 123, "contribution": 5.1 },
{ "fundId": 456, "contribution": 3.1 }
]
}
],
"concentrationMetrics": {
"top10StockConcentration": 42.5,
"uniqueStocksCount": 87,
"totalStocksCount": 145,
"duplicateStocksCount": 32
},
"sectorExposure": [
{ "sector": "Banks", "effectiveWeight": 18.3 },
{ "sector": "IT - Software", "effectiveWeight": 12.1 }
]
}