Comparison

patternfetch vs raw OHLCV & candle APIs

A fair, side-by-side look at token-compact market data for AI agents — and an honest answer to when you should reach for raw candles instead.

TL;DR — Raw candle/OHLCV APIs give you every tick and total control. patternfetch gives an LLM agent the digested market state — patterns, levels, regime, interpreted indicators, and a one-line summary — in a fraction of the tokens. Use raw when you need full granularity; use patternfetch when an agent needs cheap, ready-to-reason context.

They are not really competitors so much as different shapes of the same underlying data. A raw API is a firehose you process yourself. patternfetch is a pre-chewed summary an LLM can read directly. The right choice depends on whether you or a model is the consumer.

Side-by-side

CapabilitypatternfetchRaw OHLCV / candle APIGeneric crypto data API
Asset coverage US stocks, ETFs and crypto spot — one schema across all three Varies — often one asset class per vendor Crypto only, by definition
Output shape Digested brief (patterns, levels, regime, indicator state, summary) Raw OHLCV arrays you parse yourself Raw arrays / mixed endpoints (prices, tickers, order books)
Tokens per call into an LLM Compact — a few hundred tokens Large — thousands of tokens for a long candle array Large — raw payloads, often more verbose JSON
Numeric-hallucination risk for an LLM Lower — interpreted state + one-line summary, little arithmetic for the model Higher — the model must do its own math on raw numbers Higher — same raw-number problem
Candlestick + chart patterns Yes — detected with confidence No — you compute them No — you compute them
Support / resistance levels Yes — clustered with strength No No
Trend / regime label Yes — trend, strength, volatility No No
Interpreted indicators (RSI / EMA / ATR) Yes — value and state (e.g. "neutral", "above_20_50") No — raw values at best, usually you compute them Sometimes raw values; rarely interpreted
One-line summary (nl field) Yes — ready-to-reason natural-language line No No
MCP server Yes — Streamable HTTP at /mcp Rare / varies Varies
OAuth one-click connect Yes — Authorize once, key minted for you Rare Rare
Pay-per-call with x402 / no account Yes — USDC on Base, no signup; plus Stripe Rare — usually account + plan Rare — usually account + plan
Full tick granularity / compute your own indicators Limited — compact candles via /v1/candles, not bulk tick export Yes — this is what raw APIs are for Often yes — depends on the provider

"Higher/lower hallucination risk" is relative, not a benchmark: the more raw arithmetic an LLM has to do on long number arrays, the more it tends to slip — which is the failure mode the interpreted brief is designed to avoid (see the methodology). We've tried to be honest in both directions: patternfetch wins on agent-readiness and token cost; raw APIs win clearly on granularity and control. "Generic crypto data API" varies a lot by vendor, so those cells say "varies" where a blanket claim would be unfair.

When to use raw OHLCV instead

Be candid: there are jobs where a raw candle/OHLCV API is simply the right tool, and patternfetch is not.

In all of these, you are the consumer and you want maximum control. That's the firehose case.

When patternfetch wins

The flip side: when an LLM or agent is the consumer, the digested brief is usually the better shape.

The same data, two shapes

Raw OHLCV (you process this)

[
  [1718000000000, 60125.4, 60480.0,
   59890.1, 60310.7, 1284.5],
  [1718014400000, 60310.7, 60720.2,
   60180.0, 60655.9, 1102.8],
  … 198 more rows …
]
// then: you compute RSI, EMA, ATR,
// find patterns, cluster S/R, label
// the regime — and feed it all to the
// model as thousands of tokens.

patternfetch brief (token-compact)

{
  "codec": { "rows":"60125.4,60480,…",
             "sax":"dcefdcbe","precision":1 },
  "analysis": {
    "patterns":[{"name":"double_bottom",
                 "confidence":0.86}],
    "levels":{ "support":[{"price":59820.4}],
               "resistance":[{"price":63450.8}] },
    "regime":{ "trend":"up","volPct":2.13 },
    "indicators":{ "rsi":{"v":58.3,"state":"neutral"} },
    "nl":"BTC/USDT: uptrend (moderate),
          RSI 58.3 (neutral), double_bottom (conf 0.86, n=18, hist 51% over 10b)."
  }
}

Note the brief still carries codec.rows — the underlying OHLCV numbers — so you're never locked out of the raw data. You just don't have to spend tokens (or a model's arithmetic) on it unless you want to. See it live →

Pricing snapshot

Free to start:

A no-signup demo (POST /v1/demo), free MCP tool discovery, and a free key with $3.00 starter credit (300 briefs) — no card. Then pay per call: brief $0.01, candles $0.005, delta $0.008, analogs $0.05. Pay with x402 (USDC on Base, no account) or a Stripe card. Full breakdown on the pricing page.

The honesty layer: every pattern ships its base rate

Most pattern and signal APIs hand a model a confident-looking "double_bottom", 0.86 and let it quote that blind. patternfetch attaches an evidence block to every detected pattern — the backtested historical hit-rate for that exact pattern, timeframe and confidence band, the pattern-free baseline for the same market and horizon, and a cluster-robust interval on the difference — measured with no lookahead (chart patterns are scored only from the bar they become knowable). A hit rate on its own cannot be read: a drifting market moves it away from 50% with no pattern involved. Measured against the baseline instead, three of the 105 buckets we tested clear an uncorrected interval — fewer than the ~5.3 that chance alone would produce, and all three are crypto. The only one that lands above its baseline (double_top 1d, +9.78pp) rests on n=149 and does not survive correcting for having tested 105 buckets; on US stocks & ETFs it is 0 of 60. The evidence block reports exactly that, instead of laundering a shape score into a confident call. Impersonal market data, not advice. See the method →

FAQ

Does patternfetch give raw candles too?
Yes — POST /v1/candles returns the compact candle codec on its own for $0.005. It's the same OHLCV data, just token-cheap. For bulk tick export or full-precision history, a dedicated raw candle/OHLCV API is the better fit.
Can I get the underlying numbers, not just the summary?
Yes. Every brief includes codec.rows — the actual OHLCV values in a compact, decodable string — plus codec.precision and a SAX shape signature. The interpreted state and the raw numbers travel together.
Is this investment advice?
No. It's impersonal market data and algorithmic signals, for informational purposes only — not advice, not personalized, non-executing. See the disclaimer.