AMFI NAV data explained: the NAVAll.txt file and the API
Almost every Indian mutual fund NAV source starts from one public file published by AMFI, the Association of Mutual Funds in India. Here is what is in it, how to read it yourself, and what an API adds.
What the file looks like
AMFI publishes https://portal.amfiindia.com/spages/NAVAll.txt, a semicolon-separated text file updated with each day's NAVs. The first line is a header; after that, heading lines for the scheme category and the fund house are mixed in with the data rows:
Scheme Code;ISIN Div Payout/ ISIN Growth;ISIN Div Reinvestment;Scheme Name;Plan;Option;Net Asset Value;Date Open Ended Schemes(Children's Fund - Childrens' Fund) Axis Mutual Fund 135762;INF846K01WO1;-;Axis Children's Fund;Direct Plan;Growth Option;30.7694;06-Nov-2026
Plan and option are separate columns in this file (Direct or Regular, Growth or IDCW). A dash means the column does not apply. Dates are DD-Mon-YYYY.
Parse it in Python, and compare with the API
Data rows have exactly eight fields and a numeric first field, so heading and blank lines are easy to skip. The script also reads the same scheme from the EJI API to show the two agree.
import os
import requests
# AMFI's public daily file: semicolon separated, with category and fund house heading lines mixed in.
text = requests.get("https://portal.amfiindia.com/spages/NAVAll.txt", timeout=60).text
rows = {}
for line in text.splitlines():
parts = line.strip().split(";")
if len(parts) == 8 and parts[0].isdigit(): # data rows only; headings and blank lines are skipped
code, isin_growth, isin_reinv, name, plan, option, nav, date = parts
rows[code] = (name, plan, option, nav, date)
print(len(rows), "schemes in the AMFI file")
print(rows["122639"])
# The same scheme from the API
r = requests.get(os.environ.get("EJI_BASE", "https://fin.ejiapi.com") + "/api/mf/scheme-code/122639",
headers={"x-api-key": "YOUR_KEY"}, timeout=30)
d = r.json()["data"]
print(d["schemeName"], d["planName"], d["optionName"], d["latestNav"], d["latestNavDate"])14441 schemes in the AMFI file
('Parag Parikh Flexi Cap Fund', 'Direct Plan', 'Growth', '93.9483', '06-Nov-2026')
Parag Parikh Flexi Cap Fund Direct Plan Growth 93.9483 2026-11-06What the file does not give you
- History. The file is only the latest NAV. Past NAVs mean a separate download per scheme and date range from AMFI, or your own stored copies. The API serves full history by scheme code or ISIN.
- Fund house on each row. The fund house is a heading line above its schemes, so you must track it while reading. The API returns
fundHouseon every scheme. - Parsing upkeep. Any change in the file layout is yours to handle. An API keeps a stable JSON shape.
- Holdings and returns. Not in this file at all. See holdings and returns.
If you only need today's NAV for a few funds and are happy to maintain a parser, the AMFI file is free and enough. If you need history, search, holdings or a stable format, use the Mutual Fund API, which is itself built on AMFI's data and refreshes every 6 hours.
Data comes from public disclosures and is for information, not investment advice. Sample outputs were produced on 2026-11-08 and change as new data is published.