MFCentral APImfcentral.com ↗
Access MFCentral data via API: AMC listings, fund categories, 6000+ scheme details, NAV history, sector allocations, and searchable fund names.
What is the MFCentral API?
The MFCentral API exposes 6 endpoints covering the full mutual fund discovery workflow available on mfcentral.com — from listing all registered AMCs via get_all_fund_houses to pulling NAV history, sector-wise allocations, and company-level holdings for any individual scheme. It covers 6000+ searchable schemes across equity, debt, hybrid, and other categories, with filtering by AMC code, plan type, and category.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/d7d61a3f-7a4f-4d04-8bd1-08e2d5ea4787/get_all_fund_houses' \ -H 'X-API-Key: $PARSE_API_KEY'
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 mfcentral-com-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.
"""Walkthrough: MFCentral SDK — explore, search, and inspect mutual fund schemes."""
from parse_apis.mfcentral_public_fund_api import MFCentral, Category, Plan, NotFoundError
client = MFCentral()
# Explore equity direct schemes — limit= caps TOTAL items fetched
for scheme in client.schemes.explore(category=Category.EQUITY, plan=Plan.DIRECT, limit=5):
print(scheme.scheme_name, scheme.nav, scheme.aum)
# Search for a specific fund by name, take the first result
result = client.schemes.search(query="Mirae", limit=1).first()
if result:
print(result.isin_code, result.scheme_name, result.fund_manager)
# Drill into scheme details via the constructible pattern
detail = client.scheme("INF769K01KK8").details()
print(detail.scheme_master.scheme_name, detail.scheme_master.nav)
for holding in detail.companies[:3]:
print(holding.company_full_name, holding.asset_percentage)
# List fund categories with their subcategories
for cat in client.fundcategories.list(limit=3):
print(cat.category_name, cat.category_id)
# List all fund houses
for house in client.fundhouses.list(limit=5):
print(house.amc_code, house.amc_name, house.rta_code)
# Typed error handling
try:
bad_detail = client.scheme("INVALID_ISIN").details()
except NotFoundError as exc:
print(f"Scheme not found: {exc}")
print("exercised: schemes.explore / schemes.search / scheme.details / fundcategories.list / fundhouses.list")
Retrieve all mutual fund houses (AMCs) listed on MFCentral. Returns a list of all registered Asset Management Companies with their codes, names, RTA codes, and website URLs.
No input parameters required.
{
"type": "object",
"fields": {
"fund_houses": "array of AMC objects with amc_code, amc_name, rta_code, last_updated_date_time, and if_url"
},
"sample": {
"data": {
"fund_houses": [
{
"if_url": "https://mf.whiteoakamc.com/",
"amc_code": "Y",
"amc_name": "WhiteOak Capital Mutual Fund",
"rta_code": "CAMS",
"last_updated_date_time": "2021-06-22 0:00:00"
},
{
"if_url": "https://www.kotakmf.com/",
"amc_code": "K",
"amc_name": "Kotak Mahindra Mutual Fund",
"rta_code": "CAMS",
"last_updated_date_time": "2021-06-22 0:00:00"
}
]
},
"status": "success"
}
}About the MFCentral API
Fund Houses and Categories
get_all_fund_houses returns every registered Asset Management Company on the platform, including amc_code, amc_name, rta_code, and the AMC's website URL (if_url). get_fund_categories complements this by returning top-level categories (Equity, Debt, Hybrid, Other) with their subcategories, along with amcDetails, fundSizes, and risk category arrays — useful for building filter UIs or populating dropdowns before querying schemes.
Scheme Exploration and Search
explore_mutual_funds lists schemes with pagination via limit and offset parameters. Each scheme object includes isinCode, schemeName, amcName, nav, returns, schemeCategory, plan, aum, and fundManager. You can narrow results by passing amc_code (e.g., '327' for Mirae Asset), category (e.g., 'Equity'), or plan ('Direct' or 'Regular'). The total field in the response tells you how many schemes match before pagination. search_mutual_fund_scheme performs a case-insensitive substring match on scheme names across the same 6000+ scheme corpus — pass a query like 'Nifty' or 'HDFC' and get back a count plus matching scheme objects.
Scheme Details and FAQs
get_fund_details accepts a 12-character ISIN starting with 'INF' and returns a detailed data object containing schemeMaster (scheme metadata and return figures), navData (an array of timestamp-NAV pairs for historical charting), sectors (sector-wise allocation), company-level holdings, and SIP/SWP/STP option details along with available sub-plans. get_faqs returns the MFCentral help center FAQ content, grouped into categories such as General, Signup & Signin, Service Requests, and Portfolio & CAS — each category maps to an array of question-answer objects.
The MFCentral API is a managed, monitored endpoint for mfcentral.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when mfcentral.com 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 mfcentral.com 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?+
- Build a mutual fund screener filtered by AMC, category, and plan type using
explore_mutual_fundsfields likeaum,returns, andschemeCategory. - Plot NAV history charts for any scheme by consuming the
navDatatimestamp-NAV pairs fromget_fund_details. - Populate an AMC selector dropdown from
get_all_fund_housesand use the returnedamc_codevalues as filter inputs. - Display sector allocation and top company holdings for a fund detail page using the
sectorsand holdings data fromget_fund_details. - Search for schemes by name keyword (e.g., 'Nifty 50') using
search_mutual_fund_schemeto power autocomplete or fund lookup features. - Show available SIP, SWP, and STP options alongside sub-plan details for any scheme identified by ISIN.
- Aggregate fund manager information across schemes by scanning the
fundManagerfield returned inexplore_mutual_fundsresults.
| 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 MFCentral have an official developer API?+
What does `get_fund_details` return beyond basic NAV?+
get_fund_details returns a data object containing schemeMaster (scheme metadata and multi-period return figures), navData (an array of historical timestamp-NAV pairs), sector-wise allocation in sectors, company-level holdings, SIP/SWP/STP eligibility details, and available sub-plans. You must supply a valid 12-character ISIN starting with 'INF'.How does pagination work in `explore_mutual_funds`?+
limit to control how many schemes are returned per request and offset to skip a given number of results. The response always includes a total field showing the full count of schemes matching your filters, so you can calculate how many pages remain.Does the API expose transaction or portfolio data for individual investors?+
Can I filter schemes by risk level or fund size?+
explore_mutual_funds supports filtering by amc_code, category, and plan — but not directly by risk level or fund size range. get_fund_categories does return fundSizes and risk category metadata that you can use client-side for post-filter grouping. You can fork this API on Parse and revise it to add server-side risk and fund-size filter parameters.