Screen Stocks
get_screenerFilter and rank stocks from the Stocklake universe — fundamentals, technicals, and AI signals in one tool.
Parameters:
sector: e.g. "Technology", "Healthcare", "Financial Services"
country: e.g. "United States", "Germany"
min_rsi / max_rsi: exact RSI bounds (e.g. max_rsi=30 = oversold, min_rsi=70 = overbought)
sma_trend: "above_200" (price above 200-day MA) | "below_200"
macd_signal: "positive" (MACD line above signal) | "negative"
min_perf_1d / max_perf_1d: 1-day performance % (e.g. min_perf_1d=2.0 = up 2%+ today)
min_volume: minimum daily volume (e.g. 1000000)
min_market_cap_b / max_market_cap_b: market cap in billions
max_pe_forward: maximum forward P/E (e.g. 20 = value screen)
analyst_rating: "strong_buy" | "buy" | "hold" | "sell" | "strong_sell"
min_ai_score: minimum AI score 0-100 (pro tier only — silently ignored for free). Gates on stock_ai_summary.py's own composite ai_score — same 0-100 scale/band convention as signals.signal_score, but a distinct field/pipeline (per-stock AI summary confidence, not a directional trade idea). Renamed 2026-08-24 from the retired 0-10 min_flag_score — the raw flag_score field it used to gate on is no longer part of this fleet's public vocabulary at all (see ai_score below).
preset: "oversold" | "overbought" | "momentum" | "high_conviction" (pro only) oversold = RSI≤35 + above SMA200 · overbought = RSI≥65 momentum = RSI 50-70, above SMA200, up 0.5%+ today · high_conviction = ai_score≥70
sort_by: "market_cap" | "rsi" | "perf_1d" | "volume" | "analyst_rating" | "rating" | "ai_score" (pro). Defaults to "market_cap", except the "high_conviction" preset defaults to "ai_score" (the dimension it's filtering by) unless you explicitly pass a different sort_by.
sort_dir: "asc" | "desc" (default "desc")
limit: 1–25 (default 20). Each returned stock counts as one call toward your daily limit.
Returns: { count, preset, filters, results[] } — each result includes symbol, name, sector, industry, country, price, change_pct, volume, market_cap, pe_forward, rsi, macd_signal, sma200_trend, analyst_rating. Pro tier adds rating (0-10 composite score) + ai_verdict + ai_headline + ai_score (0-100) + ai_score_band to every result row (the headline is the "why" — a bare verdict alone isn't enough to act on), enables min_ai_score filter, high_conviction preset, and sorting by rating/ai_score (sort_by silently falls back to market_cap on free/guest for both). All other filters available to all tiers. For the full research bundle on any one result, call get_stock_research(symbol).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results to return, 1-25 (default 20). Each returned stock counts as one call toward your daily limit. | |
| preset | No | "oversold" | "overbought" | "momentum" | "high_conviction" (pro only). oversold = RSI<=35 + above SMA200; overbought = RSI>=65; momentum = RSI 50-70, above SMA200, up 0.5%+ today; high_conviction = ai_score>=70. | |
| sector | No | Filter by sector, e.g. "Technology", "Healthcare", "Financial Services". | |
| country | No | Filter by country, e.g. "United States", "Germany". | |
| max_rsi | No | Maximum RSI bound (e.g. max_rsi=30 = oversold). | |
| min_rsi | No | Minimum RSI bound (e.g. min_rsi=70 = overbought). | |
| sort_by | No | "market_cap" | "rsi" | "perf_1d" | "volume" | "analyst_rating" | "rating" | "ai_score" (pro). Defaults to "market_cap", except the "high_conviction" preset defaults to "ai_score" (the dimension it's filtering by) unless you explicitly pass a different sort_by. Sorting by rating/ai_score silently falls back to market_cap on free/guest. | |
| sort_dir | No | Sort direction: "asc" | "desc" (default "desc"). | desc |
| sma_trend | No | "above_200" (price above 200-day MA) | "below_200". | |
| min_volume | No | Minimum daily volume, e.g. 1000000. | |
| macd_signal | No | "positive" (MACD line above signal) | "negative". | |
| max_perf_1d | No | Maximum 1-day performance %. | |
| min_perf_1d | No | Minimum 1-day performance %, e.g. min_perf_1d=2.0 = up 2%+ today. | |
| min_ai_score | No | Minimum AI score, 0-100 — pro tier only (silently ignored for free). Gates on stock_ai_summary.py's own composite ai_score, same 0-100 scale/band convention as signals.signal_score but a distinct field/pipeline (per-stock AI summary confidence, not a directional trade idea). Renamed 2026-08-24 from the retired 0-10 min_flag_score. | |
| analyst_rating | No | Filter by analyst consensus rating: "strong_buy" | "buy" | "hold" | "sell" | "strong_sell". | |
| max_pe_forward | No | Maximum forward P/E, e.g. 20 for a value screen. | |
| max_market_cap_b | No | Maximum market cap in billions of dollars. | |
| min_market_cap_b | No | Minimum market cap in billions of dollars. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||