MFAPI (Indian Mutual Funds) API
Free Indian mutual fund API with no key: complete daily NAV history for every AMFI scheme code, with fund house, category and ISINs. Tested example and live response.
Endpoint tested and returned HTTP 200 on 2026-08-21
What is the MFAPI (Indian Mutual Funds) API?
MFAPI serves the complete daily NAV history of every Indian mutual fund scheme as a free JSON API with no key. A scheme code returns the fund's metadata plus every published net asset value since inception.
AMFI publishes Indian mutual fund NAVs as a daily text file that is awkward to consume and holds only one day at a time. MFAPI restructures the whole thing: one request by scheme code returns the fund's identity and its full NAV history in a single JSON document, which turns a returns calculation from a scraping project into a single GET.
Two conventions decide whether your numbers are right. NAV values are **strings** with five decimal places, so parse before arithmetic, and dates are `DD-MM-YYYY` — day first, which a US-defaulting parser will silently misread for the first twelve days of any month. The series also skips Indian market holidays entirely rather than repeating the previous value, so a returns calculation must work from the dates present rather than assuming a fixed number of observations per year.
Quick facts
- Base URL
https://api.mfapi.in- Authentication
- No key or registration required.
- Rate limit
- No published limit. NAVs update once per business day after market close.
- Pricing
- Free.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the MFAPI (Indian Mutual Funds) API
Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.
1. Full NAV history for an Indian mutual fund scheme
GET https://api.mfapi.in/mf/119551
curl 'https://api.mfapi.in/mf/119551'const res = await fetch("https://api.mfapi.in/mf/119551");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://api.mfapi.in/mf/119551", timeout=20)
res.raise_for_status()
print(res.json()){
"meta": {
"fund_house": "Aditya Birla Sun Life Mutual Fund",
"scheme_type": "Open Ended Schemes",
"scheme_category": "Debt Scheme - Banking and PSU Fund",
"scheme_code": 119551,
"scheme_name": "Aditya Birla Sun Life Banking & PSU Debt Fund - DIRECT - IDCW",
"isin_growth": "INF209KA12Z1",
"isin_div_reinvestment": "INF209KA13Z9"
},
"data": [
{
"date": "18-08-2026",
"nav": "107.13600"
},
{
"date": "17-08-2026",
"nav": "107.24020"
},
{
"date": "14-08-2026",
"nav": "107.27440"
},
{
"date": "13-08-2026",
"nav": "107.25640"
},
{
"date": "12-08-2026",
"nav": "107.20260"
},
{
"date": "11-08-2026",
"nav": "107.17660"
},
{
"date": "10-08-2026",
"nav": "107.19580"
},
{
"date": "07-08-2026",
"nav": "107.09710"
},
{
"date": "06-08-2026",
"nav": "107.08340"
},
{
"date": "05-08-2026",
"nav": "107.01670"
},
{
"date": "04-08-2026",
"nav": "106.93270"
},
{
"date": "03-08-2026",
"nav": "106.89830"
},
{
"date": "31-07-2026",
"nav": "106.83770"
},
{
"date": "30-07-2026",
"nav": "106.78420"
},
{
"date": "29-07-2026",
"nav": "106.83570"
},
{
"date": "28-07-2026",
"nav": "106.86110"
},
{
"date": "27-07-2026",
"nav": "106.81260"
},
{
"date": "24-07-2026",
"nav": "106.59610"
},
{
"date": "23-07-2026",Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
/mf/{schemeCode} | path | Required | AMFI scheme code. Each plan and option — direct, regular, growth, IDCW — has its own code. 119551 |
/mf/{schemeCode}/latest | path | Optional | Only the most recent NAV, for a lighter response. 119551/latest |
/mf/search | path | Optional | Search schemes by name, taking a `q` parameter. |
/mf | path | Optional | The complete list of scheme codes and names. |
Response fields
meta.scheme_codeinteger- AMFI scheme code, echoing your request.
meta.scheme_namestring- Full scheme name including plan and option, which is how you tell direct from regular.
meta.fund_housestring- Asset management company running the scheme.
meta.scheme_type / scheme_categorystring- Open or closed ended, and the SEBI category such as a debt or equity sub-category.
meta.isin_growth / isin_div_reinvestmentstring- ISINs for the growth and dividend reinvestment options.
data[].datestring- NAV date as `DD-MM-YYYY` — day first.
data[].navstring- Net asset value as a string with five decimals. Parse before arithmetic.
statusstring- `SUCCESS` when the scheme code resolved.
What you can build with the MFAPI (Indian Mutual Funds) API
- Chart a mutual fund's NAV history since inception
- Compute returns over an arbitrary period from the raw NAV series
- Match a fund to its ISIN for reconciliation with a broker statement
- Search scheme codes by name to build a fund picker
Common errors and how to fix them
Dates in the wrong order
`DD-MM-YYYY` was parsed as month-first.
Fix: Split on the hyphen and reorder explicitly. The bug is invisible after the twelfth of a month, which is why it survives testing.
404 or empty data
The scheme code does not exist.
Fix: Every plan and option has its own code. Use the search endpoint rather than guessing.
Gaps in the series
Indian market holidays produce no NAV.
Fix: The series is trading days only. Work from the dates present rather than assuming a fixed count per year.
String arithmetic errors
`nav` is a string.
Fix: Parse to a decimal type. The five-decimal precision is meaningful for debt funds and should not be truncated.
MFAPI (Indian Mutual Funds) API — frequently asked questions
Is the Indian mutual fund NAV API free?
Yes. MFAPI needs no key or registration and returns the complete published NAV history for any AMFI scheme code.
How do I find a scheme code?
Use the search endpoint with a fund name, or fetch the full scheme list. Direct and regular plans, and growth and IDCW options, each carry a distinct code — check the full scheme name before assuming you have the right one.
Why are NAV values strings?
To preserve exact decimal precision. Indian NAVs are published to five decimal places and float parsing can introduce rounding, so parse with a decimal type where that precision matters.
Does the history cover the whole life of the fund?
Yes, back to the scheme's inception, on trading days only. Indian market holidays produce no observation rather than a repeated value.
Tools that pair with this API
CAGR Calculator
Calculate the compound annual growth rate (CAGR) from a beginning value, ending value and number of years. See the formula and total growth. Free tool.
Percentage Change Calculator
Work out the percentage increase or decrease between an old and a new value. See the absolute change and whether it went up or down, instantly and privately.
ROI Calculator
Calculate return on investment, net profit and annualized ROI from the amount invested and returned. Compare investments over any holding period.
MFAPI (Indian Mutual Funds) is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.