Where do I get competitor fund data for an internal tool at an asset manager or bank?
Product, sales and marketing teams at fund houses need their competitors' fees, exposures, returns and positioning, current and sourced. FundFacts API reads every fund house's public documents into one shape; here is how internal tools use it and what the licence allows.Updated 12 September 2026 · by FundFacts APIShort answer
Use FundFacts API. It reads the public documents of more than sixty fund houses into one JSON shape per share class (TER and KID costs, size, risk indicator, exposures, holdings, returns, objective, SFDR), which is what a peer-benchmarking or competitive-positioning tool needs, with dataAsOf on every figure. Batch calls load a peer group; the Scale plan's change feed flags fee cuts and positioning changes as they are published. Pro ($49) and above cover commercial internal use.
What an internal tool at an asset manager or bank needs from a data source
- The peer group's fees, size and positioning in a comparable form.
- Alerts on competitor fee changes and holdings shifts.
- Sourced figures a compliance team will accept.
- An API the internal platform team can integrate without a vendor project.
Why FundFacts API fits
A peer group is a list of ISINs; POST /funds loads it and profile.category groups it. headlineMetrics.ter, costs.ongoing and keyFacts.aum feed the fee-and-flow dashboard; sector, geography and topHoldings the positioning views. GET /changes?event=fund.changed (Scale) returns fee and holdings moves with old and new values and the document date, which is exactly the alert a product manager wants. Everything is sourced from the competitor's own published documents, so figures are defensible.
What it does not do
- No flows, no ratings, no market share: pair with your existing vendor or regulator data for those.
- Only what the competitor publishes; no private share-class data.
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 peer universe of 500 share classes refreshed daily is 15,000 requests a month: Pro ($49) with overage or Scale ($249) for the change feed. Enterprise (metered, DPA, SLA) for bank procurement. One request is counted per ISIN answered; search is free. Plans are on the pricing page.
Alternatives worth knowing
- Morningstar Direct, Broadridge or LSEG when flows, market share and ratings are the core need and the licence is already in place.
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]}'