Skip to content
oneapi.finance
Who we serve

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.