Get Signals
get_signalsAI-screened stock signals recently surfaced by the Stocklake pipeline — sourced from news analysis, sector screening, and sentiment signals.
Shows what the pipeline noticed in the last 24 hours (falling back to the
most recent signals regardless of age if nothing has fired in that window
— see window in the response). This reflects what the AI pipeline found,
not whether Stocklake's own internal trading engine still holds it live —
a signal it later dropped or let expire is still shown here, since that's a
fact about our own trading state, not about the signal's informational value.
Parameters:
direction: "POSITIVE" | "NEGATIVE" | "NEUTRAL" (default: all). NEUTRAL covers both a flat/undecided read AND a genuinely two-sided idea (real opposing bull/bear theses on the same symbol) — in the latter case signal_score is the STRONGER of the two sides (see signal_score below), so a high score alongside NEUTRAL means "real conviction here, just no directional consensus," not "nothing going on." The two-sided detail is in
rationale.min_signal_score: minimum composite signal score 0-100 (default 60) — a blend of conviction/confidence/flag_score, source track record, and real technical factors. This is the field to filter on. Always compared against a single number, including for NEUTRAL/two-sided ideas — a result is never returned below your threshold on both sides.
min_conviction, min_flag_score: DEPRECATED, ignored for filtering — kept in the signature only so existing callers don't hard-fail; ai.stocklake.dev's internal scoring retired the raw conviction/confidence/flag_score triad in favor of signal_score. Passing a non-default value here has no effect and is logged for a planned removal.
source: filter by signal source — "news" | "screener" | "sentiment" | "social" (default: all)
limit: max results to return (default 50, max 50). Each returned signal counts as one call toward your daily limit.
Returns:
count: number of signals returned
window: "24h" (fresh activity found) or a fallback note when the last 24h had nothing and the response instead shows the most recent signals overall
signals[]: each with symbol, direction, signal_score (0-100), signal_score_band (human-readable label — "Weak"/"Moderate"/"Strong"/"Very Strong"), source, rationale, expires, flagged_at
Pro tier only — AI pipeline cost attached. For informational purposes only. Not financial advice.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results to return (default 50, max 50). Each returned signal counts as one call toward your daily limit. | |
| source | No | Filter by signal source: "news" | "screener" | "sentiment" | "social" (default: all). | |
| direction | No | Filter by direction: "POSITIVE" | "NEGATIVE" | "NEUTRAL" (default: all). NEUTRAL covers both a flat/undecided read and a genuinely two-sided idea (see signal_score below). | |
| min_conviction | No | DEPRECATED, ignored for filtering — kept in the signature only so existing callers don't hard-fail; internal scoring retired the raw conviction/confidence/flag_score triad in favor of signal_score. Passing a non-default value here has no effect and is logged for a planned removal. | |
| min_flag_score | No | DEPRECATED, ignored for filtering — kept in the signature only so existing callers don't hard-fail; internal scoring retired the raw conviction/confidence/flag_score triad in favor of signal_score. Passing a non-default value here has no effect and is logged for a planned removal. | |
| min_signal_score | No | Minimum composite signal score, 0-100 (default 60) — a blend of conviction/confidence/flag_score, source track record, and real technical factors. This is the field to filter on. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||