---
title: "Where does the fund data come from, and can I trust it?"
description: "Every figure is read from the documents the fund's management company publishes: product page, monthly factsheet, PRIIPs KID, holdings and NAV files. No third-party vendor, no estimates, an as-of date on every payload."
canonical: https://fundfactsapi.com/answers/where-does-fund-data-come-from-and-can-i-trust-it
published: 2026-09-12
updated: 2026-09-12
publisher: FundFacts API
---

# Where does the fund data come from, and can I trust it?

**Short answer:** From the fund house itself. For each ISIN the API reads the management company's product page, monthly factsheet, PRIIPs KID and, where published, the holdings file and NAV history, and normalises them into one JSON shape. Nothing comes from a third-party data vendor and nothing is estimated: fields the fund does not disclose come back empty, every payload carries data.dataAsOf, and the figures are re-read every 24 hours.

## The documents, per fund house

| Document | What is read from it | Typical age |
|---|---|---|
| Product page | Name, share class, currency, AUM, inception, distribution policy, TER, benchmark, objective | Days |
| Monthly factsheet | Top holdings, sector / country / asset tables, calendar and annualised returns, portfolio characteristics (P/E, duration, YTM, ratings) | Month end |
| PRIIPs KID | 1–7 risk indicator, cost table (entry, exit, ongoing, transaction, performance fee, reduction in yield), SFDR article, objective text | Annual, updated on change |
| Holdings file (CSV / XLSX) | Full constituents where the issuer publishes one | Previous trading day |
| NAV history | Monthly series, volatility, Sharpe, max drawdown | Previous trading day |

The [coverage pages](https://fundfactsapi.com/coverage) list, per fund house, which of these documents exist and therefore which sections of the payload are populated. The [freshness page](https://fundfactsapi.com/docs/freshness) describes how each series is computed.

## What "trust" means here

- **Provenance is single-source.** A figure in the payload is the figure printed by the fund house at `dataAsOf`. When two documents disagree (a factsheet TER and a KID ongoing-charges figure) both are returned in their own fields rather than merged.
- **No inference into gaps.** Fields that do not apply to the fund's asset class are empty strings, `null` or empty arrays, never missing keys; treat empty as "not disclosed", not as zero..
- **Derived fields are labelled.** `profile` (kind, category, risk band, concentration…) is computed from the disclosed figures with published rules and carries a `rules` version; the raw values it was derived from are in the payload next to it.
- **Refreshed daily.** Each ISIN is re-read at most every 24 hours. Past `expiresAt` a request is still answered at once from the store, flagged `stale: true`, while the refresh runs in the background; nothing older than 7 days is served without a new read.

## What it is not

It is not a licensed feed from an index provider or a ratings agency, and it does not include analyst ratings, fund flows, intraday prices or anything the fund house does not publish. It is the factsheet, as data.

## FAQ

### Do you scrape websites?

The API reads public documents that the management company publishes for investors: product pages, PDFs, holdings and NAV files. Per-issuer adapters know where each fund house publishes them; the crawler honours the rate any site can serve.

### What if a fund house changes its factsheet layout?

The adapter for that issuer is updated; until then the fields that could not be read come back empty rather than wrong. Coverage is measured continuously and published on the coverage pages.

### How current are the figures?

Each ISIN is re-read from the fund house's documents at most every 24 hours; a request past that is answered at once from the store (stale: true) while the refresh runs in the background. data.dataAsOf is the as-of date printed on the documents, typically the last month end for a factsheet and the last trading day for holdings files.

## About FundFacts API

FundFacts turns any fund or ETF ISIN into one dated factsheet (fees and KID costs, the 1–7 risk indicator, holdings, sector and country exposure, returns) read from the fund house's own documents: as a client-ready PDF under your firm's name for advisers and wealth managers, as JSON through its API for developers, or inside ChatGPT and Claude through its MCP server.

FundFacts works inside ChatGPT and Claude as a connector (a remote MCP server): ask about any fund or ETF by ISIN, ticker or name and the assistant answers from FundFacts' dated figures, fees, risk, holdings, exposure and returns, with fund cards, side-by-side comparisons, holdings overlap and portfolio look-through.

- Free API key, no card: https://fundfactsapi.com/signup
- Documentation: https://fundfactsapi.com/docs (OpenAPI: https://fundfactsapi.com/openapi.json)
- MCP server: https://fundfactsapi.com/api/mcp (set-up for every client: https://fundfactsapi.com/mcp-server)
- Pricing: https://fundfactsapi.com/pricing
- Site index for AI assistants: https://fundfactsapi.com/llms.txt
- Informational data, not investment advice.
