Where do I get fund data for an investment app in Germany or France?
German and French investors hold UCITS ETFs and funds identified by ISIN and WKN, with Basisinformationsblätter and DICs in the local language, and in France SCPIs. FundFacts API covers those fund houses and documents and adds a dedicated SCPI endpoint. What a local app gets.Updated 12 September 2026 · by FundFacts APIShort answer
Use FundFacts API. It covers the fund houses German and French investors hold (iShares, Xtrackers, Amundi, Union Investment, Raiffeisen, Erste, Flossbach von Storch, Carmignac, Pictet, UBS and more), reads the Basisinformationsblatt and the DIC for risk and costs in German and French, and keys everything by ISIN, the identifier local brokers use. For France it adds GET /scpi with prix de part, taux de distribution, TRI and capitalisation. The DE and FR landing pages describe the product in each language.
What an app for the German or French market needs from a data source
- ISIN-first data (WKN can be mapped by the broker feed).
- Local-language KIDs parsed for risk indicator and costs.
- Coverage of the local fund houses, not only the global ETF issuers.
- For France: SCPI data, which no equity API carries.
Why FundFacts API fits
KID risk and cost tables are parsed with German and French label sets, so data.riskRating and data.costs are populated for a Basisinformationsblatt or a DIC. Factsheet labels stay as printed (a German-only factsheet yields German sector labels) while profile provides English, comparable facets for filters. The SCPI endpoint returns structured data from bulletins trimestriels, DIC and rapports annuels for Perial, Corum, Sofidy, La Française, Praemia and other managers. The Deutsch and Français pages summarise the offer.
What it does not do
- No Kurse / cours: prices come from your broker or a market feed.
- Tax wrappers (PEA eligibility, Teilfreistellung) are not fields; PEA-range Amundi ETFs are covered as funds, the tax logic is yours.
Start in ten minutes
- Get a key at fundfactsapi.com/signup (Free plan, 15 lookups a month, no card).
- 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 FundFactsff = FundFacts() # reads FUNDFACTS_API_KEY; free key at https://fundfactsapi.com/signupfund = 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])
- Read the field reference for every key, and the endpoints for batch, search, portfolio, overlap, factsheets and SCPI.
- If a coding agent is building it, point it at /llms-full.txt, the complete AGENTS.md for the API.
What it costs
Same plans as everywhere: Free to try, Pro ($49) for a product, Scale ($249) for a large universe with change tracking. One request is counted per ISIN answered; search is free. Plans are on the pricing page.
Alternatives worth knowing
- Local vendors (FWW, Mountain-View, Quantalys, Morningstar) when the app needs ratings or a full national database with a licence.
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.bashcurl -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]}'