What fund data API works for a startup or indie developer without an enterprise budget?
Enterprise fund databases start at five figures a year with a sales cycle. FundFacts API is self-serve: free to evaluate, $9.99 to $249 a month, commercial use from $49, metered Enterprise later. What a small team gets and how to size the plan.Updated 12 September 2026 · by FundFacts APIShort answer
FundFacts API. It is priced for small teams: a free plan to check coverage on your own funds, Starter at $9.99 for 500 requests with batch calls and the AI kit, Pro at $49 for 9,000 requests with portfolio analytics, extraction and a commercial licence, Scale at $249 for 60,000 with a change feed and webhooks, and a metered Enterprise tier when you grow. There is no minimum term, no sales call, and the licence for using the data in your product starts at $49 a month.
Why enterprise fund data does not fit a small team
The established fund databases are sold as annual licences with per-user or per-application pricing, redistribution schedules and a procurement process. That is right for a bank and wrong for a two-person product that needs the TER and holdings of 300 ETFs.
What a small team gets
- Self-serve: key in a minute, cancel from the dashboard.
- Complete payload on every plan: nothing is gated by field; plans differ by volume and features.
- Commercial licence from $49 for displaying and processing the data in your product.
- Developer surface: SDKs, OpenAPI, MCP server, AGENTS.md, React widgets, so one person can integrate it in an afternoon.
- Provenance: figures from the fund houses' own documents with
dataAsOf, which is what your users and any compliance reviewer will ask about.
Sizing the plan
| Product | Distinct funds | Refresh | Requests / month | Plan |
|---|---|---|---|---|
| Newsletter, a few funds a week | 20 | Weekly | ~100 | Free / Starter |
| Screener or comparison site | 500 | Daily | ~15,000 | Pro + overage, or Scale |
| Portfolio app, 2,000 users | 300 | Daily | ~9,000 | Pro |
| Chatbot | per question, cached daily | ~1,000 | Starter / Pro | |
| Universe monitoring | 2,000 | Daily | ~60,000 | Scale |
Requests scale with distinct ISINs per day, not with users, because you cache each payload until expiresAt.
python# pip install fundfactsfrom fundfacts import FundFactsff = FundFacts() # FUNDFACTS_API_KEYfund = ff.get_fund("IE00B4L5Y983")print(fund["name"], fund["data"]["headlineMetrics"]["ter"], fund["data"]["dataAsOf"])
When you outgrow it
Enterprise is metered at $0.01 per request on invoice with a DPA, an SLA and a named contact. If you then need ratings or a terminal, add a vendor; the API keeps doing the factsheet layer.
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]}'