Tool Reference

All 17 Stocklake tools — parameters, response fields, and examples. Organized by what you're paying for: data is free, intelligence is Pro. ← Getting Started

Not financial advice. All data, ratings, signals, and AI assessments are for informational and research purposes only. Nothing here constitutes investment advice or a recommendation to buy or sell any security.

get_stock free

Returns price, fundamentals, technical indicators, and company profile for a ticker — everything you need about a stock in one call.

Parameters

NameTypeDescription
symbolstringTicker symbol, e.g. AAPL. Case-insensitive.

Response fields

FieldTypeDescription
symbolstringTicker
namestringCompany full name
sector / industrystringSector and industry classification
country / currency / exchangestringCountry, reporting currency, exchange code
pricenumberCurrent market price (multi-source, authoritative)
change_pctnumberDay change %
volume / avg_volumenumberDay volume and average volume
prev_closenumberPrevious close
week52_high / week52_lownumber52-week range
ma_50 / ma_200number50-day and 200-day moving averages
market_cap / enterprise_valuenumberMarket cap and enterprise value
betanumberBeta vs market
pe_trailing / pe_forwardnumberTrailing and forward P/E ratios
price_to_booknumberPrice-to-book ratio
dividend_yield / dividend_rate / ex_dividend_datenumber / stringDividend info
debt_to_equitynumberD/E ratio
profit_margins / operating_marginsnumberNet and operating profit margins
revenue_growth / earnings_growthnumberYoY growth rates
revenue_ttm / gross_profit_ttmnumberTrailing twelve-month revenue and gross profit
free_cashflownumberFree cash flow (TTM)
return_on_equitynumberROE
analyst_ratingstringAnalyst consensus label: strong_buy · buy · hold · sell · strong_sell
analyst_rating_scorenumberMean analyst recommendation score: 1.0 = strong buy, 5.0 = strong sell (lower is better)
analyst_target / analyst_countnumberMean price target and number of analyst opinions
indicatorsobjectRSI, MACD {macd_line, signal_line, histogram}, Bollinger Bands {upper_band, middle_band, lower_band}, SMA20/SMA200, EMA20/EMA200, ATR
descriptionstringLong-form company business description
websitestringCompany website URL
employeesintegerFull-time employee count
officersarrayTop 5 executives: name, title, total_pay
updated_atstringData freshness timestamp (ISO 8601 UTC)
ratingobjectpro Composite technical score: score (0-10), direction (BULLISH/NEUTRAL/BEARISH), signals (per-indicator breakdown). Computed from the same indicators block, no extra AI cost.
signalsobjectpro Flat labeled technical signals — overall + rsi/macd/bollinger/sma200/sma50/williams_r/ultimate_osc/vix_fix/williams_ad/td_sequential/elliott_wave, each with a plain-English label pre-interpreted for programmatic use.
stance_signalsarraypro Unified list of per-source directional calls — technical rating, AI summary (near_term + longer_term), insider/institutional sentiment, analyst consensus, and any active screener signals. Each entry: stance (BULLISH/BEARISH/NEUTRAL), conviction (0-10), horizon (INTRADAY/SWING/POSITION/LONG_TERM), edge_quality (PROVEN/OBSERVATION/UNKNOWN — that source's own signal_backtest track record), source, raw_label, as_of. A source with no data for this stock is simply omitted, not returned as null.
relative_strengthobjectpro Multi-window relative strength vs SPY, QQQ, and the stock's GICS sector ETF. windows: 5d/20d/60d/120d/12m → stock_return_pct plus rs_vs_spy/rs_vs_qqq/rs_vs_sector (percentage-point spread, stock return minus benchmark return — not a ratio). verdict: one-line plain-language read, e.g. "Laggard — weak on all windows". Windows/benchmarks with insufficient history are simply omitted; null if not precomputed yet for this symbol.
Example
{ "symbol": "NVDA", "name": "NVIDIA Corporation", "price": 116.78, "change_pct": 2.31, "market_cap": 2847000000000, "pe_trailing": 38.2, "analyst_rating": "buy", "analyst_target": 165.00, "indicators": { "rsi": 58.4, "macd": { "macd_line": 1.23, "signal_line": 0.94, "histogram": 0.29 }, "bollinger_bands": { "upper_band": 124.1, "middle_band": 114.3, "lower_band": 104.5 } } }
Example — META (Communication Services, strong buy consensus)
{ "symbol": "META", "name": "Meta Platforms Inc.", "short_name": "Meta", "price": 635.29, "change_pct": 1.54, "volume": 18720000, "market_cap": 1612600000000, "pe_trailing": 27.8, "analyst_rating": "strong_buy", "analyst_target": 725.00, "indicators": { "rsi": 65.3, "macd": { "macd_line": 8.45, "signal_line": 6.12, "histogram": 2.33 }, "bollinger_bands": { "upper_band": 652.80, "middle_band": 598.40, "lower_band": 544.00 } } }
Example — Pro tier rating + signals (appended alongside the fields above)
{ "rating": { "score": 6.0, "direction": "BULLISH", "signals": { "rsi": { "verdict": "mild_bearish", "text": "strong (65.7) — mild bearish" }, "macd": { "verdict": "bullish", "text": "above signal — bullish crossover" }, "trend": { "verdict": "bullish", "text": "price > SMA50 > SMA200 — strong uptrend" } } }, "signals": { "overall": "BULLISH", "rsi": { "value": 65.7, "signal": "approaching_overbought" }, "macd": { "signal": "bullish", "histogram": 0.8984, "strength": "moderate" }, "sma200": { "trend": "above", "gap_pct": 20.7 } } }
Example — Pro tier stance_signals (appended alongside the fields above)
{ "stance_signals": [ { "stance": "BULLISH", "conviction": 2, "horizon": "SWING", "edge_quality": "UNKNOWN", "source": "technical_rating", "raw_label": "6.0/10", "as_of": "2026-07-31T14:02:11+00:00" }, { "stance": "BULLISH", "conviction": 7, "horizon": "LONG_TERM", "edge_quality": "UNKNOWN", "source": "ai_summary", "raw_label": "Cloud momentum accelerating into next earnings", "as_of": "2026-07-30T22:15:00+00:00" }, { "stance": "BULLISH", "conviction": 9, "horizon": "LONG_TERM", "edge_quality": "UNKNOWN", "source": "analyst_consensus", "raw_label": "Strong Buy (58 analysts)", "as_of": "2026-07-31T14:02:11+00:00" } ] }
Example — Pro tier relative_strength (appended alongside the fields above)
{ "relative_strength": { "windows": { "5d": { "stock_return_pct": -8.31, "rs_vs_spy": -9.38, "rs_vs_qqq": -9.17, "rs_vs_sector": -8.91 }, "20d": { "stock_return_pct": -1.25, "rs_vs_spy": -0.68, "rs_vs_qqq": 3.57, "rs_vs_sector": 3.23 }, "60d": { "stock_return_pct": 7.54, "rs_vs_spy": 5.48, "rs_vs_qqq": 8.55, "rs_vs_sector": 4.29 }, "120d": { "stock_return_pct": 12.59, "rs_vs_spy": 4.37, "rs_vs_qqq": 0.33, "rs_vs_sector": -10.03 }, "12m": { "stock_return_pct": 49.41, "rs_vs_spy": 29.91, "rs_vs_qqq": 27.06, "rs_vs_sector": 15.23 } }, "verdict": "Mixed — lagging near-term, outperforming long-term" } }

get_stocks free+

Batch stock data for up to 25 symbols in a single call — the same fields get_stock returns for the same key/symbol, so this is a true batch, not a thinned-down scan. Returns prices, fundamentals, and indicators keyed by symbol. Each symbol in the batch counts as one call toward your daily limit. Pro tier adds the same precomputed rating/signals/relative_strength blocks as get_stock, plus ai_verdict/ai_confidence/ai_flag_score/ai_headline per symbol — no extra AI cost. Not included even on Pro: stance_signals and the full ai_summary text — call get_stock/get_stock_research for those.

ParameterTypeDefaultDescription
symbolsarray of stringsrequiredStock tickers (max 25). Symbols with hyphens (e.g. BRK-B) are supported. Invalid symbols are silently skipped.
curl -s https://api.stocklake.dev/mcp \ -H "Authorization: Bearer sl_your_key" \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_stocks","arguments":{"symbols":["JPM","GS"]}}}'
Example response
{ "count": 2, "symbols": { "JPM": { "symbol": "JPM", "name": "JPMorgan Chase & Co.", "sector": "Financial Services", "price": 296.73, "change_pct": -0.42, "volume": 8930000, "analyst_rating": "strong_buy", "indicators": { "rsi": 42.6, "macd": { "macd_line": -1.20, "signal_line": -0.80, "histogram": -0.40 }, "bollinger_bands": { "upper_band": 312.50, "middle_band": 298.10, "lower_band": 283.70 } }, "updated_at": "2026-06-01T14:00:00+00:00" }, "GS": { "symbol": "GS", "name": "The Goldman Sachs Group Inc.", "sector": "Financial Services", "price": 1008.37, "change_pct": 0.87, "volume": 2100000, "analyst_rating": "buy", "indicators": { "rsi": 68.2, "macd": { "macd_line": 5.60, "signal_line": 4.10, "histogram": 1.50 }, "bollinger_bands": { "upper_band": 1050.00, "middle_band": 985.00, "lower_band": 920.00 } }, "updated_at": "2026-06-01T14:00:00+00:00" } }, "requested": 2 }

Response includes the count of matched symbols plus a map with per-symbol data in the same format as get_stock. Requested symbols not found in the database are omitted from the result.

get_stock_history free+

Daily OHLCV price history for a ticker. Returns bars sorted oldest-first.

Parameters

NameTypeDefaultDescription
symbolstringTicker symbol
daysinteger90Number of trading days to return. Max 365 (1 year).

Response fields

FieldTypeDescription
symbolstringTicker
daysintegerDays requested
countintegerBars actually returned (may be less if data is newer)
historyarrayOHLCV bars: date, open, high, low, close, volume
Example
{ "symbol": "AAPL", "days": 5, "count": 5, "history": [ { "date": "2026-04-29", "open": 208.40, "high": 212.10, "low": 207.80, "close": 211.50, "volume": 52183000 }, { "date": "2026-04-30", "open": 211.20, "high": 214.60, "low": 210.90, "close": 213.45, "volume": 48921000 } ] }
Example — AMZN 30-day history
{ "symbol": "AMZN", "days": 30, "count": 22, "history": [ { "date": "2026-04-29", "open": 247.40, "high": 250.60, "low": 246.80, "close": 249.75, "volume": 31045000 }, { "date": "2026-04-30", "open": 250.00, "high": 256.10, "low": 249.20, "close": 255.30, "volume": 28760000 }, { "date": "2026-05-01", "open": 257.10, "high": 264.80, "low": 256.40, "close": 263.90, "volume": 35412000 } ] }

get_market_pulse free

Live market health snapshot in a single call. Aggregates VIX, Fear & Greed index, market breadth, and key index prices — no AI cost, always live data.

Use this as a lightweight context check before making any investment decisions. Replaces the need to call multiple separate endpoints for basic macro state.

No parameters — returns the current market snapshot.

Response fields

FieldTypeDescription
vixnumberVIX level at last pipeline run
fear_greed.valuenumberCNN Fear & Greed index 0–100
fear_greed.descriptionstringLabel: "extreme fear" · "fear" · "neutral" · "greed" · "extreme greed"
breadth.oversold_pctnumber% of tracked stocks with RSI < 30
breadth.overbought_pctnumber% of tracked stocks with RSI > 70
breadth.neutral_pctnumber% of tracked stocks with RSI 30–70
breadth.universe_sizeintegerTotal stocks in the tracked universe
indices.spy / qqq / iwmobjectLive price, change_pct, RSI for SPY / QQQ / IWM
bonds_commodities.tlt / gldobjectTLT (long bonds) and GLD (gold) — price, change_pct, RSI
updated_atstringISO 8601 UTC timestamp of breadth + fear/greed snapshot (pipeline runs every ~4h)
Example response
{ "vix": 15.71, "fear_greed": { "value": 55.0, "description": "neutral" }, "breadth": { "universe_size": 3501, "oversold_pct": 2.0, "overbought_pct": 7.6, "neutral_pct": 90.4 }, "indices": { "spy": { "price": 757.09, "change_pct": 0.38, "rsi": 67.97 }, "qqq": { "price": 733.81, "change_pct": 0.62, "rsi": 73.66 }, "iwm": { "price": 292.01, "change_pct": -0.31, "rsi": 57.73 } }, "bonds_commodities": { "tlt": { "price": 85.64, "change_pct": -0.42, "rsi": 52.41 }, "gld": { "price": 411.27, "change_pct": -0.18, "rsi": 38.43 } }, "data_age_hours": 0.7 }

get_earnings_calendar free+

Upcoming earnings dates for all stocks in the Stocklake universe, within a configurable look-ahead window. Dates sourced from market data — treat is_estimate: true dates as approximate.

Parameters

ParameterTypeDefaultDescription
daysinteger7Look-ahead window in days (max 30)

Response

FieldTypeDescription
window_daysnumberEffective look-ahead window applied
from_datestringWindow start (UTC ISO)
to_datestringWindow end (UTC ISO)
countnumberTotal results returned
results[].symbolstringTicker symbol
results[].namestringCompany short name
results[].sectorstringSector
results[].market_capnumberMarket capitalisation in reporting currency
results[].pricenumberCurrent stock price
results[].rsinumber | nullCurrent RSI — useful for pre-earnings momentum screening
results[].earnings_datestringExpected earnings timestamp (UTC ISO)
results[].is_estimatebooleanTrue if the date is an estimate — treat as approximate
results[].eps_trailingnumber | nullTrailing 12-month EPS
results[].eps_forwardnumber | nullForward EPS estimate

Example response

{ "window_days": 7, "from_date": "2026-05-06T10:00:00+00:00", "to_date": "2026-05-13T10:00:00+00:00", "count": 3, "results": [ { "symbol": "AAPL", "name": "Apple Inc.", "sector": "Technology", "market_cap": 3200000000000, "earnings_date": "2026-05-08T20:30:00+00:00", "is_estimate": false, "eps_trailing": 6.97, "eps_forward": 7.54 } ] }
Example — 30-day window
{ "window_days": 30, "from_date": "2026-05-06T10:00:00+00:00", "to_date": "2026-06-05T10:00:00+00:00", "count": 4, "results": [ { "symbol": "AMD", "name": "Advanced Micro Devices Inc.", "sector": "Technology", "market_cap": 845000000000, "earnings_date": "2026-05-20T20:30:00+00:00", "is_estimate": false, "eps_trailing": 3.95, "eps_forward": 4.82 }, { "symbol": "INTC", "name": "Intel Corporation", "sector": "Technology", "market_cap": 608000000000, "earnings_date": "2026-05-22T21:00:00+00:00", "is_estimate": false, "eps_trailing": 2.41, "eps_forward": 3.10 }, { "symbol": "IBM", "name": "International Business Machines Corp.", "sector": "Technology", "market_cap": 248000000000, "earnings_date": "2026-05-28T20:30:00+00:00", "is_estimate": true, "eps_trailing": 6.58, "eps_forward": 7.22 } ] }

get_screener free

Filter and rank stocks from the Stocklake universe — fundamentals, technicals, and (Pro) AI signals in one tool. Presets provide one-call screens for common setups.

Parameters

NameTypeDefaultDescription
presetstringoversold (RSI≤35, above SMA200) · overbought (RSI≥65) · momentum (RSI 50-70, above SMA200, up 0.5%+) · high_conviction (flag_score≥7, Pro only)
sectorstringe.g. "Technology", "Healthcare"
countrystringe.g. "United States", "Germany"
min_rsi / max_rsinumberExact RSI bounds (e.g. min_rsi=30, max_rsi=50 = post-oversold recovery zone)
sma_trendstringabove_200 / below_200 — price vs 200-day MA
macd_signalstringbullish / bearish — MACD line vs signal line
min_perf_1d / max_perf_1dnumber1-day performance % bounds (e.g. min_perf_1d=2.0 = up 2%+ today)
min_volumeintegerMinimum daily volume. e.g. 1000000
min_market_cap_b / max_market_cap_bnumberMarket cap in billions
max_pe_forwardnumberMaximum forward P/E
analyst_ratingstringstrong_buy / buy / hold / sell / strong_sell
min_flag_scoreintegerMinimum AI flag score 0-10 — Pro tier only
sort_bystringmarket_capmarket_cap / rsi / perf_1d / volume / analyst_rating / rating / flag_score (Pro)
sort_dirstringdescasc / desc
limitinteger201–25. Each returned stock counts as one call toward your daily limit.

Response fields (per result)

FieldTypeDescription
symbol, name, sector, industry, countrystringStock identity
price, change_pct, volumenumberCurrent price, 1-day change %, day volume
market_cap, pe_forwardnumberFundamentals
rsinumberRSI value
macd_signalstringbullish / bearish / neutral
sma200_trendstringabove / below
analyst_ratingstringbuy / hold / sell etc.
ratingnumber0-10 technical composite score
flag_scorenumberPro only — AI flag score 0-10
ai_verdictstringPro only — bullish / neutral / bearish
Example — preset: oversold
{ "count": 8, "preset": "oversold", "filters": { "max_rsi": 35, "sma_trend": "above_200", "sort_by": "market_cap", "sort_dir": "desc" }, "results": [ { "symbol": "VZ", "name": "Verizon Communications", "sector": "Communication Services", "industry": "Telecom Services", "country": "United States", "price": 38.42, "change_pct": -0.8, "volume": 18400000, "rsi": 28.9, "macd_signal": "bearish", "sma200_trend": "above", "analyst_rating": "hold", "rating": 3.4 } ] }

get_market_movers free

Top market movers from the Stocklake universe — gainers, losers, and most active by volume. A fast way to see what's moving in the market right now.

Parameters

NameTypeDefaultDescription
categorystringallgainers / losers / most_active / all (all returns all 3 categories)
limitinteger10Results per category (max 20). Each returned stock counts as one call toward your daily limit — a symbol appearing in more than one category counts once per category.
min_market_cap_bnumberFilter to stocks above this market cap in billions (e.g. 1.0 = $1B+ only)

Response

Returns gainers[], losers[], most_active[] (whichever categories requested). Each entry: symbol, name, sector, price, change_pct, volume, rsi, market_cap, atr_pct (volatility as % of price — omitted when the underlying reading is missing or corrupted).

Example
{ "category": "all", "limit_per_category": 3, "gainers": [ { "symbol": "SMCI", "name": "Super Micro Computer", "sector": "Technology", "price": 48.20, "change_pct": 18.4, "volume": 42810000, "rsi": 67.2, "market_cap": 28400000000, "atr_pct": 6.85 } ], "losers": [ { "symbol": "WBA", "name": "Walgreens Boots Alliance", "sector": "Healthcare", "price": 9.82, "change_pct": -12.7, "volume": 18200000, "rsi": 22.4, "market_cap": 8500000000, "atr_pct": 4.12 } ], "most_active": [ { "symbol": "TSLA", "name": "Tesla", "sector": "Consumer Cyclical", "price": 192.40, "change_pct": 2.1, "volume": 94000000, "rsi": 54.8, "market_cap": 614000000000, "atr_pct": 3.27 } ] }

get_indicator_history pro

Daily indicator snapshots for a symbol — up to 2 years of history. Returns RSI, MACD histogram, Bollinger band position, Williams %R, VIX Fix percentile, and Williams A/D trend per day, enabling charting and trend analysis without re-computing from OHLCV data.

Parameters

NameTypeDefaultDescription
symbolstringTicker symbol
daysinteger90Number of calendar days to look back. Max 730 (2 years).

Response fields

FieldTypeDescription
symbolstringTicker
daysintegerDays requested
countintegerSnapshots returned
snapshotsarraySnapshots sorted oldest-first (see fields below). Empty (with a note field instead) if fewer than 3 found.
snapshots[].recorded_atstringSnapshot date, YYYY-MM-DD
snapshots[].pricenumberPrice at snapshot time
snapshots[].rsinumberRSI(14) value
snapshots[].macd_histogramnumberMACD histogram (line − signal)
snapshots[].bb_pctnumberBollinger band position 0–100: 0 = at lower band, 100 = at upper band
snapshots[].sma20 / sma200number20-day and 200-day simple moving averages
snapshots[].williams_rnumberWilliams %R (0 to −100)
snapshots[].ultimate_oscnumberUltimate Oscillator (0–100; >70 overbought, <30 oversold)
snapshots[].vix_fix_valuenumberWilliams VIX Fix synthetic fear gauge (higher = more fear)
snapshots[].williams_ad_trendstringrising / falling / flat
snapshots[].td_signalstring | nullBUY_SETUP / SELL_SETUP / BUY_COUNTDOWN / SELL_COUNTDOWN / null
snapshots[].td_phasestring | nullsetup_active / setup_complete / countdown_active / countdown_done / null
snapshots[].analyst_ratingstring | nullbuy / outperform / hold / underperform / sell / null
snapshots[].analyst_targetnumber | nullMean analyst price target
Example
{ "symbol": "NVDA", "days": 90, "count": 87, "snapshots": [ { "recorded_at": "2026-04-02", "price": 103.20, "rsi": 28.4, "macd_histogram": -1.82, "bb_pct": 6.3, "sma20": 112.40, "sma200": 128.90, "williams_r": -88.1, "ultimate_osc": 22.7, "vix_fix_value": 18.6, "williams_ad_trend": "falling", "td_signal": null, "td_phase": null, "analyst_rating": "buy", "analyst_target": 142.00 }, { "recorded_at": "2026-07-01", "price": 142.85, "rsi": 61.3, "macd_histogram": 2.14, "bb_pct": 68.7, "sma20": 136.10, "sma200": 131.20, "williams_r": -24.5, "ultimate_osc": 58.1, "vix_fix_value": 9.3, "williams_ad_trend": "rising", "td_signal": "BUY_SETUP", "td_phase": "setup_active", "analyst_rating": "buy", "analyst_target": 160.00 } ] }

get_stock_news free+ AI

Returns AI-analysed news articles for a ticker. Each article has been processed by our AI pipeline — raw article content is not exposed. Free/guest get up to 5 headlines with a sentiment label; Pro gets up to 50 articles with full AI fields (flag score, summary, confidence) over a 90-day window.

When no articles are found, the ticker is automatically queued for a background refresh. Re-queuing an already-pending ticker does not count against your limit.

Parameters

NameTypeDescription
symbolstringTicker symbol
limitintegerMax articles to return. Default 10, max 10.
daysintegerLook-back window in days. Default 30, max 30.

Response

Outer envelope fields:

FieldTypeDescription
symbolstringTicker
statusstringok empty — see below
countintegerNumber of articles returned
daysintegerEffective look-back window in days (max 30)
articlesarrayArticle objects (see below)
messagestringPresent when status is empty

Status values:

Per-article fields:

FieldTypeDescription
titlestringArticle headline
published_atdatetimePublication timestamp (ISO 8601)
ai_sentimentstringpositive / neutral / negative
ai_flag_scorenumber0–10 signal strength (10 = high impact)
ai_summarystringFull AI-generated summary of the article's relevance to the stock
ai_confidencenumber0–10 AI confidence score (normalised from pipeline output)
Example — status ok
{ "symbol": "TSLA", "status": "ok", "count": 3, "days": 30, "articles": [ { "title": "Tesla Q1 deliveries beat expectations", "published_at": "2026-04-03T14:00:00+00:00", "ai_sentiment": "positive", "ai_flag_score": 8, "ai_summary": "Q1 deliveries of 387k beat analyst consensus of 375k, signalling demand stabilisation and easing investor concerns over weakening EV demand.", "ai_confidence": 8.5 } ] }
Example — status empty
{ "symbol": "RKLB", "status": "empty", "count": 0, "days": 30, "articles": [], "message": "No news available for RKLB in the last 30d." }

get_stock_research pro AI

Full research bundle for a symbol in one call — replaces 4 separate calls: get_stock + get_stock_news + get_insider_activity + get_signals (filtered to one symbol), plus the AI-generated summary (verdict, narrative, key points, risks) bundled in as ai_summary. All data is pre-computed by the nightly AI pipeline; no live AI calls on request.

Parameters

NameTypeDescription
symbolstringTicker symbol

Response sections

SectionKey fields
stocksymbol, name, sector, price, change_pct, market_cap, pe_forward, pe_trailing, beta, dividend_yield, week52_high/low, analyst_rating, analyst_target, rsi, sma200_trend
ai_summaryverdict, confidence, flag_score, summary, key_points[] (3–5 specific bullish/neutral observations), risks[] (2–3 specific risk factors), price_at_generation (stock price when the summary was generated), generated_at, headline (one-sentence plain-language take), near_term {stance, confidence} (view over <4 weeks, technicals/momentum-weighted), longer_term {stance, confidence} (view over a multi-month horizon, fundamentals/analyst/institutional-flow-weighted) — headline/near_term/longer_term are null on summaries generated before this schema shipped; fall back to verdict/confidence until that symbol's next regeneration
newsLast 3 AI-flagged articles: title, published_at, ai_sentiment, ai_flag_score, ai_summary
sentimentsignal, confidence, flag_score, insider_trend (buying/selling/neutral), institutional_pct, updated_at
signalActive trade signal (if any): direction, conviction, confidence, flag_score, source, rationale, expires — null if no active signal
Example (condensed)
{ "stock": { "symbol": "ORCL", "name": "Oracle Corporation", "sector": "Technology", "price": 192.40, "change_pct": 1.4, "rsi": 68.9, "sma200_trend": "above", "analyst_rating": "buy", "analyst_target": 210.0 }, "ai_summary": { "verdict": "bullish", "confidence": 8, "flag_score": 9, "summary": "Strong cloud momentum, AI workload growth accelerating...", "key_points": ["Cloud ARR up 23% YoY", "AI training contracts with major hyperscalers"], "risks": ["Elevated valuation at 28x forward earnings"], "price_at_generation": 192.40, "generated_at": "2026-06-10T20:30:38+00:00", "headline": "Cloud momentum accelerating into next earnings", "near_term": { "stance": "bullish", "confidence": 7 }, "longer_term": { "stance": "bullish", "confidence": 8 } }, "news": [ { "title": "Oracle beats Q3 earnings, cloud growth accelerates", "published_at": "2026-06-10T20:15:00+00:00", "ai_sentiment": "positive", "ai_flag_score": 9, "ai_summary": "Beat on EPS and revenue, cloud segment +31%..." } ], "sentiment": { "signal": "bullish", "confidence": 7, "insider_trend": "neutral", "institutional_pct": 72.1, "updated_at": "2026-06-04T23:07:46+00:00" }, "signal": { "direction": "LONG", "conviction": 8, "flag_score": 9, "source": "screener", "rationale": "Strong AI cloud catalyst, momentum breakout...", "expires": "2026-06-12" } }

get_signals pro AI

Live AI signal queue — stocks actively flagged by the Stocklake pipeline as worth attention. Sourced from sector screening, news analysis, sentiment signals, and social/community monitoring. Signals expire daily; this always reflects the pipeline's current view.

Pipeline dependency. Signals are refreshed by scheduled AI jobs. If the pipeline hasn't run recently, results may be sparse. Check age_hours on each signal to assess freshness.

Parameters

NameTypeDefaultDescription
directionstringLONG · SHORT · BOTH — filter by trade direction. Omit for all.
min_convictioninteger7Minimum conviction score (0–10). Higher = pipeline more confident in the signal.
min_flag_scoreinteger8Minimum flag score (0–10). 8+ = notable, 9+ = high conviction. Lowering to 7 returns more signals.
sourcestringFilter by signal source: news · screener · sentiment · social
limitinteger25Max signals to return (max 25). Results sorted by timestamp (newest first). Each returned signal counts as one call toward your daily limit.

Response fields

FieldTypeDescription
countintegerNumber of signals returned
filtersobjectEcho of applied filters
signals[].symbolstringTicker
signals[].directionstringLONG · SHORT · BOTH
signals[].convictionintegerPipeline conviction 0–10
signals[].confidenceintegerAI confidence 0–10
signals[].flag_scoreintegerSignal notability 0–10 (8+ = worth attention)
signals[].sourcestringPrimary pipeline source that flagged this stock
signals[].sourcesarrayAll sources that contributed (when merged across sources)
signals[].rationalestringAI rationale — why the pipeline flagged this stock
signals[].expiresstringDate after which this signal is considered stale (YYYY-MM-DD)
signals[].flagged_atstringISO 8601 UTC timestamp when this signal was last flagged by the pipeline
Example
{ "count": 3, "filters": { "min_conviction": 7, "min_flag_score": 9, "direction": null }, "signals": [ { "symbol": "MGM", "direction": "BOTH", "conviction": 9, "confidence": 7, "flag_score": 10, "source": "news", "sources": ["news"], "rationale": "flag=10/10 | bullish | impact=95/100 | MGM Resorts acquisition by Apollo rumored at 25% premium", "expires": "2026-06-06", "age_hours": 3.2 }, { "symbol": "CMA", "direction": "BOTH", "conviction": 8, "confidence": 6, "flag_score": 9, "source": "news", "sources": ["news"], "rationale": "flag=9/10 | mixed | impact=85/100 | Comerica net interest income guidance raised on rate optimism", "expires": "2026-06-06", "age_hours": 4.1 } ] }

get_insider_activity pro AI

AI-synthesized insider + institutional sentiment for a stock. Combines SEC Form 4 insider transactions with Nasdaq institutional holder data, nightly enrichment.

Parameters

ParameterTypeRequiredDefaultDescription
symbolstringTicker symbol (e.g. AAPL, TSLA)

Response fields

FieldTypeDescription
symbolstringTicker
signalstringCombined sentiment: STRONG_BULLISH, BULLISH, NEUTRAL, BEARISH, STRONG_BEARISH
flag_scoreintNotability 0–10. 8+ = trader alert
confidenceintAI confidence 1–10
insider_signalstringInsider-only signal: BULLISH, BEARISH, NEUTRAL, NONE
inst_signalstringInstitutional-only signal: BULLISH, BEARISH, NEUTRAL, NONE
summarystringHuman-readable 2–4 sentence summary with specific names, amounts, and direction
insider_buysintNumber of insider buy transactions (pre-filtered)
insider_sellsintNumber of insider sell transactions (pre-filtered)
inst_ownershipnumber | nullInstitutional ownership percentage as a float (e.g. 74.55)
total_holdersint | nullTotal institutional holders
updated_atstringISO 8601 UTC timestamp when data was last refreshed
updated_atstringISO 8601 UTC timestamp of last sentiment refresh (nightly pipeline)

Example response

{ "symbol": "BG", "signal": "BULLISH", "flag_score": 6, "confidence": 7, "insider_signal": "BEARISH", "inst_signal": "BULLISH", "summary": "COO Garros Julio sold $337K — lone bearish insider signal. Institutions strongly bullish: 377 holders increased (+28.6M sh) vs 283 decreased. 128 new holders added 20.9M sh.", "insider_buys": 0, "insider_sells": 1, "inst_ownership": 99.81, "total_holders": 758, "updated_at": "2026-05-11T22:16:29.930700+00:00" }
Example — CRM (STRONG_BULLISH, high insider buying)
{ "symbol": "CRM", "signal": "STRONG_BULLISH", "flag_score": 9, "confidence": 8, "insider_signal": "BULLISH", "inst_signal": "BULLISH", "summary": "CEO Benioff bought $12.4M worth of shares — largest insider buy in 3 years. Three additional C-suite insiders added $4.2M combined. Institutions increased holdings by 3.2% this quarter with 42 new holders opening positions. Strong alignment between insider and institutional conviction.", "insider_buys": 4, "insider_sells": 0, "inst_ownership": 82.15, "total_holders": 2410, "updated_at": "2026-05-28T06:15:00+00:00" }

get_news_feed pro AI

Market-wide AI-flagged news briefing — top articles across all tracked stocks ranked by signal strength. Unlike get_stock_news (per-symbol), this scans the entire universe and surfaces the most notable news regardless of ticker. No URLs or source domains exposed.

Parameters

NameTypeDefaultDescription
min_flag_scoreinteger8Minimum AI flag score (5–10). 8 = notable · 9 = high-impact · 10 = exceptional
daysinteger3Look-back window in days (max 10)
limitinteger10Max articles returned (max 25)
Example
{ "count": 10, "days": 3, "min_flag_score": 8, "articles": [ { "symbol": "NVDA", "title": "Nvidia unveils GB300 chip, accelerating AI data center roadmap", "published_at": "2026-06-04T14:30:00+00:00", "ai_sentiment": "positive", "ai_flag_score": 9, "ai_summary": "New GB300 architecture delivers 2× throughput over H100. Roadmap acceleration strengthens moat vs AMD...", "ai_confidence": 8.8 } ] }

get_market_assessment pro AI

Combined macro regime + market outlook in a single call. Produced every ~4 hours by the market intelligence pipeline. Returns two complementary perspectives:

Note: market_context is a point-in-time snapshot from when the AI ran — not live. Use get_market_pulse for live prices.

Parameters

NameTypeDefaultDescription
history_countinteger0Include last N prior assessments for each perspective (0–3). Returns regime_history[] and outlook_history[].

Response — Regime fields

FieldTypeDescription
regimestringRISK_OFF / CAUTIOUS / NEUTRAL / AGGRESSIVE
regime_biasstringLONG_ONLY / SHORT_ONLY / BOTH
regime_confidencenumber1–10. Clarity of the regime call.
regime_rationalestringCore thesis in plain language
key_risksstring[]2–3 tail risks that could invalidate the call
watch_forstring[]Triggers that would cause a regime change
vix_at_assessmentnumberVIX level when assessment was made
regime_updated_atstringISO 8601 UTC timestamp of last assessment
indicators.macro_dataobjectFRED macro data: yield_spread_10y2y, fed_funds_rate, cpi_index (BLS index level ~332, not YoY %), unemployment, breakeven_10y, usd_index, m2 — each with value, date, delta_3m
indicators.volatility_term_structureobjectVIX / VIX3M / VIX6M last 5 closes + contango/backwardation signal
indicators.market_sentimentobjectFear & Greed value (0–100) and label
market_contextobjectPoint-in-time snapshot: price/RSI/SMA200/perf for SPY, QQQ, IWM, TLT, GLD, VIX, TNX, HYG, sector ETFs. Recorded when AI ran — not live.

Response — Outlook fields

FieldTypeDescription
outlookstringBULLISH / NEUTRAL / BEARISH
outlook_convictionnumber1–10. Strength of the directional call.
equity_viewstringPlain language directional narrative
preferred_sectorsstring[]Sectors to overweight
avoided_sectorsstring[]Sectors to underweight
catalyststringPrimary catalyst driving the outlook
outlook_key_riskstringKey risk to the outlook thesis
outlook_rationalestringDetailed reasoning
outlook_updated_atstringISO 8601 UTC timestamp of last assessment
regime_history[]object[]Prior regime states (when history_count > 0): regime, bias, confidence, vix_at_assessment, at
outlook_history[]object[]Prior outlook states (when history_count > 0): outlook, conviction, at
Example (condensed)
{ "regime": "CAUTIOUS", "regime_bias": "BOTH", "regime_confidence": 6, "regime_rationale": "Equity uptrend intact. HYG diverging — credit not confirming SPY highs.", "key_risks": ["HYG breaking below $79.50", "VIX closing above 20"], "watch_for": ["HYG reclaiming $80.50 → upgrade to NEUTRAL"], "vix_at_assessment": 16.94, "regime_updated_at": "2026-05-06T09:14:56+00:00", "indicators": { "macro_data": { "yield_spread_10y2y": { "value": 0.21, "delta_3m": 0.15 } }, "market_sentiment": { "value": 54.0, "description": "Neutral" } }, "market_context": { /* NOT live — snapshot from regime_updated_at */ "spy": { "price": 574.12, "rsi": 70.3, "above_200sma": true } }, "outlook": "BULLISH", "outlook_conviction": 7, "equity_view": "Momentum intact. Tech leading. Small-caps lagging but not breaking down.", "preferred_sectors": ["Technology", "Industrials"], "avoided_sectors": ["Utilities", "Real Estate"], "catalyst": "AI spending cycle intact. Macro resilience.", "outlook_updated_at": "2026-05-06T09:14:56+00:00" }

get_sector_intelligence pro AI

AI-assessed sector intelligence with signals (LEADING/STRONG/NEUTRAL/WEAK/LAGGING), drivers, alerts, and computed statistics. Pass a sector for deep single-sector analysis, or omit for all 11 sectors at once — the all-sectors call doubles as the rotation view (sort_by_strength + history_count). Refreshed every ~4 hours by the market intelligence pipeline.

Parameters

ParameterTypeRequiredDefaultDescription
sectorstringNoneSector name (e.g. Technology, Healthcare). Omit to list all sectors.
sort_by_strengthbooleanfalseAll-sectors call only: sort LEADING→LAGGING instead of alphabetical — for finding leading vs lagging sectors
history_countinteger0All-sectors call only: include last N prior signal states per sector (0–3)

Response fields

FieldTypeDescription
sectorstringSector name
signalstringLEADING / STRONG / NEUTRAL / WEAK / LAGGING
cycle_stagestringSector cycle phase (e.g. MARKUP, MARKDOWN, ACCUMULATION, DISTRIBUTION)
rotation_signalstringMoney-flow read (e.g. ACCUMULATE, DISTRIBUTE, HOLD)
confidencenumberAI confidence 1–10
driversstringAI narrative of sector drivers
alertstringNotable condition if applicable (breadth divergence, extreme RSI, etc.)
stats.avg_rsinumberSector-average RSI
stats.sma200_breadth_pctnumber% of stocks above their 200-day MA
stats.oversold_pct / overbought_pctnumberRSI distribution extremes
stats.avg_perf_1w_pct / avg_perf_1m_pctnumberAverage sector performance 1W / 1M
updated_atstringISO 8601 when the assessment was made
history[]arrayPresent when history_count > 0 (all-sectors call) — prior {signal, confidence, at}
sectors[] / countarray / integerPresent when sector param is omitted — all sectors assessed
Example — single sector
{ "sector": "Technology", "signal": "STRONG", "confidence": 7, "drivers": "AI capex cycle, earnings momentum. Mega-caps leading with broad participation.", "alert": "19.5% overbought, breadth only 53% — narrow leadership suggests froth in pockets", "stats": { "avg_rsi": 56.5, "sma200_breadth_pct": 53.1, "oversold_pct": 4.1, "overbought_pct": 19.5, "avg_perf_1w_pct": 1.1, "avg_perf_1m_pct": 11.0 }, "updated_at": "2026-05-12T10:19:48+00:00" }
Example — all sectors, sort_by_strength=true (rotation view)
{ "count": 11, "sectors": [ { "sector": "Technology", "signal": "STRONG", "confidence": 7, "stats": { "avg_rsi": 56.5, "sma200_breadth_pct": 53.1, "avg_perf_1w_pct": 1.1 }, "alert": "19.5% overbought — narrow leadership", "updated_at": "2026-05-12T10:19:48+00:00" }, { "sector": "Energy", "signal": "WEAK", "confidence": 6, "stats": { "avg_rsi": 42.3, "sma200_breadth_pct": 35.8, "avg_perf_1w_pct": -2.1 }, "alert": null, "updated_at": "2026-05-12T10:19:48+00:00" } ] }

get_earnings_intelligence pro AI

Upcoming earnings with AI context per stock — combines the earnings calendar with AI pipeline data to surface which events are worth monitoring. Sorted by earnings date ascending (soonest first).

Parameters

NameTypeDefaultDescription
days_aheadinteger14Look-ahead window in days (max 30)
sectorstringFilter to one sector (optional)
min_flag_scoreintegerOnly return stocks with AI flag score ≥ this value (optional). Applied before limit truncates the result.
limitinteger25Max results to return (max 25). Each returned stock counts as one call toward your daily limit.

Response fields (per result)

FieldTypeDescription
symbol, name, sectorstringStock identity
earnings_datestringISO UTC timestamp of expected earnings release
is_estimatebooleanWhether the date is estimated
price, rsi, market_capnumberCurrent technicals
eps_trailing, eps_forwardnumberEarnings expectations context
ai_verdictstringbullish / neutral / bearish (from nightly AI pipeline)
ai_flag_scorenumber0–10. 8+ = notable going into earnings
ai_confidencenumber0–10. AI confidence in the verdict
ai_risksstring[]Top 2 AI-identified risk factors
analyst_rating, analyst_targetstring / numberWall Street consensus
Example
{ "count": 22, "days_ahead": 14, "results": [ { "symbol": "ORCL", "name": "Oracle Corporation", "sector": "Technology", "earnings_date": "2026-06-10T20:00:00+00:00", "is_estimate": false, "price": 192.40, "rsi": 68.9, "eps_forward": 7.20, "ai_verdict": "bullish", "ai_flag_score": 9, "ai_confidence": 8, "ai_risks": ["Elevated valuation at 28x forward earnings", "Cloud margin pressure from AI infra spend"], "analyst_rating": "buy", "analyst_target": 210.0 } ] }

get_watchlist pro AI

The caller's Stocklake watchlist — the symbols starred on the web dashboard at /dashboard — enriched with live price, technicals, and AI verdict. No parameters; resolves your account automatically from your API key or OAuth session.

Parameters

None.

Response fields

FieldTypeDescription
countintegerNumber of symbols on the watchlist
items[].symbol, name, sectorstringStock identity
items[].price, change_pct, rsinumberLive snapshot
items[].atr_pctnumberAverage True Range as % of price (volatility). Omitted if the underlying indicator reading is missing or corrupted.
items[].ai_verdictstringbullish / neutral / bearish (from nightly AI pipeline)
items[].ai_flag_scorenumber0–10 urgency score
items[].added_atstringISO UTC timestamp — when the symbol was starred
items[].price_at_addnumberPrice at the moment it was starred, for a "since added" delta

Read-only — starring/unstarring a symbol is web-only for now (no add_to_watchlist/remove_from_watchlist tool yet). Returns count: 0, items: [] if nothing is starred.

Example
{ "count": 2, "items": [ { "symbol": "AAPL", "name": "Apple Inc.", "sector": "Technology", "price": 231.02, "change_pct": 1.14, "rsi": 58.3, "atr_pct": 2.41, "ai_verdict": "bullish", "ai_flag_score": 6, "added_at": "2026-07-20T09:14:02+00:00", "price_at_add": 224.87 } ] }