~12,000 US equities and the top 100 cryptos, recomputed every minute, with 100+ queryable fields (e.g. RSI, gaps, volume spikes, 52-week highs). We expose the whole thing as an API: pass a SQL WHERE clause, get back the tickers that match — live, historical, or as a subscription.
the schema
About 61 numeric fields and 56 boolean flags per symbol, recomputed every minute. The same identifiers power every endpoint. That’s the API. Compose them into screens, signals, backtests, indicator workflows, or hand them to an AI agent.
the API
Tickers, signals, scan, universes, rules, webhooks. Same SQL grammar and field vocabulary across every call — pull a ticker’s state, query the universe, scope to a list, save it, subscribe it.
/v2/tickersCurrent state, historical state, and the event log for any ticker. List or paginate the whole universe.
Docs →/v2/signalsWhich tickers match a named flag right now. Or the historical time series of one flag for one ticker.
Docs →/v2/scanSynchronous SQL across the live universe — or any past day with ?asof=.
/v2/universesNamed ticker lists. Reference from /scan, /rules, or /webhooks via ?universe=.
/v2/rulesSaved scan bundles. Run by name from /scan?rule= or attach to a webhook.
/v2/webhooksSubscribe a SQL condition. We POST your endpoint each time a new ticker enters the match set.
Docs →featured: /v2/signals
Every signal is two queries at once. Ask which tickers match right now — cross-section across the universe. Or ask when has this fired historically — time-series for one flag on one ticker, going back years. Same vocabulary; same SQL grammar.
GET /v2/signals/rsi_oversold| ticker | price | rsi | rel_vol |
|---|---|---|---|
| MARA | $15.20 | 22.5 | 3.2× |
| COIN | $192.40 | 26.8 | 2.7× |
| SOFI | $8.95 | 27.3 | 2.0× |
| RIOT | $11.20 | 28.1 | 2.4× |
| PLTR | $24.50 | 29.4 | 2.1× |
| + 18 more | |||
GET /v2/signals/rsi_oversold/NVDA/history| date | price | return_30d |
|---|---|---|
| 2021-10-04 | $54.20 | +11.5% |
| 2022-05-09 | $36.20 | −4.8% |
| 2022-10-13 | $28.10 | +22.3% |
| 2023-08-21 | $95.80 | +8.2% |
| 2024-04-19 | $83.40 | +14.9% |
| 2024-09-06 | $108.50 | +6.5% |
| 2025-04-04 | $94.70 | +19.2% |
featured: GET /v2/scan
Pass a SQL WHERE clause as q. The response is the list of tickers that match right now. Identifiers are field and flag names from the schema; everything else is standard SQL. Edit the clause and hit Run.
featured: POST /v2/webhooks
Pick a stock you’re watching and the exact condition you’d act on. NVDA dipping below RSI 30 on twice its average volume, AAPL closing above its 200-day for the first time in months. Subscribe to that and we’ll POST you the moment it happens. Use it to time an entry from a trading bot, get a Slack ping for a manual look, or learn the second a setup you’ve been waiting weeks for finally appears.
-- NVDA: oversold bounce setup
ticker = 'NVDA'
AND rsi_oversold -- RSI < 30
AND volume_unusual_2x -- volume >= 2x avg| Time | Price | RSI | Vol |
|---|---|---|---|
| Apr 28 · 10:14 | $784.20 | 28.4 | 2.6× |
| Mar 12 · 13:42 | $812.50 | 27.1 | 3.4× |
| Feb 21 · 09:38 | $759.10 | 29.8 | 2.1× |
| Jan 14 · 14:55 | $698.40 | 26.0 | 4.7× |
| Dec 03 · 11:20 | $652.30 | 28.9 | 2.8× |
works with your agent
Every endpoint speaks SQL and returns JSON. Point your coding agent at the API and let it compose, backtest, and subscribe queries on its own.
ship it