Where do I get fund data to enrich a wealth management CRM?
Advisor CRMs hold ISINs on client positions but not what they mean. FundFacts API turns each ISIN into name, category, risk, fees, exposures and a one-page factsheet link, so the CRM shows what a client holds and flags what changed. Integration pattern and cost.Updated 12 September 2026 · by FundFacts APIShort answer
Use FundFacts API as the enrichment step: for each ISIN on a client's positions, one call returns name, share class, category, risk indicator, TER, exposures and dataAsOf, and POST /factsheets returns a keyless one-page factsheet link (HTML or PDF) you can store on the record and send to the client. On Scale, the change feed and webhooks tell the CRM when a held fund's TER, risk indicator or top holdings moved. Pro ($49) covers the commercial licence and white-label factsheets.
What a wealth management CRM needs from a data source
- ISIN → readable fund description on every position record.
- Client-ready documents (factsheets) without a design team.
- Alerts when something about a held fund changes.
- An integration that runs in a nightly job or an automation platform, not in the advisor's browser.
Why FundFacts API fits
The nightly job collects distinct ISINs across positions, calls POST /funds in batches, writes the fields to custom fields on the security object, and stores the urls.html and urls.pdf from POST /factsheets with deliver: "link" so advisors can send a current factsheet in one click. GET /changes?since= (Scale) or a webhook flags TER, risk-indicator and top-holdings moves so the CRM can create a task for the advisor. The n8n and Zapier / Make pages show the no-code version.
What it does not do
- No client data flows to the API; only ISINs. Valuations still come from the custodian feed.
- Funds outside the covered issuers return 404; POST /extract can process a factsheet PDF the advisor uploads.
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
A book of 1,500 clients typically holds a few hundred distinct funds: a few hundred requests a day for the nightly refresh, Pro ($49) or Scale ($249) if you want the change feed. Factsheets are one request (HTML) or two (PDF) each. One request is counted per ISIN answered; search is free. Plans are on the pricing page.
Alternatives worth knowing
- The custodian's or platform's data feed when it already carries factsheet fields and documents in the shape you need; often it carries prices only.
- Vendor CRM connectors (Morningstar for Salesforce and similar) when the firm already licenses the vendor.
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]}'