BYTETOOLS

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.

No API key requiredCORS enabledHTTPSFree tier

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
curl 'https://api.mfapi.in/mf/119551'
JavaScript (fetch)
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);
Python (requests)
import requests

res = requests.get("https://api.mfapi.in/mf/119551", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200 (truncated)
{
  "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

ParameterTypeRequiredDescription
/mf/{schemeCode}pathRequiredAMFI scheme code. Each plan and option — direct, regular, growth, IDCW — has its own code. 119551
/mf/{schemeCode}/latestpathOptionalOnly the most recent NAV, for a lighter response. 119551/latest
/mf/searchpathOptionalSearch schemes by name, taking a `q` parameter.
/mfpathOptionalThe 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

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.