{"generated_at":"2026-10-04T18:40:25Z","total_rows":37506898,"docs":"https://www.tigzig.com/apis/mf-nav","license":"CC0 1.0 - to the extent this service holds any rights in the compilation (the assembly, the schema and the derived fields), they are released into the public domain. No attribution required.","license_url":"https://creativecommons.org/publicdomain/zero/1.0/","data_source":"The underlying NAV data is published by AMFI as public records. This service reformats and republishes it, is not an authoritative source, and is not affiliated with, endorsed by, or sponsored by AMFI. No rights in the NAV data itself are claimed here, and none are granted. Refer to AMFI's own terms and conditions before relying on it.","disclaimer":"Provided as is. No guarantee of accuracy, completeness or availability, and no support commitment. Check against AMFI for anything that matters.","terms":"https://api.tigzig.com/mf/v1/terms","files":{"amfi_nav_master.csv.gz":{"format":"csv.gz","size_bytes":230792755,"size_human":"220.1 MB","row_count":37506898},"amfi_nav_master.csv.zip":{"format":"csv.zip","size_bytes":250406085,"size_human":"238.8 MB","row_count":37506898},"amfi_nav_master.tsv.gz":{"format":"tsv.gz","size_bytes":230347594,"size_human":"219.7 MB","row_count":37506898},"amfi_nav_master.tsv.zip":{"format":"tsv.zip","size_bytes":250135420,"size_human":"238.5 MB","row_count":37506898},"amfi_nav_master.parquet":{"format":"parquet","size_bytes":178259529,"size_human":"170.0 MB","row_count":37506898},"amfi_nav_master_latest.csv":{"format":"latest.csv","size_bytes":9870070,"size_human":"9.4 MB","row_count":38270},"amfi_nav_master_latest.csv.gz":{"format":"latest.csv.gz","size_bytes":1179865,"size_human":"1.1 MB","row_count":38270},"amfi_nav_master_latest.csv.zip":{"format":"latest.csv.zip","size_bytes":1179997,"size_human":"1.1 MB","row_count":38270},"amfi_nav_master_latest.parquet":{"format":"latest.parquet","size_bytes":1627985,"size_human":"1.6 MB","row_count":38270},"amfi_nav_master.db.gz":{"format":"sqlite.gz","size_bytes":1446655535,"size_human":"1.35 GB","row_count":37506898},"amfi_nav_master.db.zip":{"format":"sqlite.zip","size_bytes":1446655691,"size_human":"1.35 GB","row_count":37506898}},"validation":{"source_rows":37506898,"all_match":true,"latest_snapshot_rows":38270,"latest_snapshot_match":true,"latest_snapshot_source_rows":38270,"nav_distinct_schemes":38250,"latest_snapshot_active_rows":8699,"latest_snapshot_matured_rows":29571,"latest_snapshot_note":"The snapshot includes EVERY scheme: active ones plus matured schemes carrying their final (frozen) NAV - survivorship-bias free by design. Filter on is_active for live schemes only; nav_date shows how fresh each row is. Column semantics (incl. AAUM granularity + quarter taper): see schema.latest_snapshot in GET /mf/v1/."},"generation_time_seconds":1015.2,"schema_version":3,"schema_changed":"2026-10-03","schema_notes":["v3 (2026-10-03): full-history files, no column added, removed or renamed. SQLite: `nav` is now REAL. It was stored as text, so max(nav) and nav > 100 compared strings and returned wrong results; a query that compares nav to a quoted string must now compare it to a number. CSV: `scheme_name` is now always quoted. TSV: no quoting at all; every field is written as-is, so a plain split on tab is correct.","v2 (2026-08-12): on the latest-snapshot files ONLY, the column `aaum_cr` is now `aaum_cr_quarterly_avg`. Same values, same units (Crores), same position - the name now says that it is an AVERAGE over a quarter rather than a point-in-time AUM, which is what readers were assuming. `aaum_quarter` and `aaum_quarter_end` are UNCHANGED. If your code does df['aaum_cr'] it will raise KeyError - rename the reference, nothing else changed. Full-history files are unaffected."],"schema":{"full_history_files":{"applies_to":"csv.gz, csv.zip, tsv.gz, tsv.zip, parquet, sqlite.gz, sqlite.zip","columns":["scheme_code","date","nav","scheme_name","isin"],"note":"Only these 5 columns. `date` is a STRING (YYYY-MM-DD), not a date type - compare it as a string ('date > '2026-01-01'') or CAST(date AS DATE). Category, AMC and AAUM are NOT here; they are on the latest-snapshot files."},"latest_snapshot_files":{"applies_to":"latest, latest.csv.gz, latest.csv.zip, latest.parquet","note":"One row per scheme, ~38K rows, 22 columns: the full scheme master (amc, category, category_sub, category_group, scheme_plan, scheme_option, first_date, last_date, is_active, is_stale) plus latest NAV (nav, nav_date) and latest quarterly AAUM (aaum_cr_quarterly_avg, aaum_quarter). Includes matured schemes with their final frozen NAV - filter is_active for live schemes only."},"query_tip":"The parquet is clustered by scheme_code. Filtering on scheme_code reads about 5 byte ranges; filtering on date or scheme_name, or not filtering, reads all 303 row groups (~300 ranges). To find a fund by name, search the small latest.parquet first, then join to the full file by scheme_code.","see_also":"https://api.tigzig.com/mf/v1/ (full field semantics and the data dictionary)","other_datasets":"scheme_details_latest (60 fields per scheme) and data_quality are listed under the top-level `datasets` key, not under `files`, which holds the NAV files only."},"datasets":{"scheme_details_latest":{"generated_at":"2026-10-04T18:35:11Z","schema_version":1,"row_count":11192,"columns":60,"url":"https://api.tigzig.com/mf/v1/download/scheme_details_latest?format=parquet","formats":{"parquet":1261323,"csv.gz":2821971},"rows_with":{"amfi_daily":8528,"ssd":11140,"ter":8424},"rows_with_meaning":{"amfi_daily":"rows with an AMFI daily fund AUM figure","ssd":"rows linked to a Scheme Summary Document; a few linked rows have no document date","ter":"rows with a TER filing (ter_date present)"},"source_dates":{"amfi_daily_aum_date":"2026-09-30","ter_date":"2026-10-04","scheme_document_run":"2026-10-04"}},"data_quality":{"generated_at":"2026-10-04T18:35:11Z","schema_version":1,"row_count":518,"url":"https://api.tigzig.com/mf/v1/download/data_quality?format=csv","formats":{"csv":146548,"json":204029}}}}