Skip to content

title: Data source registry (MF data first) status: seeded 19 Oct by MMDEP-PM from the API repo's docs/architecture/MF-DATA-MAP.md and AMFI's site; owner: API/MM-Cron agent (keeps it current); every planning item that needs external data cites a row here date: 2026-10-19


Data source registry

Rule (Atul, 19 Oct): no data feature is planned until its source is a row here, with a verified URL, format, cadence, collector and destination. Unknowns are written as UNKNOWN or UNVERIFIED, never guessed.

ID Source URL Gives Format / access Cadence Collector (repo:path) Destination Status
S1 AMFI factsheet index https://www.amfiindia.com/online-center/download-factsheets List of every AMC ("Download Monthly MF Factsheets"), each leading to that AMC's monthly factsheet Client-rendered web page; the link targets per AMC are UNVERIFIED (could be AMC sites or AMFI-hosted files) Monthly none yet Factsheet parsers (plan: docs/plans/local-harness-parallel.md §3) Found 19 Oct: 51 AMCs; links open only on click (no hrefs in the HTML); task #64
S2 AMFI NAV history https://portal.amfiindia.com/DownloadNAVHistoryReport_Po.aspx (date range built by code); UI https://www.amfiindia.com/net-asset-value/nav-history Historical scheme NAVs Portal download Daily mm-crons:lambda/navdata API /save-nav → mm_data.funds_nav In use; deployed writer UNKNOWN
S3 AMFI NAV history (original format) https://portal.amfiindia.com/DownloadNavHistoryOriginal_Po.aspx Legacy NAV format Portal download — mm-crons:lambda/navdata — Active use UNKNOWN
S4 AMFI current NAV snapshot https://www.amfiindia.com/spages/NAVAll.txt Today's NAVs and scheme labels Text file Daily referenced in mftoolsutils/const.json — Consumer UNKNOWN
S5 AMFI scheme master https://portal.amfiindia.com/DownloadSchemeData_Po.aspx?mf=0 Scheme code, name, AMC/category fields Portal download Periodic mm-crons:lambda/parsedata/cliAum.py -m scheme mm_data.scheme_data; moneymarche_www.mm_product, mm_product_fund_details In use
S6 AMFI average AUM https://www.amfiindia.com/aum-data/average-aum; API https://www.amfiindia.com/api/average-aum-fundwise and average-aum-schemewise AMC-wise and scheme-wise average AUM JSON / Excel API Quarterly cliAum.py -m aum → AUMData.py mm_data.mm_funds_aum In use; period IDs are response-driven
S7 AMFI TER https://www.amfiindia.com/ter-of-mf-schemes; API https://www.amfiindia.com/api/populate-te-rdata-revised Total expense ratio by scheme Excel API Monthly cliAum.py -m ter → TERParse.py (two parser generations) to verify Destination to verify
S8 AMFI scheme performance https://www.amfiindia.com/research-information/other-data/mf-scheme-performance-details Published returns and benchmark fields Web/API Periodic cliAum.py -m fund-performance mm_data.mm_funds_performance In use
S9 AMFI NFO https://www.amfiindia.com/new-fund-offer NFO announcements Web Daily NFO scraper reads AMC sites; direct AMFI use UNKNOWN mm_data.mm_nfo_list Partly known
S10 AMFI category taxonomy (dated snapshot) lambda/parsedata/files/master/category_codes.csv Category names and IDs CSV snapshot On change — catalogue Legacy; not the full current tree
S11 Portfolio holdings (AdvisorKhoj) UNKNOWN Scheme portfolios UNKNOWN Monthly MM-Cron portfolio ingestion mm_data.mm_portfolio, mm_portfolio_items Per API README; to document
S12 Index NAVs (NSE indices) UNKNOWN Index values for benchmarks UNKNOWN Daily MM-Cron mm_data.nifty_index To document

Next (API/MM-Cron agent, sprint 1): 1. Verify S1's link target for every AMC: AMC name, link, whether it's a direct PDF, and file naming. Commit the list as data/amfi-factsheet-links-YYYY-MM.csv in the factsheet parsers repo, or in mm-crons until that repo exists. 2. Fill in S11 and S12, and every UNKNOWN above. 3. Add each new source here before planning work on it.