Scan for the setup you actually trade.
Write the chart pattern as a few lines of StonQL. Run it across 9,000+ stocks and ETFs, on any of 15 timeframes, from the web or your own code.
// Weekly uptrend, daily pullback to the 21 EMA mtf("1W") { close > ema(close, 21); rsi(close, 14) > 50; } low <= ema(close, 21); close > ema(close, 21); volume > sma(volume, 20) * 1.5;
Dropdowns can't describe a chart.
Pick an indicator, pick an operator, pick a value, repeat. The setups you trade, with their bar-by-bar relationships, don't fit in those boxes. A short language does.
rsi(close, 14) > 50; crossover(ema(close, 8), ema(close, 21)); // the prior bar was an inside bar high[1] < high[2]; low[1] > low[2];
Reads like Pine Script. Built for scanning.
Historical references, built-in indicators, plain boolean logic. No plotting, no strategy blocks: just filters that run against the whole market.
Rather describe it?
The built-in assistant turns a plain-English description into StonQL. You see every line it writes, and can edit it.
Every timeframe, in one scan.
Wrap conditions in mtf() to require them on a higher timeframe. Assign one to a variable to pull a weekly or monthly value into a daily comparison.
Did today close above last week's high? One line.
// Daily breakout over last week's high, // only while the monthly trend is up mtf("1M") { close > sma(close, 3); } prev_week_high = mtf("1W") { high[1]; }; close > prev_week_high; volume > sma(volume, 20) * 1.5;
Scans compose.
Results stay selected, and the next scan runs only against them. Build a universe on the monthly chart, narrow it on the weekly, trigger on the daily, then save what's left to a watchlist.
Your scans, wherever your agents run.
Everything the scanner does is an API call: validate, run, save scans, manage watchlists. Hand a key to your script, your notebook or your agent and let it do the scanning.
- OpenAPI spec. Generate a typed client in any language.
- Compile errors with line and column, so an agent can fix its own expression.
- Idempotent execution. A retried request never pays twice.
- TradingView import and export for watchlists.
curl https://stocksfast.io/api/v1/scans/execute \ -H "Authorization: Bearer $STOCKSFAST_KEY" \ -H "Content-Type: application/json" \ -d '{"timeframe": "1W", "expression": "close > sma(close, 200); volume > 2 * sma(volume, 20);"}'
{"data": [{"symbol": "AAPL", "close": 231.40, …}],
"page": {"limit": 50, "offset": 0, "total": 137},
"scan": {"scan_date": "2026-09-28", "timeframe": "1W"}}
Start from 50+ ready-made scans.
Copy one, change a number, make it yours.
Pay for scans as you go. Credits never expire. API runs draw from the same balance.
Buy a packUnlimited scans, saved scans and watchlists, every timeframe, full history, the assistant. Monthly, quarterly or yearly.
Start 14-day free trial