Blog
Fund data, explained for builders
Guides on ISINs, holdings, risk indicators, performance series and fees — with the code to turn them into products.AIMCP
FundFacts now works inside Claude and ChatGPT
The FundFacts MCP server brings fund and ETF data into Claude and ChatGPT: ask in plain language, get cards with fees, risk and holdings. On every plan.ComparisonFund data
Fund data providers compared for developers (2026): Morningstar, Bloomberg, Refinitiv, market-data APIs and ISIN-first APIs
A criteria-based comparison of fund and ETF data sources for developers: enterprise platforms, market-data APIs, issuer documents and ISIN-first APIs.FreshnessData quality
How fresh is fund data? As-of dates, publication lags and why a 24-hour cache is enough
Daily NAV, monthly holdings, yearly KID: what 'as of' means for each factsheet block, how to store it, and why a daily refresh matches how funds publish.ETFNAV
ETF NAV vs market price: premiums, discounts and which one your data shows
Why an ETF has two prices, how creation and redemption keep them close, when premiums and discounts appear, and why factsheet performance is NAV-based.SCPIReal estate
What is an SCPI? French real-estate funds explained, and how to get SCPI data programmatically
SCPI definition, capital fixe vs variable, prix de souscription and retrait, taux de distribution, TOF, the documents, and the /api/v1/scpi endpoint.AIMCP
Connect Claude, ChatGPT or Cursor to fund data with an MCP server
Set up the FundFacts MCP server in Claude, ChatGPT, Claude Code and Cursor: one URL, an account sign-in or an API key, and tools for fund lookup, comparison, look-through and overlap.ETFHoldings
How to calculate holdings overlap between two ETFs (formula, code and an API)
The min-weight overlap formula, name matching, why top-ten lists give a lower bound, and how to get the figure from one call to the overlap endpoint.PRIIPsKID
PRIIPs KID vs UCITS KIID: what changed in 2023 and what developers can extract
KIID (2 pages, SRRI, past performance) vs PRIIPs KID (3 pages, SRI, scenarios, cost table): the regulations, the differences, and which fields each yields.FactsheetFundamentals
How to read a fund factsheet, section by section (with the JSON field for each)
A walkthrough of every block on a fund or ETF factsheet — key facts, risk, fees, holdings, exposures, performance — and the API field that carries each figure.UCITSRegulation
What is a UCITS fund? Definition, structure and why the ISIN matters
UCITS explained: the EU directive, the 5/10/40 and liquidity rules, SICAV, FCP and ICAV forms, domiciles, the KID, and how to read one from an ISIN.ETFHoldings
Physical vs synthetic ETF replication: what the holdings list really shows
Full replication, optimised sampling and swap-based ETFs: how each works, what the holdings show, counterparty exposure, and how to detect the method in data.IdentifiersISIN
ISIN vs ticker vs SEDOL vs WKN vs CUSIP: fund identifiers explained
What each fund identifier is for, which ones are unique per share class, how they nest inside an ISIN, and which one to use as the key in a database or API.Look-throughPortfolio
Aggregating sector and country exposure across a portfolio of funds
Weight, normalise and merge each fund's sector and geography exposures into a portfolio view, handle classification mismatches and see what look-through misses.AIAgents
Giving LLMs and agents fund data safely: tools, grounding, guardrails
Why factsheet PDFs are poor tool input and JSON is good, a getFund(isin) tool schema, grounding in dataAsOf, refusal rules and an MCP-style tool definition.DomicileISIN
Ireland vs Luxembourg: fund domicile explained, and what the ISIN prefix tells you
Why most UCITS are Irish or Luxembourg funds, what IE/LU/FR/DE/GB/US prefixes mean, ICAV vs SICAV, UK OEICs, US 40-Act funds and how to route by prefix in code.TutorialReporting
Generate branded PDF factsheets from fund JSON with Node
Choose a PDF renderer, lay out key facts, holdings, exposures, returns, the 1–7 risk scale and fees, add the required disclaimers, and batch-generate by ISIN.ETFIndex funds
Tracking difference vs tracking error for index funds and ETFs
Tracking difference is what investors pay, tracking error is what traders watch. Definitions, formulas, drivers, and how to compute TD from calendar returns.Share classesISIN
Fund share classes explained: Acc vs Dist, hedged, retail vs institutional, clean vs bundled
Why one fund has many ISINs: accumulating vs distributing, currency-hedged, retail vs institutional and clean classes, and how to pick the right one in code.PerformanceQuant
Cumulative vs annualised vs calendar returns: formulas and conversions
The three fund return conventions, the formulas behind them, how to convert between them, and the mistakes that produce plausible but wrong numbers.TutorialNext.js
Build a fund screener with Next.js and Postgres, step by step
Data model, a server-side route handler, a filter table for asset class, risk, TER, AUM and region, sorting, and a cache aligned with the 24-hour refresh.SFDRESG
SFDR Article 6, 8 and 9 explained for product teams
What SFDR Article 6, 8 and 9 mean, why it is a disclosure regime and not a label, where the classification appears, and how to store it in your fund data model.Risk metricsQuant
Volatility, Sharpe ratio and maximum drawdown from a NAV series
Compute annualised volatility, Sharpe ratio and maximum drawdown from a fund's indexed NAV series in Python, and see why your figures differ from the factsheet.KIDRegulation
The UCITS KID / PRIIPs KID explained for developers: every field you can extract
What the PRIIPs KID is, how it replaced the UCITS KIID, every section it contains (SRI, scenarios, costs, holding period) and which fields map to API paths.TutorialAI agents
Build a fund data app with Cursor or Claude Code in ten minutes
Use an AI coding agent to build a fund comparison page from ISINs. What an AGENTS.md for a financial data API must contain, and the prompts that work.PerformanceCharts
Fund performance data explained: cumulative, calendar-year, annualised and rebased to 100
The four ways fund performance is reported, what each one hides, how to compute tracking difference, and how to chart fund vs benchmark from API data.RiskRegulation
SRRI and SRI explained: the 1–7 fund risk indicator and how to display it
What the SRRI / SRI risk indicator on a KIID or PRIIPs KID means, how it is calculated from volatility, how funds move between classes, and how to render it from API data.HoldingsExposure
ETF holdings API: fetch top holdings, sector and country exposure as JSON
How to pull ETF and fund holdings, sector weights, geographic exposure and asset allocation from an API, and how to turn them into portfolio look-through and concentration checks.TutorialAPI
How to get fund data from an ISIN with a REST API (curl, JavaScript, Python)
Step-by-step: call a fund data API with an ISIN and get key facts, holdings, risk and performance as JSON. Includes curl, fetch and requests examples and error handling.ISINIdentifiers
What is an ISIN? A developer's guide to fund and ETF identifiers
ISIN format, check digit, how it differs from tickers, SEDOL, CUSIP and WKN, and how to validate an ISIN in code before you look up fund data.FeesTER
TER, ongoing charges and fund fees: how to compare fund costs programmatically
TER vs OCF vs total cost of ownership, why 0.20 % and 1.50 % end up 30 % apart over 25 years, and how to parse and rank fund fees from API data.TutorialArchitecture
Build a fund comparison tool in an afternoon with a fund data API
A practical architecture for a fund screener or comparison page: ISIN input, caching, side-by-side table, charts and a PDF export, with code in Next.js and Python.AutomationWealth management
Automating fund factsheets: from PDF scraping to structured JSON
Why parsing factsheet PDFs breaks, what a normalised fund data schema looks like, and how wealth managers and fintechs generate client-ready factsheets automatically.More resources
Answers
Questions about fund data, answered
Is there a free API, how to get the TER or holdings by ISIN in Python or Sheets, how to give ChatGPT or Claude fund data, where to get fund data for what you are building, and 100 more, each with a direct answer and code.Glossary
Fund data glossary
ISIN, NAV, TER, SRRI, UCITS and 40 more terms, each mapped to the API field that carries it.Use cases
What teams build with the API
Screeners, look-through, robo-advisors, client reporting, CRM enrichment, quant research and AI assistants.Coverage
Fund houses covered
Which ETF and fund issuers return which sections — holdings, exposures, performance, NAV history, risk metrics — measured by our coverage harness.Compare
FundFacts API vs the alternatives
Enterprise data platforms, equity market APIs and building your own pipeline — and when each is the right choice.Free tool