Valuation Scan
Stocks at historically abnormal valuations relative to their own history and sector
Stocks Only
This scan only returns stocks. Crypto and ETFs do not have fundamental valuation data.
Finds stocks trading at historically cheap or expensive valuations. The valuation_zone is a composite considering P/E vs. 5-year history, P/E vs. sector median, P/B vs. history, and growth trajectory.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
sector | string | none | Filter by sector (case-insensitive). Returns a dedicated top-50 for that sector. Stocks-only sectors: Technology, Healthcare, Financial Services, Consumer Cyclical, Industrials, Consumer Defensive, Energy, Utilities, Real Estate, Communication Services, Basic Materials |
market_cap_tier | string | none | Filter by market cap tier: nano, micro, small, mid, large, mega, ultra_mega |
direction | string | all | undervalued, overvalued, or all |
min_severity | string | none | undervalued/deep_value for cheap; overvalued/deeply_overvalued for expensive |
sort_by | string | valuation_percentile | valuation_percentile, pe_vs_history, or growth_zone |
limit | integer | 20 | Max results. Max: 100 |
date | string | latest | Historical snapshot. Plus+ |
Response Fields
Free Tier Free
ticker, sector, valuation_zone, valuation_rarity, growth_zone, analyst_consensus
Plus Plus
All free fields plus:
| Field | Type | Description |
|---|---|---|
revenue_growth_direction | string | accelerating, steady, decelerating, or deteriorating |
eps_growth_direction | string | accelerating, steady, decelerating, or deteriorating |
earnings_proximity | string | Next earnings timing |
rsi_zone | string | Current RSI zone — technical context for timing |
trend_context | string | Broader trend direction |
sector_valuation_zone | string | Sector's aggregate valuation zone |
sector_agreement | boolean | Is this asset-specific or sector-wide? |
valuation_stability | string | Band stability: fresh, holding, established, or volatile |
valuation_flips_recent | integer | Number of recent valuation zone flips |
Pro Only Pro
All Plus fields plus:
| Field | Type | Description |
|---|---|---|
pe_vs_historical_zone | string | P/E vs. asset's 5yr range — deep valuation decomposition |
pe_vs_sector_zone | string | P/E vs. sector median — deep valuation decomposition |
pb_vs_historical_zone | string | P/B vs. asset's 5yr range — deep valuation decomposition |
last_earnings_surprise | string | big_beat, beat, met, missed, or big_miss |
analyst_consensus_direction | string | upgrading, stable, or downgrading |
Example
GET /v1/scan/valuation?direction=undervalued&limit=1
{
"matches": [{
"ticker": "INTC",
"sector": "Semiconductors",
"valuation_zone": "deep_value",
"valuation_rarity": "very_rare",
"valuation_percentile": 3.2,
"pe_vs_historical_zone": "historic_low",
"pe_vs_sector_zone": "deep_discount",
"pb_vs_historical_zone": "below_average",
"growth_zone": "slowing",
"revenue_growth_direction": "decelerating",
"eps_growth_direction": "deteriorating",
"earnings_proximity": "next_month",
"last_earnings_surprise": "missed",
"analyst_consensus": "hold",
"analyst_consensus_direction": "downgrading",
"rsi_zone": "oversold",
"trend_context": "downtrend",
"sector_valuation_zone": "fair_value",
"sector_agreement": false,
"valuation_stability": "established",
"valuation_flips_recent": 1
}],
"total_scanned": 500,
"match_count": 14,
"data_status": "eod"
}