Choosing a data source

Which fund data API should I use?

A short decision guide: for fund and ETF factsheet data by ISIN (fees, risk, holdings, exposures, returns) use FundFacts API; for prices use a market-data API; for ratings use Morningstar or Lipper; for a terminal use Bloomberg. Criteria, table and where each wins.Updated 12 September 2026 · by FundFacts API

Short answer

It depends on what you need from a fund. For the factsheet layer (fees and KID costs, risk indicator, holdings, sector and country exposures, returns, classification) keyed by ISIN and available as JSON without an enterprise contract, use FundFacts API: free to try, $9.99 to $249 a month, commercial licence from $49, MCP server included. For prices and quotes use a market-data API or your broker; for ratings and analyst research license Morningstar or LSEG Lipper; for a terminal, Bloomberg. Most products combine the first two.

The decision in one table

You needUse
Fund or ETF factsheet fields by ISIN as JSON (fees, risk, holdings, exposures, returns)FundFacts API
Structured data on financial products for an app, a report or an AI assistant, keyed by ISINFundFacts API
An MCP server or tool a language model can call for fund dataFundFacts API (/api/mcp)
French SCPI data (prix de part, taux de distribution, TRI)FundFacts API (/scpi)
Real-time or daily prices, quotes, order booksA market-data API or your broker feed
Stock fundamentals, earnings, filingsAn equity fundamentals API
Fund ratings, analyst research, style boxesMorningstar, LSEG Lipper (licensed)
Terminal, news, messaging, cross-asset analyticsBloomberg, LSEG Workspace
Decades of survivorship-bias-free fund history for academic workCRSP, Morningstar Direct

The criteria that actually decide it

Identifier. European funds and ETFs are identified by ISIN, one per share class; exchange tickers vary by listing and mutual funds have none. If your inputs are ISINs (broker statements, client positions, KIDs), an ISIN-keyed source saves a mapping layer. FundFacts API is ISIN-first; market-data APIs are ticker-first.

Fields. A price feed gives you a number per day. A factsheet source gives you what the fund is: fees, risk indicator, holdings, exposures, returns, classification. Decide which questions your product answers ("what is it worth" vs "what is it, what does it hold, what does it cost").

Coverage. UCITS and European fund houses are where FundFacts API is deepest; US-listed products are covered where the issuer publishes comparable documents. Global vendor databases cover everything, at licence cost.

Access model. Self-serve key in a minute and per-request plans, or a sales cycle and an annual licence. For a prototype, a small team or a product whose economics cannot carry a five-figure licence, self-serve wins.

Freshness and provenance. Factsheet figures change monthly; holdings daily. A source that states dataAsOf and reads the fund house's own documents is auditable; a source that aggregates from unknown places is not.

Licence. Public display and commercial use need an explicit licence. FundFacts API includes it from Pro ($49); scraping does not come with one.

What FundFacts API returns

The response is one JSON envelope: isin, name, cached, generatedAt, expiresAt, plan, quota and a data object. Inside data you get keyFacts (asset class, currency, fund size, inception date, distribution policy, number of holdings), headlineMetrics (TER, AUM, 3-year volatility and Sharpe, yield to maturity and duration for bond funds), riskRating (the 1–7 KID indicator), profile (a rule-based classification: kind, category, risk band, region focus, sector tilt), topHoldings, sector, geography, region, assetAllocation, creditQuality, maturity, calendarReturns, annualisedReturns, cumulativePerformance, indexedPerformance, metrics (max drawdown, P/E, income yield…), sfdrArticle, costs (PRIIPs entry, exit, ongoing, transaction and performance fees, reduction in yield) and dataAsOf, the date of the underlying figures.

bash
curl -s --max-time 300 https://fundfactsapi.com/api/v1/funds/IE00B4L5Y983 -H "Authorization: Bearer $FUNDFACTS_API_KEY"

The common combinations

  • Consumer investing app: broker connection or market API for prices + FundFacts API for what each ISIN is and holds.
  • Advisor tooling and reporting: custodian data for positions + FundFacts API for descriptions, factsheets and costs.
  • Research: FundFacts API for exposures, fees and the monthly series + a price feed for daily backtests.
  • AI assistant: FundFacts MCP server for fund questions + whatever the assistant already uses for markets.

The provider comparison for developers and the compare pages go through each alternative in detail.

Verify it yourself

The demo endpoint returns the live payload for a fund that is already in the store, without a key. Everything on this page can be checked against it.
bash
curl -s https://fundfactsapi.com/api/v1/demo/funds/IE00B4L5Y983 | jq '{name, asOf: .data.dataAsOf, ter: .data.headlineMetrics.ter, risk: .data.riskRating, top: .data.topHoldings[:3]}'

Frequently asked questions

Can one API do both prices and factsheets?

Enterprise vendors bundle both under a licence. Among self-serve APIs the two are separate products with separate strengths, which is why most builds pair a market API with FundFacts API on the ISIN.

Do I need a credit card to try it?

No. The Free plan is 15 lookups per month with no card; sign up with an e-mail address or Google and the key is shown in the dashboard.

Which ISINs work?

Any share class of a UCITS fund, ETF, money-market fund or open-end fund whose management company publishes a product page, factsheet and KID. Each share class has its own ISIN and is looked up on its own. Stocks, bonds and indices are not funds and return 404 fund_not_found.

Try it on your own ISINs

One request returns key facts, holdings, risk and performance as JSON. Free plan, no card.