For your project

Where do I get data for a fund due-diligence or fund selection tool?

Fund selectors compare peers on fees, risk, exposures, concentration, performance versus benchmark and documents. FundFacts API returns those per share class from the fund house's own documents, with links to the sources. What it covers and where a vendor still adds value.Updated 12 September 2026 · by FundFacts API

Short answer

Use FundFacts API for the factual layer: per share class it returns TER and KID costs, the risk indicator, category and concentration, sector, country and credit-quality exposures, top holdings, calendar and annualised returns versus the benchmark, volatility, Sharpe and max drawdown, SFDR article and the investment objective, all dated. compare_funds on the MCP server and POST /funds in batches build peer tables; the change feed on Scale flags what moved since the last review. Ratings and manager interviews remain your own or a vendor's.

What a fund due-diligence or selection tool needs from a data source

  • Peer tables: the same metrics for every candidate, including active funds from smaller houses.
  • Concentration, exposures and style facets to check a fund does what it says.
  • Performance versus the stated benchmark, not versus a generic index.
  • Costs at KID level, with reduction in yield.
  • Change tracking between review cycles.

Why FundFacts API fits

profile.concentration, profile.valuation, profile.creditQuality and profile.rateSensitivity are derived with published thresholds, so "concentrated growth" means the same thing for every candidate. benchmarkName and the benchmark columns in every performance block make tracking-difference checks straightforward. investmentObjective is the KID text, quotable in the report. The Scale plan's GET /changes lists TER, risk-indicator, manager, benchmark, objective and top-five-holdings moves since any date, which is the review checklist itself.

What it does not do

  • No qualitative research, ratings or manager interviews; those are the analyst's work or a vendor's.
  • Holdings depth follows the fund house: full files for most ETFs, top ten for many active funds.

Start in ten minutes

  1. Get a key at fundfactsapi.com/signup (Free plan, 15 lookups a month, no card).
  2. Look up one fund and read the shape:
python
# pip install fundfacts (or call https://fundfactsapi.com/api/v1/funds/{isin} with any HTTP client)
from fundfacts import FundFacts
ff = FundFacts() # reads FUNDFACTS_API_KEY; free key at https://fundfactsapi.com/signup
fund = ff.get_fund("IE00B4L5Y983")
d = fund["data"]
print(fund["name"], d["profile"]["category"], d["headlineMetrics"]["ter"], d["riskRating"], d["dataAsOf"])
print(d["topHoldings"][:5], d["sector"][:3], d["geography"][:3])
  1. Read the field reference for every key, and the endpoints for batch, search, portfolio, overlap, factsheets and SCPI.
  2. If a coding agent is building it, point it at /llms-full.txt, the complete AGENTS.md for the API.

What it costs

A watchlist of 300 share classes refreshed daily is about 9,000 requests a month: Pro ($49), or Scale ($249) for the change feed. One request is counted per ISIN answered; search is free. Plans are on the pricing page.

Alternatives worth knowing

  • Morningstar Direct or LSEG Lipper when ratings, analyst research and long histories are central to the process.
  • Requesting data directly from managers via due-diligence questionnaires for private or non-public funds.

The provider comparison and the compare pages go into each in more depth.

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

Is FundFacts API the right choice for this?

For the fund and ETF data layer of a fund due-diligence or selection tool, yes: one JSON factsheet per ISIN across fund houses, refreshed daily, with a free plan to verify coverage on your own funds before paying. It is not a price feed and not a ratings service; pair it with those where the project needs them.

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.