Data layer vs analysis layer

You may not have a data problem.

Developers comparing market-data APIs are usually one step past the data question already. You can get a price series. What you cannot easily get is a defensible valuation, a portfolio risk profile, a macro read, or a signal that reports how well-supported it is. StockUp Quan is that layer — and it sits happily on top of whatever data vendor you already use.

  • Keep your existing data provider
  • 100,000 free Quan 3.4 L tokens
  • No card required
the-layer-above.sh
# Your data vendor answers this:
#   GET /quote?symbol=NVDA  →  { "price": ... }

# This answers the question after it:
curl https://stockup.cc/v1/risk \
  -H "x-api-key: $STOCKUP_API_KEY" \
  -H "content-type: application/json" \
  -d '{
    "question": "Is this book over-concentrated?",
    "horizon": "months",
    "objective": "balanced",
    "portfolio": {
      "cash": 12000,
      "holdings": [
        { "ticker": "NVDA", "shares": 120 },
        { "ticker": "MSFT", "shares": 40 }
      ]
    }
  }'
Not affiliated with Alpha Vantage, and not a clone of its endpoints.
CoexistsKeep your data vendor
ComputedArithmetic, not token prediction
AuditableReplayable decision records
Agent-readyREST, OpenAPI, MCP
Choose by the job you are stuck on

Two different products get compared as if they were one.

What you are trying to doStockUp QuanA raw market-data API
Fetch a quote or a price seriesVerified context inside supported requestsPurpose-built
Pull decades of historical bars in bulkNot the product focusPurpose-built
Stream real-time exchange dataNot supportedChoose a licensed provider
Run a DCF you can unit-test/v1/valuationBuild it yourself
Compute VaR, CVaR and drawdown on a book/v1/riskBuild it yourself
Classify the macro regime/v1/regimeBuild it yourself
Backtest with realistic costs/v1/backtestBuild it yourself
Explain a 10-K in plain languageQuan models + documentsNot in scope
Give an AI agent finance tools8 MCP tools + OpenAPIVaries
Prove later why an answer was givenClaim ledger + audit recordNot in scope

If most of your unchecked boxes are in the top three rows, you want a data vendor and Quan is the wrong tool. If they are in the bottom seven, another data API will not solve your problem no matter how generous its rate limit.

The build-it-yourself estimate

What the analysis layer actually costs to write.

The reason teams keep shopping for a better data API is that the analysis layer looks like it should be a weekend. In practice, the pieces that consume the time are:

  • A returns pipeline — corporate actions, splits, gaps, holidays. This is where the subtle bugs live, and they are silent.
  • The risk maths — VaR and CVaR are easy to write and easy to write slightly wrong, and a slightly wrong tail metric is worse than none.
  • A backtest harness — mostly an exercise in not leaking future information into past decisions.
  • Guardrails — deciding what happens when an input is missing. Skip this and your feature quietly invents numbers.
  • An audit trail — the part nobody scopes, and the first thing asked for the moment a real user disputes an output.

None of it is intellectually hard. All of it is weeks, and all of it is code you then own forever.

the guardrail you skip
// What a hand-rolled DCF does when an
// input is missing:
discountRate = inputs.discountRate ?? 0.10;
// ^ ships a fabricated number, silently

// What /v1/valuation does:
{
  "status": "insufficient_data",
  "unavailableInputs": ["discountRate"]
}
One of these is a handled error. The other is an accuracy bug you will not find.
Where to start

Pick the endpoint that matches your blocker.

Valuation

DCF, WACC, Monte Carlo

Deterministic arithmetic with a seeded simulation and explicit missing-input reporting.

DCF valuation API →

Risk

Portfolio risk

VaR, CVaR, Sharpe, Sortino, drawdown and beta from holdings — no return series required from you.

Portfolio risk API →

Macro

Macro regime

Seven-state classification with probabilities and transition risk, including an explicit "signals conflict" state.

Market regime API →

Research

Walk-forward backtest

Date window and transaction cost in, regime-aware comparison out. Costs on by default.

Backtesting API →

Signals

Composite signal

A reading that reports its own coverage, so thin support is visible in your UI.

Stock signal API →

Documents

Filing extraction

Upload a PDF up to 50 MB, get per-page extraction truth, then query it by ID.

PDF extraction API →

Coexistence, not migration

You probably should not rip anything out.

The realistic architecture keeps your current provider where it is strong and adds Quan where it is not. Charts, tickers, and raw series stay on your data vendor. Analysis, explanation, and anything that has to be defensible later goes to Quan.

That also means adopting this is not a migration project. There is no schema to port and nothing to decommission — you add one authenticated POST and gate it behind a flag. If it does not earn its place, you delete the call.

Authentication is a single header, either x-api-key: sk_quan_... or a standard Authorization: Bearer token. The OpenAPI document is published, so client generation is automatic in most stacks.

side-by-side.js
// Keep the vendor you already pay for.
const series = await dataVendor.timeSeries("NVDA");

// Add the layer you were about to build.
const analysis = await fetch(
  "https://stockup.cc/v1/signal",
  {
    method: "POST",
    headers: {
      "x-api-key": process.env.STOCKUP_API_KEY,
      "content-type": "application/json"
    },
    body: JSON.stringify({
      ticker: "NVDA",
      horizon: "months",
      objective: "balanced"
    })
  }
).then((r) => r.json());

renderChart(series);
renderAnalysis(analysis);
Two providers, two jobs, no migration.
Comparison FAQ

Straight answers.

Is StockUp affiliated with Alpha Vantage?

No. StockUp is not affiliated with, endorsed by, or sponsored by Alpha Vantage. We reference the name only because it is one of the tools developers evaluate when they search for a market-data API, and this page exists to explain that Quan solves a different part of the problem.

Will Quan return raw time-series JSON?

Not as a drop-in equivalent. The API returns analysis, structured quantitative output, and AI responses with usage metadata. If your code expects a bars array, keep the vendor that provides one.

Do you offer a free tier?

Yes — 100,000 free Quan 3.4 L tokens, no card required. Beyond that it is prepaid, starting at $0.50 per million input tokens on 3.4 L. See pricing for the full table and an estimator.

Can I use this for automated trading?

No. Quan is research and educational software. It is not an execution venue, not an exchange-licensed data feed, and not a personalized investment adviser. See the risk disclaimer.

How do I evaluate it quickly?

Take the question your current stack cannot answer — usually something like "why is this position risky" rather than "what is this price" — and send exactly that. The docs have a runnable first request, and the free tier is enough to judge whether the analysis layer is worth a dependency.

The layer above the data

Try the question your data API cannot answer.

Start with 100,000 free Quan 3.4 L tokens. Add prepaid balance only when you need more.

Create a free API key →