APMI India APIapmiindia.org ↗
Access PMS performance data from APMI India: fund names, AUM, and returns for 1M to Since Inception periods across Equity, Debt, Hybrid, and Multi Asset strategies.
What is the APMI India API?
The APMI India API exposes Portfolio Management Services performance data from the Association of Portfolio Managers in India through a single get_performance endpoint returning up to nine return-period fields per fund — 1M, 3M, 6M, 1Y, 2Y, 3Y, 4Y, 5Y, and Since Inception — alongside provider name, fund name, and AUM in crores. It supports filtering by strategy category and service type, making it straightforward to pull a targeted snapshot of registered PMS offerings for any prior month.
curl -X POST 'https://api.parse.bot/scraper/038f1cab-b0e7-4261-a987-e4f470873dde/get_performance' \
-H 'X-API-Key: $PARSE_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"year": "2026",
"month": "6",
"strategy": "Equity",
"service_type": "Discretionary"
}'Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace apmiindia-org-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
from parse_apis.apmi_india_pms_performance_api import APMI, Fund, Strategy, ServiceType
client = APMI()
# List equity discretionary funds for the latest available month
for fund in client.funds.list(strategy=Strategy.EQUITY, service_type=ServiceType.DISCRETIONARY):
print(fund.provider_name, fund.fund_name, fund.aum_inr_cr, fund.return_1y)
Retrieve PMS Investment Approach wise performance data for a given month. Returns all funds matching the specified strategy and service type with their AUM and returns across 1M, 3M, 6M, 1Y, 2Y, 3Y, 4Y, 5Y, and Since Inception periods. Defaults to the previous month when month/year are omitted. Each record includes the provider name, fund name, AUM in INR crores, and annualized return percentages. The response is a single page containing all matching funds (typically 100–1200 records depending on filters).
| Param | Type | Description |
|---|---|---|
| year | string | 4-digit year for the performance report date (e.g. 2026). Omitting defaults to the year of the previous month relative to current date. |
| month | string | Month number (1-12) for the performance report date. Omitting defaults to the previous month relative to current date. |
| strategy | string | Strategy category filter. |
| service_type | string | Service type filter. |
{
"type": "object",
"fields": {
"records": "array of performance records with provider_name, fund_name, aum_inr_cr, return_1m, return_3m, return_6m, return_1y, return_2y, return_3y, return_4y, return_5y, since_inception",
"strategy": "string — the strategy filter used",
"as_on_date": "string — report date in YYYY-M-DD format",
"service_type": "string — the service type filter used",
"total_records": "integer — number of fund records returned"
},
"sample": {
"data": {
"records": [
{
"fund_name": "ISEC Aggressive Portfolio",
"return_1m": "121.12",
"return_1y": "128.29",
"return_2y": "48.54",
"return_3m": "127.04",
"return_3y": "49.87",
"return_4y": "39.14",
"return_5y": "31.98",
"return_6m": "124.76",
"aum_inr_cr": "0.69",
"provider_name": "ICICI Securities Limited",
"since_inception": "31.65"
}
],
"strategy": "Equity",
"as_on_date": "2026-5-31",
"service_type": "Discretionary",
"total_records": 1177
},
"status": "success"
}
}About the APMI India API
What the API Returns
The get_performance endpoint returns an array of records, each representing one investment approach from a registered APMI member. Each record includes provider_name, fund_name, aum_inr_cr (assets under management in Indian rupees, crores), and nine return fields: return_1m, return_3m, return_6m, return_1y, return_2y, return_3y, return_4y, return_5y, and a Since Inception figure. The response also surfaces as_on_date, strategy, service_type, and total_records for the queried slice.
Filtering and Date Parameters
You can scope results by passing strategy — one of Equity, Debt, Hybrid, or Multi Asset — and service_type, either Discretionary or Non Discretionary. Omitting either filter returns all categories. The year and month parameters (1–12) let you retrieve historical monthly snapshots; omitting both defaults to the most recently completed month relative to the current date. This makes it possible to construct time-series comparisons by iterating over past month/year combinations.
Coverage and Data Source
APMI (Association of Portfolio Managers in India) is the self-regulatory body for SEBI-registered portfolio managers in India. The data reflects the performance disclosure submissions made by member firms, so coverage is limited to SEBI-registered PMS providers who report to APMI. Funds that do not report or have not yet reported for a given period will not appear in results. AUM figures and returns are reported as disclosed by the respective managers.
The APMI India API is a managed, monitored endpoint for apmiindia.org — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when apmiindia.org changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official apmiindia.org API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Benchmark Equity PMS funds by comparing
return_1yandreturn_3yacross all providers for a given month - Track AUM growth for a specific provider over time by querying the same
provider_nameacross successive month/year combinations - Filter Discretionary vs Non Discretionary offerings to show clients a segmented performance table
- Build a screener that surfaces Debt or Hybrid strategies with positive
return_6mand AUM above a threshold - Aggregate
total_recordscounts by strategy and service type to monitor how the PMS industry composition changes month to month - Pull Since Inception returns alongside AUM to rank long-track-record PMS funds for due diligence workflows
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does APMI provide an official developer API for this performance data?+
What does the `get_performance` endpoint return when no strategy or service_type filter is supplied?+
strategy and service_type fields, so you can filter client-side after retrieval. The top-level total_records integer tells you how many records matched.How current is the performance data, and how far back does it go?+
year and month values, but availability depends on what has been published on the APMI site for that period. Very old periods may return empty or partial result sets if APMI has not retained that data in the same format.Does the API return individual portfolio holdings or transaction-level data?+
provider_name, fund_name, aum_inr_cr, and return figures across up to nine time periods. Holdings, transaction history, and portfolio composition are not included. You can fork this API on Parse and revise it to target any additional APMI disclosure pages that expose holding-level data.Can I retrieve performance for a specific fund by name rather than by strategy category?+
fund_name or provider_name in the response array. The API currently supports only the four strategy filters and the two service type filters. You can fork it on Parse and revise the endpoint to add name-based filtering logic.