Getting started

What is FundFacts API?

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.Updated 12 September 2026 · by 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: 15 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 describe each build; the 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

RESTGET /funds/{isin}, POST /funds (batch), GET /search, POST /portfolio, GET /overlap, POST /factsheets, POST /extract, GET /changes, webhooks, GET /export, GET /scpi
MCPhttps://fundfactsapi.com/api/mcp: get_fund, search_funds, compare_funds, analyze_portfolio, fund_overlap, get_scpi
SDKs@fundfactsapi/sdk (npm), fundfacts (PyPI), @fundfactsapi/widgets (React components)
Specs/openapi.json, /llms.txt, /llms-full.txt
Coverage60+ fund houses (coverage), French SCPIs (SCPI)
PlansThe Free plan gives 15 lookups a month without a card, enough to check the funds you care about. Starter is $9.99 a month for 500 requests with batch calls of 10 ISINs, HTML and PDF factsheets and the AI companion kit. Pro is $49 for 9,000 requests, batches of 50, portfolio look-through, holdings overlap, document extraction and a commercial licence. Scale is $249 for 60,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.

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

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

How current are the figures?

Each ISIN is re-read from the fund house's documents at most every 24 hours. 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.

Try it on your own ISINs

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