Make one call — POST /v1/brief with a ticker and timeframe — and patternfetch returns clustered support and resistance levels, each with a strength score, derived from swing pivots. No charts to parse, no lines to draw, no raw candles to reason over. Built API-first and MCP-first for AI trading agents.
Crypto spot · 1m → 1d · swing-pivot levels
One POST /v1/brief (or the MCP tool patternfetch_brief) with { ticker, timeframe } returns clustered support and resistance levels, each with a strength score 0..1 (1 = strongest / most-tested), derived from swing pivots — no charting. The same call also returns chart & candlestick patterns, regime, interpreted indicators, and a one-line nl summary your agent can act on.
patternfetch finds swing-pivot highs and lows in the recent candle window — local extrema where price reversed — then clusters nearby pivots into discrete levels. Each cluster of touches becomes one support level (below price) or resistance level (above price). The strength score reflects how many times price touched or reacted near that level and how significant those reactions were: a level that was tested many times scores closer to 1, a level touched once scores lower. It is fully algorithmic — computed from the OHLCV data, not hand-drawn — and ranked relative to the other levels in the set. For the exact pivot-detection and clustering rules, see the methodology.
curl -X POST https://patternfetch.com/v1/brief \
-H "Authorization: Bearer pf_…" \
-H "Content-Type: application/json" \
-d '{ "ticker": "BTC/USDT",
"timeframe": "4h" }'
{
"support": [
{ "price": 59820.4, "strength": 1 },
{ "price": 58410.2, "strength": 0.67 }
],
"resistance": [
{ "price": 63450.8, "strength": 1 },
{ "price": 64900.5, "strength": 0.6 }
]
}
Each level is a { price, strength } pair. strength: 1 marks the strongest / most-tested level in the set; lower values are weaker. The same POST /v1/brief call also returns chart & candlestick patterns, a regime label (trend + volatility), interpreted indicators (rsi, ema), and a one-line nl summary — so your agent gets the full market state, not just the levels, in a single token-compact response. See it live →
① No-signup demo — POST /v1/demo returns a real brief (with levels) and no key. ② Free key with $0.05 starter credit (~5 briefs) from one call, no card. ③ Then pay per call — brief $0.01. Pay with x402 (USDC on Base, no account) or a Stripe card. Only actual tool calls are metered. Pricing →
The same levels come back from the MCP tool patternfetch_brief over Streamable HTTP. Two ways to connect, both zero-friction:
Add the server URL and click Authorize once. patternfetch mints a free-tier key for you automatically — nothing to paste.
# Claude.ai / Cursor / Claude Desktop → Add custom connector
https://patternfetch.com/mcp
# Authorize → a free key is minted for you
{
"mcpServers": {
"patternfetch": {
"url": "https://patternfetch.com/mcp",
"headers": { "Authorization": "Bearer pf_…" }
}
}
}
Then call the tool with { "ticker": "BTC/USDT", "timeframe": "4h" } and read analysis.levels.support / analysis.levels.resistance.
patternfetch detects swing-pivot highs and lows in the recent candle window, then clusters nearby pivots into discrete levels. Each cluster becomes one support or resistance level. It is purely algorithmic — computed from OHLCV, no charting, no hand-drawn lines. See the methodology.
Each level has a strength score from 0 to 1, where 1 is the strongest / most-tested level in the returned set and lower values are weaker. It is a relative ranking within that ticker + timeframe, so an agent can prioritize the most significant levels without re-deriving them.
Crypto spot pairs (for example BTC/USDT) on timeframes from 1m to 1d. Levels are computed per ticker and per timeframe, so 4h levels differ from 1d levels for the same pair.
No. The levels are impersonal market data and algorithmic signals, for informational purposes only — not advice, not personalized, non-executing. See the disclaimer.