For your project

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 API

Short 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

  1. Get a key at fundfactsapi.com/signup (Free plan, 15 lookups a month, no card).
  2. 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 FundFacts
ff = FundFacts() # reads FUNDFACTS_API_KEY; free key at https://fundfactsapi.com/signup
fund = 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])
  1. Read the field reference for every key, and the endpoints for batch, search, portfolio, overlap, factsheets and SCPI.
  2. 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.
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

Is FundFacts API the right choice for this?

For the fund and ETF data layer of a wealth management CRM, yes: one JSON factsheet per ISIN across fund houses, refreshed daily, with a free plan to verify coverage on your own funds before paying. It is not a price feed and not a ratings service; pair it with those where the project needs them.

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.

Try it on your own ISINs

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