The stock market in SQL
The US stock market and top 100 cryptos as a SQL-queryable database. ~12,000 tickers, recomputed every minute, with indicators and condition flags as columns.
New here? Jump to the quickstart for a runnable first request.
The endpoints
The whole API. Each one is documented in detail under Endpoints.
| Bucket | Path | What it answers |
|---|---|---|
| Tickers | /v2/tickers, /v2/tickers/{ticker} | The current state of one ticker, the universe, or a bulk-fetched set. Full financial data and the current value of every signal. |
| Tickers | /v2/tickers/{ticker}/history?asof=, /v2/tickers/{ticker}/events | Time-travel the wide row to any past date, or pull the discrete event log (splits, dividends, rating changes). |
| Signals | /v2/signals/{signal} | “Which tickers match this signal right now?” |
| Signals | /v2/signals/{signal}/{ticker}/history/{interval} | Historical time series for any signal × any ticker × any resolution (1m / 1h / 1d / 1w). |
| Scan | /v2/scan | “Who matches this right now?” or “who matched on this past date?” (pass ?asof=YYYY-MM-DD). Pass a SQL WHERE clause, get matching tickers back. |
| Universes | /v2/universes | Named ticker lists referenced as ?universe=<slug> from any query endpoint. System universes (top_10, top_100) are included on every plan. |
| Rules | /v2/rules | Saved scan bundles (q + universe_id + ordering + fields). Run by name from /scan?rule= or subscribe to via a webhook. |
| Webhooks | /v2/webhooks | “Tell me when this becomes true.” Same SQL grammar. We POST to your URL on a per-webhook cadence (1m, 5m, 15m, hourly, or NYSE-open) when any ticker enters the match set. |
The schema is the API
One unified set of columns powers every endpoint.
The schema page documents every column on a ticker: numerics like price and market_cap, classifications like sector, and 50+ pre-thresholded boolean flags like breakout and volume_unusual_2x. Once you know the schema you know the API: every column is queryable from SQL, returnable in a ticker payload, and pullable as a time series.
We compute the signals, you compose them. Bring a SQL WHERE clause; we’ll evaluate it across the universe in real time.
What this API doesn’t do
Honest scope boundaries. Pair us with the right tool for the job.
- No raw OHLCV bars. Polygon, Tiingo, and Finnhub already do this well. Snapshot price context (current price, prior close, day change, volume) is included on ticker responses so you don’t need a second call to interpret a signal, but tick-by-tick bars and full historical OHLCV live with your data vendor.
- No order execution. We tell you when the conditions you care about are met. Routing the order is your broker’s job.
- No SLAs at launch. Best-effort uptime today; enterprise SLAs gated to a future tier.