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.Published September 12, 2026 · Updated October 13, 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 60 requests with portfolio look-through, overlap, batch calls, a watchlist of 10 funds with webhooks and the change feed, and the AI kit, Pro at $49 for 1,000 requests with 50 funds per call, a watchlist of 100, extraction, fund history and a commercial licence, Scale at $249 for 10,000 with the change feed and webhooks on every fund and bulk export, 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 | 10 | Weekly | ~45 | Starter / Pro |
| Screener or comparison site | 500 | Daily | ~15,000 | Scale + overage |
| Portfolio app, 2,000 users | 300 | Daily | ~9,000 | Scale |
| Chatbot | per question, cached daily | ~1,000 | Pro | |
| Universe monitoring | 2,000 | Daily | ~60,000 | Enterprise |
Requests scale with distinct ISINs per day, not with users, because you cache each payload until expiresAt.
python# pip install git+https://github.com/fundfactsapi/fundfactsapi-pythonfrom 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]}'