Skip to content

GET /screener

$0.06 USDC

Scans every covered Hyperliquid perpetual on its 1h candles and returns one compact row per market, sorted by signal_strength: how extreme the readings are, not which way they point. Use it to find the markets worth a closer look, then call /pulse on them.

The full scan is cached for 60 seconds; each request takes its own top_n rows from it.

GET https://api.cerebruspulse.xyz/screener
ParameterTypeDefaultRangeDescription
top_ninteger501–50How many rows to return. Outside the range the request is refused with 400 before any price is quoted.
FieldTypeDescription
endpointstringscreener
coins_scannednumberMarkets the scan computed
top_nnumberRows returned
results[].coinstringThe symbol
results[].market_symbolstringHyperliquid’s name for the market (kPEPE for PEPE)
results[].price_unitstringWhat price is quoted per: 1 BTC, or 1000 PEPE
results[].pricenumberHyperliquid mid price in USD per price_unit. Absent when the feed has no mid
results[].signal_strengthnumber0 to 3.5, higher = more extreme: abs(RSI − 50) / 50 + min(abs(z) / 2, 1) + min(ATR% / 5, 1) + 0.5 when the trend has a direction. It measures intensity, not direction
results[].rsi_14number | null1h RSI (14)
results[].rsi_zonestringoverbought, bullish, neutral, bearish, oversold or unknown, as in /pulse
results[].trendstringThe 1h trend label: bullish, weak_bullish, neutral, weak_bearish, bearish or insufficient_data
results[].zscorenumber | null1h z-score of the close against the last 100 closes
results[].atr_pctnumber | null1h ATR as a percentage of the close
results[].vol_regimestringFrom atr_pct: LOW (< 1), NORMAL (< 3), HIGH (< 6), EXTREME, or UNKNOWN
results[].funding_ratenumber | nullCurrent Hyperliquid funding rate, per hour
results[].funding_biasstringlong_pays above the 0.0000125/h baseline, short_pays below −0.0000125/h, else neutral
results[].confluence_biasstringThe 1h confluence bias: bullish, bearish, neutral or unknown
results[].confluence_scorenumberThe 1h confluence vote share, 0–1 (see /pulse)
results[].oi_trendstringFrom the 4h open-interest change: RISING (> +3%), FALLING (< −3%), FLAT, or UNKNOWN without history
results[].cex_dex_spread_bpsnumber | nullCoinbase vs DEX/Chainlink divergence in basis points, where the CEX-DEX feed covers the token; else null
results[].cex_dex_directionstring | nullcex_premium or dex_premium, or null
metaobjectCommon metadata (Response Schemas)
meta.offeringstringpulse_screener
meta.cex_dex_data_age_secondsnumberAge of the CEX-DEX snapshot the divergence columns come from
meta.cex_dex_tokens_availablenumberTokens that snapshot covers
meta.cachedbooleanOptional. true when the rows come from the 60-second cache
meta.cache_age_secondsnumberOptional. With cached: how old the cached scan is

meta.as_of holds market_data, candles_1h and candles_4h (the oldest of the markets’ newest closed candles), oi_history and cex_dex.

GET /screener?top_n=3: real engine output on market data captured at 2026-09-24 17:05 UTC. Lists are cut to 3 items. Live responses may also carry meta.disclaimer, which the gateway adds.

{
"endpoint": "screener",
"coins_scanned": 3,
"top_n": 3,
"results": [
{
"coin": "ETH",
"market_symbol": "ETH",
"price_unit": "1 ETH",
"signal_strength": 0.952,
"rsi_14": 48.53,
"rsi_zone": "neutral",
"trend": "weak_bullish",
"zscore": -0.597,
"atr_pct": 0.6224,
"vol_regime": "LOW",
"funding_rate": 0.0000125,
"funding_bias": "neutral",
"confluence_bias": "bullish",
"confluence_score": 0.62,
"oi_trend": "FLAT",
"cex_dex_spread_bps": 4,
"cex_dex_direction": "cex_premium",
"price": 2688.45
},
{
"coin": "DOGE",
"market_symbol": "DOGE",
"price_unit": "1 DOGE",
"signal_strength": 0.795,
"rsi_14": 54.21,
"rsi_zone": "neutral",
"trend": "weak_bullish",
"zscore": 0.012,
"atr_pct": 1.0226,
"vol_regime": "NORMAL",
"funding_rate": 0.0000125,
"funding_bias": "neutral",
"confluence_bias": "neutral",
"confluence_score": 0.5,
"oi_trend": "FLAT",
"cex_dex_spread_bps": -1.4,
"cex_dex_direction": "dex_premium",
"price": 0.096249
},
{
"coin": "BTC",
"market_symbol": "BTC",
"price_unit": "1 BTC",
"signal_strength": 0.721,
"rsi_14": 49.16,
"rsi_zone": "neutral",
"trend": "weak_bullish",
"zscore": -0.173,
"atr_pct": 0.5881,
"vol_regime": "LOW",
"funding_rate": 0.0000125,
"funding_bias": "neutral",
"confluence_bias": "bullish",
"confluence_score": 0.62,
"oi_trend": "RISING",
"cex_dex_spread_bps": 4.3,
"cex_dex_direction": "cex_premium",
"price": 84512.5
}
],
"meta": {
"provider": "Cerebrus Pulse",
"offering": "pulse_screener",
"execution_ms": 0,
"data_age_seconds": 60,
"as_of": {
"market_data": "2026-09-24T17:04:00Z",
"candles_1h": "2026-09-24T17:00:00Z",
"candles_4h": "2026-09-24T16:00:00Z",
"oi_history": "2026-09-24T16:45:00Z",
"cex_dex": "2026-09-24T16:59:05Z"
},
"sources": [
{
"name": "Hyperliquid",
"url": "https://hyperliquid.xyz"
},
{
"name": "Coinbase Exchange",
"url": "https://www.coinbase.com"
},
{
"name": "Chainlink Data Feeds (Arbitrum One)",
"url": "https://data.chain.link"
}
],
"cex_dex_data_age_seconds": 355.4,
"cex_dex_tokens_available": 15
}
}

This capture held 1h candles for three markets only, so coins_scanned is 3; a live scan covers every market in /coins.

StatusReason
400top_n outside 1–50 (before any price is quoted)
402Payment required (the standard x402 flow)
429Rate limit exceeded
503Service disabled, payments down, or an upstream feed is missing or stale; no price is quoted
504Engine timeout (not charged)