Built for the apps you actually ship.
We're explicit about who fits — and who doesn't. If your use case sits in one of these three buckets, we are probably the cheapest, fastest path to production. If it doesn't, we'll tell you.
Use case 01
Portfolio trackers
Show users their holdings, P&L, dividends, and asset allocation across brokers. The data we serve is exactly the shape a portfolio tracker needs.
- Quote endpoint for current values
- Splits + dividends with adjustment factors for clean cost basis
- Currency conversion via FX endpoint for multi-broker users
- Holdings refresh on a 15-minute cadence is plenty for retail
Powering trackyourportfol.io in production today.
GET /v1/quote?symbols=AAPL,VWCE.DE,VTI // Refresh a portfolio every 15 minutes — total bill: ~120 calls/day.
const symbols = ["AAPL", "VWCE.DE", "VTI", "BTC-USD"];
const quotes = await client.quote(symbols);
const fx = await client.fx({ from: "USD", to: "EUR" });
const totalsEur = quotes.map((q) =>
q.currency === "EUR" ? q.price : q.price * fx.rate
); Use case 02
Indie fintech apps
Robo-advisor MVPs, savings calculators, retirement planners, ETF research tools. The kind of apps a team of one or two ships in three months.
- Predictable EUR pricing for solo founders without VC funding
- Fundamentals + dividends in one call — no joining four sources
- WebSocket streaming on Business when you scale past 10k users
- Free tier good enough to validate the idea before paying
Our €19/mo tier replaces what used to be a $99 starter elsewhere.
GET /v1/fundamentals?symbol=MSFT&period=annual curl -s "https://api.oneapi.finance/v1/fundamentals?symbol=MSFT&period=annual" \
-H "Authorization: Bearer $ONEAPI_KEY" | jq '.income[0]'
# {
# "fiscal_year": 2025,
# "revenue": 245100000000,
# "net_income": 88840000000,
# "eps_diluted": 11.93,
# "currency": "USD"
# } Use case 03
Research apps & dashboards
Internal tools, alpha screeners, sector heatmaps, factor backtesters. Quants who want a clean source instead of duct-taping CSV exports.
- Bulk historical exports in Parquet on Business
- Macro endpoints (FRED + ECB) in the same envelope
- Technical indicators server-side — your pandas stays light
- Adjusted close everywhere, normalized point-in-time
Hedge fund analysts use us as their secondary source for 'is this number correct?'
GET /v1/time_series?symbol=SPY&interval=1d&range=10y import pandas as pd
df = client.time_series("SPY", interval="1d", range="10y").to_df()
# Standard returns + vol
df["ret"] = df["close"].pct_change()
ann_vol = df["ret"].std() * (252 ** 0.5)
print(f"10y annualized vol: {ann_vol:.2%}") Where we don't fit
We're honest about scope. If you're building any of these, we are not your provider:
- A high-frequency trading bot
- An options market maker
- A Level-2 order book reconstruction tool
- A satellite-imagery alt-data terminal
- Anything that needs sub-second tick fidelity
Where we shine
The 99% case for indie devs: read-heavy, retail-grade data needs at a predictable price. If you can describe your app in a sentence and it starts with "It shows users their...", we're built for you.
When in doubt, email us with three example queries you'd hit on a normal day. We'll tell you whether we're the right fit before you sign up.
Ship that portfolio tracker this weekend.
Start free, no card. Move to Indie when you have real users.