Live now · Free during beta

Indian mutual fund data, one clean API.

Daily NAV for every AMFI scheme, full NAV history, 52-week and CAGR figures, and month-end portfolio holdings. Plain JSON, API-key auth, built to drop into apps and Google Sheets.

No card needed. Try the live demo on the right first, or browse funds in the explorer. Both use a shared demo key, so no sign-up either.

…Loading…
Loading…
…
schemes covered
…
fund houses (AMCs)
…
latest NAV date
6 h
refresh interval

Everything a fund screen needs

The pieces that free NAV-only APIs leave out, behind one key and one response format.

NAV and history

Latest and previous NAV with dates for every scheme, plus full history by scheme code or ISIN with start and end dates.

Holdings by month

Stocks, ISIN, sector and weight from each fund's month-end portfolio disclosure. Coverage is growing; see below for what is loaded today.

52-week and CAGR

52-week high and low, and 1, 3, 5 and 10 year CAGR computed from the stored history, so the numbers match the NAVs you fetch.

Search and lookup

Search by name, or look up by scheme code, ISIN, AMC or fund house. Compare up to five schemes in one call.

API keys and quotas

Each key has its own monthly quota and can be revoked at any time. Rate limit is 120 requests a minute.

Works in Sheets

A few lines of Apps Script turn any scheme code into a live NAV cell. The docs include a copy-paste function.

Call it from anywhere

One header, x-api-key. Every response uses the same envelope: status, statusCode, message, data.

curl -H "x-api-key: YOUR_KEY" \
  "https://fin.ejiapi.com/api/mf/scheme-code/122639"
import requests

r = requests.get(
    "https://fin.ejiapi.com/api/mf/scheme-code/122639",
    headers={"x-api-key": "YOUR_KEY"},
    timeout=30,
)
fund = r.json()["data"]
print(fund["schemeName"], fund["latestNav"], fund["latestNavDate"])
const res = await fetch("https://fin.ejiapi.com/api/mf/scheme-code/122639", {
  headers: { "x-api-key": "YOUR_KEY" },
});
const { data } = await res.json();
console.log(data.schemeName, data.latestNav, data.latestNavDate);
// Extensions → Apps Script. Store the key under Project Settings → Script properties as EJI_KEY.
function FUNDNAV(code) {
  const key = PropertiesService.getScriptProperties().getProperty("EJI_KEY");
  const res = UrlFetchApp.fetch("https://fin.ejiapi.com/api/mf/scheme-code/" + code,
    { headers: { "x-api-key": key } });
  return JSON.parse(res.getContentText()).data.latestNav;
}
// In a cell: =FUNDNAV(122639)

How it compares

Against the typical free, NAV-only fund API.

EJI APIFree NAV-only APIs
Scheme master and latest NAVYesYes
NAV historyYes, by code or ISINYes
Portfolio holdings (stock, sector, weight)Yes, month-end, growing coverageUsually not offered
52-week high/low and CAGRComputed for youYou compute it
Per-key quotas, revocable keysYesOpen, shared limits
Fixed JSON envelope with status codesYesVaries

Where the data comes from

No black boxes. Each field has a source you can check.

NAV

AMFI's published NAV file, refreshed every 6 hours. AMFI itself publishes the day's NAVs in the evening, so the date shown is the last published one.

History

Loaded from public historical NAV records and extended with each new daily NAV, stored per scheme code.

Holdings

Read from the AMC's own month-end portfolio disclosure files. Loaded today: PPFAS and DSP. More fund houses are being added. A fund title that cannot be matched exactly is skipped rather than guessed.

Free while we are in beta

Tell us what you are building and we will issue a key with a quota that fits.

Beta access

Free
while the beta runs
  • All endpoints, including holdings and CAGR
  • A monthly request quota set per key, raised on request
  • 120 requests per minute
  • No card needed, keys by email
Request a key

Higher volume

Talk to us
  • Larger quotas for production apps
  • Priority on new AMC holdings coverage
  • Pricing for paid plans will be announced before the beta ends
Share your volume

Questions

Do I need a key to try it?
No. The demo on this page and in the docs runs through a shared demo key with its own limits. The full scheme list (/api/mf) and the health check are open to everyone. Everything else needs your own key.
How fresh is the NAV?
The service checks AMFI every 6 hours. AMFI publishes each day's NAVs in the evening, and some schemes (for example international funds) update a day or more later, so latestNavDate can differ between schemes. That is the fund's own NAV date, not a delay on our side.
Which AMCs have holdings?
PPFAS and DSP are loaded today. Other fund houses are being added in order of size. If a fund has no disclosure loaded yet, the holdings endpoint answers 404 with the message "No holdings disclosure for this scheme", so you can tell it apart from a bad scheme code.
Is there an uptime guarantee?
Not during the beta. The status page shows live health. We will publish an uptime commitment with paid plans.
Is this investment advice?
No. This is data only, taken from public disclosures, and may contain errors or delays. Check with the fund house before relying on it for a financial decision.

What will you build?

Get a key in a minute and make your first call today.

Get a free API key