---
title: "What is FundFacts API?"
description: "FundFacts API is a REST and MCP API that turns any fund or ETF ISIN into one structured JSON factsheet (fees, risk indicator, holdings, exposures, returns, as-of date) read from the fund house's own documents and refreshed daily. What it returns, what it is for, what it is not, and the plans."
canonical: https://fundfactsapi.com/answers/what-is-fundfacts-api
published: 2026-09-12
updated: 2026-10-13
publisher: FundFacts API
---

# What is FundFacts API?

**Short answer:** FundFacts API is a REST API (with an MCP server, SDKs and an OpenAPI spec) that turns any fund or ETF ISIN into one structured JSON factsheet: key facts, TER and KID costs, the 1–7 risk indicator, a rule-based classification, top holdings, sector, country, asset and credit-quality breakdowns, calendar and annualised returns, a monthly series, risk statistics, SFDR article and the as-of date. Figures are read from the documents each fund house publishes and refreshed every 24 hours. It covers UCITS funds and ETFs from 60+ fund houses, money-market and most open-end funds, and French SCPIs through a separate endpoint. Free plan: 5 lookups a month, no card; paid plans from $9.99; commercial licence from $49.

## In one sentence

FundFacts API turns a fund or ETF ISIN into the fund's factsheet as structured JSON, read from the documents the fund house itself publishes and refreshed daily.

## What it 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"
```

## What it is for

- **Products** that show funds to people: screeners, comparison sites, portfolio trackers, robo-advisors, advisor CRMs, client reports.
- **Analysis**: research notebooks, peer tables, compliance and cost-disclosure checks, competitor monitoring.
- **AI assistants and coding agents**: an MCP server, tool-shaped JSON, an OpenAPI spec, `llms.txt` and a companion kit (AGENTS.md, Cursor rule, Claude Code skill).

The [use cases](https://fundfactsapi.com/use-cases) describe each build; the [answers](https://fundfactsapi.com/answers) hub covers the questions around them.

## What it is not

Not a price feed (the series is monthly, for charts and statistics), not a ratings service (the `profile` classifies, it does not rank), and not a source for stocks, bonds or derivatives (those return `404 fund_not_found`).

## Surface

| | |
|---|---|
| REST | `GET /funds/{isin}`, `POST /funds` (batch), `GET /search`, `POST /portfolio`, `GET /overlap`, `POST /factsheets`, `POST /extract`, `GET /changes`, webhooks, `GET /export`, `GET /scpi` |
| MCP | `https://fundfactsapi.com/api/mcp`: `get_fund`, `search_funds`, `compare_funds`, `analyze_portfolio`, `fund_overlap`, `get_scpi`, `search_scpi`; cards in Claude and ChatGPT ([guide](https://fundfactsapi.com/docs/mcp)) |
| SDKs | `@fundfactsapi/sdk` (npm), `fundfacts` (Python, installed from GitHub until it is on PyPI), `@fundfactsapi/widgets` (React components) |
| Specs | [/openapi.json](https://fundfactsapi.com/openapi.json), [/llms.txt](https://fundfactsapi.com/llms.txt), [/llms-full.txt](https://fundfactsapi.com/llms-full.txt) |
| Coverage | 60+ fund houses ([coverage](https://fundfactsapi.com/coverage)), French SCPIs ([SCPI](https://fundfactsapi.com/docs/scpi)) |
| Plans | The Free plan gives 5 lookups a month without a card (2 PDF factsheets), enough to check a few of the funds you care about. Starter is $9.99 a month for 60 requests (30 PDF factsheets) with portfolio look-through, holdings overlap and batch calls of 10 ISINs and the AI companion kit. Pro is $49 for 1,000 requests (500 PDF factsheets), 50 ISINs per call, white-label factsheets, document extraction and a commercial licence. Scale is $249 for 10,000 requests, batches of 200, a change feed, webhooks and bulk export. |

## Where the data comes from

The fund house's product page, monthly factsheet, PRIIPs KID, holdings file and NAV history; for SCPIs the bulletin trimestriel, DIC, note d'information and rapport annuel. No third-party vendor. Every record carries `dataAsOf`. Names of fund houses are used to identify whose documents are read; FundFacts API is independent of all of them.

## FAQ

### Who is it for?

Developers, fintech teams, advisors and analysts who need fund and ETF data in code, and AI assistants that need a tool for fund questions. The free plan is for checking the data on your own funds; paid plans are for products.

### How do I cite it?

Quote the figure with its dataAsOf and the fund house as the source; the API reads the fund house's own documents. "FundFacts API" is the product name to use.

### Do I need a credit card to try it?

No. The Free plan is 5 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.

### 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.
