QVeris
Mutual Fund API Guide

Free Mutual Fund Data API

Compare free mutual fund APIs by NAV, history, holdings, region, authentication, and limits—then test a real JSON request.

Whiteboard workflow for finding a free mutual fund API, checking region, comparing NAV, history and holdings, testing JSON, and connecting with QVeris

TL;DR

What users need

A callable mutual fund REST API with clear coverage, stable identifiers, documented limits, and JSON responses.

What “free” means

Some sources need no key; others offer a free tier. Always verify quotas, licensing, attribution, and commercial-use terms.

Coverage varies

India-focused APIs commonly expose daily NAV history. U.S. sources may emphasize SEC filings, identifiers, and holdings.

Best first test

Request one known fund, inspect dates and identifiers, then confirm pagination, errors, freshness, and rate limits.

What a free mutual fund data API should cover

The exact keyword hides several distinct data needs. Define the minimum dataset before choosing a provider: current NAV, historical NAV, fund metadata, portfolio holdings, fees, risk metrics, or regulatory filings. No single free source is guaranteed to cover every region and field.

Mutual fund records should be centered on the legal fund and share class, not a display name alone. Retail, institutional, accumulating, distributing, hedged, and currency-denominated classes can follow the same portfolio while having different NAV, expenses, minimums, sales loads, eligibility, and investor cash flows.

Latest and historical mutual fund NAV API

Check valuation date, update schedule, currency, adjusted values, missing-day behavior, and whether inactive schemes remain queryable.

Mutual fund holdings API free coverage

Holdings are usually less frequent than NAV. Verify reporting period, point-in-time availability, security identifiers, weights, and filing source.

Fund identity and regional scope

Scheme codes, tickers, CUSIPs, ISINs, share classes, and fund-family identifiers are not interchangeable. Match the API to the market your application serves.

Fees, loads, minimums, and eligibility

Separate expense ratio, management fee, front- or back-end load, redemption fee, platform fee, minimum initial and subsequent investment, investor type, and waiver period. A single “fee” field cannot represent the full cost contract.

Distributions and total-return history

Preserve income and capital-gains distribution types, ex and payment dates, currency, and reinvestment method. Price or NAV change alone can understate investor return when distributions are paid.

Fund status and predecessor history

Capture launch, closure to new investors, merger, liquidation, renamed classes, and predecessor or successor IDs. Historical research needs inactive funds and the date each status became knowable.

Free mutual fund data API sources to evaluate

Treat this as a regional shortlist, not a universal ranking. Test one active class, one inactive or merged scheme, one distribution date, one class with a load or minimum, and one holdings report. Compare identifier resolution, NAV and publication dates, currency, status, pagination, corrections, and whether the source is reporting the legal class you requested.

SourceCoverageAccessVerify first
MFapi.inIndian schemes, search, latest NAV, and NAV history.REST/JSON; documentation says no API key.Rate limits, caching, AMFI scheme codes.
MFData.inIndian NAV, holdings, sectors, ratios, and analytics.Open REST API with published per-IP limits.Endpoint-specific quotas and field provenance.
SEC EDGAR APIsU.S. filings and structured submission data; not a ready-made daily NAV feed.Official JSON APIs without authentication keys.Form coverage, identifiers, parsing, fair-access policy.
Commercial free tiersMay add U.S./global profiles, holdings, prices, or normalized identifiers.Usually signup, API key, and monthly quota.Licensing, redistribution, historical depth, overage price.

Choose the dataset by mutual fund use case

A source can be excellent for daily NAV and still be unsuitable for portfolio research. Define the decision the application must support, then require the fields and dates that make that decision reproducible.

📈 NAV display

Require the exact share class, valuation date, publication time, currency, fund status, and a documented rule for weekends and holidays. Do not label a daily NAV as a live market price.

🧾 Holdings research

Require the reporting period, publication date, security identifiers, portfolio weights, cash treatment, derivatives coverage, and an explicit “unknown” state for undisclosed positions.

🧮 Performance analysis

Keep official NAV, income distributions, capital-gains distributions, fees, and reinvestment assumptions separate. A return series is only comparable when its adjustment method is stated.

🤖 Agent workflow

Return evidence with every answer: fund and class IDs, source date, retrieval time, currency, revision status, and the endpoint used. The agent should abstain when the requested class cannot be resolved.

Worked example: NAV decline does not always mean an investment loss.

Suppose a distributing share class closes at a NAV of $20.00, pays a $0.50 distribution, and reports $19.60 on the next valuation date. The raw NAV change is −2.0%, but an investor who received or reinvested the distribution has an approximate one-period return of ($19.60 + $0.50) / $20.00 − 1 = +0.5%. A second accumulating class of the same portfolio may retain the income and show a different NAV path. The API therefore needs a class identifier and distribution record; fund name plus NAV is not enough.

Mutual fund API Python example and validation steps

1. Test a documented fund identifier

Start with one scheme code from the provider’s own documentation. A minimal Python request is requests.get("https://api.mfapi.in/mf/125497/latest", timeout=20); call raise_for_status() before reading JSON.

2. Validate the response, not just HTTP 200

Check the fund name, identifier, NAV date, numeric types, timezone assumptions, empty histories, pagination, and error shape. Treat a successful transport as different from valid financial data.

3. Cache daily data and record provenance

Mutual fund NAV is normally periodic rather than tick-level. Store retrieval time, provider, endpoint, source date, and raw response so later calculations remain explainable.

4. Re-check terms before production

Free access can change. Confirm current limits, permitted use, attribution, redistribution, service status, and whether your workload needs a paid fallback.

5. Normalize the share-class contract

Store legal fund ID, class ID, scheme code, currency, distribution policy, hedging, fee schedule, minimums, investor eligibility, status, and effective dates separately. Do not inherit attributes from a sibling class without source evidence.

6. Reconcile NAV, distributions, and total return

Check NAV continuity around distributions, mergers, and class events. Build a separate total-return series with documented reinvestment assumptions and keep it distinct from the official NAV history.

7. Preserve first-known and revised records

Keep valuation, publication, processed, and retrieval times plus revision IDs. If a NAV or holding is corrected, store both versions so historical analysis cannot use the correction before it was available.

How QVeris helps connect mutual fund data capabilities

QVeris does not manufacture mutual fund records or replace the provider’s license. It helps developers and agents discover available capabilities, inspect their interfaces, and connect the selected external tool through a consistent workflow.

  • Open Financial Modeling Prep provider details in QVeris to inspect relevant financial-data capabilities.
  • Inspect fund and class identifiers, regional coverage, dataset types, effective and publication dates, revisions, authentication, and provider documentation before connecting a tool.
  • Require the exact share class, currency, dataset, date range, fee or distribution definition, history policy, and evidence fields in each request.
  • Keep source names, raw identifiers, timestamps, and validation results with every output; QVeris connectivity does not validate investment suitability.

FAQ

Is there a free API for mutual fund data?

Yes. Current examples include India-focused no-key APIs and official SEC filing APIs. Coverage, limits, licensing, and readiness for daily NAV or holdings differ.

Which mutual fund API does not require an API key?

MFapi.in documents no-key access for Indian scheme search and NAV history. SEC data APIs also require no key, but serve regulatory submissions rather than a normalized daily NAV feed.

How do I get historical mutual fund NAV data via API?

Choose a region-appropriate provider, find its scheme identifier, call the documented history endpoint, then validate dates, currency, gaps, pagination, and update frequency.

Can I access mutual fund holdings through a free API?

Sometimes. MFData.in publishes Indian holdings endpoints, while U.S. holdings can originate in SEC filings or commercial free tiers. Reporting periods and licenses vary.

How do I call a mutual fund API in Python?

Use an HTTP client such as Requests, set a timeout, raise on non-success status, parse JSON, validate the schema, and cache results according to the provider’s update schedule.

Why does one mutual fund have several NAV values?

Different share classes can have different currencies, fees, loads, distribution policies, hedging, and eligibility. Resolve the legal class ID and valuation date before treating values as duplicates.

Is mutual fund NAV a real-time price?

No. NAV is normally an official periodic valuation, often daily, and its publication may follow the valuation time. Preserve valuation and publication dates rather than presenting request time as market freshness.

How should mutual fund distributions affect performance?

Keep official NAV and distribution records separate, then calculate total return with an explicit reinvestment convention. Comparing NAV changes alone can omit income and capital-gains payments.

External references