Tickerbot is the stock market in SQL — a computed table of every ticker × every signal. We’ve been building trading tools for years, first for ourselves, then for others. This page is what we kept hitting, what we tried first, and what we decided to ship.
why we built this
Every time we wanted to act on the market, we ended up rebuilding the same stack. Pull OHLCV from a feed. Stand up a Postgres warehouse. Compute indicators. Index point-in-time so historical queries work. Schedule the scan. Wire up webhook delivery. Maintain it as data corrections come in.
The feed was the cheap step. The work was the warehouse, the query layer, and the delivery on top of it. We built that stack for ourselves a dozen times — paper-trading ideas, custom alerts, dashboards for our own portfolios — and every project started the same way: six weeks of plumbing before the first row came back.
So we built it once, indexed every US equity and the top 100 cryptos, precomputed the signals, and put SQL on top. That’s Tickerbot — the stock market, in SQL.
what came before
The first was Tickerterm — a full hosted trading terminal. Agent chat for exploring ideas and generating strategy code, an in-browser editor for the algorithms themselves, charts on par with TradingView, portfolio management, and an API that did everything Tickerbot does today plus order execution through Alpaca. It worked. The audience for a hosted terminal was narrower than the audience for the warehouse underneath it.
The second was a consumer mobile app — describe a setup in natural language, get push notifications when it fires. Same warehouse, same scans, simpler surface. The retail audience wanted simpler tools than we were building, and our most engaged users kept asking the same question: “can I get this as an API?”
This is the third, and the right one. The warehouse, the SQL grammar, and the webhook delivery — the layer doing the real work inside both prior products — is what we ship now. The terminal you’d build on top of us, you build yourself. The agent you’d write trading code with, you bring yourself. The broker you execute through, you bring yourself. The warehouse underneath is ours.
what’s in the box
Rows are tickers. Columns are signals. The warehouse covers every US equity (~12,000) and the top 100 cryptos by market cap. Cadence is per-signal — live signals every minute during market hours (24/7 for crypto), fundamentals daily, financials when issuers file. Each row carries ~253 precomputed fields (price, volume, RSI, MAs, ATR, gap math, position metrics, volatility) and ~123 named condition flags (gap_up, at_52w_high, breakout, rsi_oversold, …) — every notable thing a market participant might ask about, already a column.
One SQL grammar wherever a WHERE clause applies. Six endpoint families front it:
/v2/tickers — current state, historical state, and the event log per ticker/v2/signals — which tickers match a named signal now; historical fires per ticker × signal/v2/scan — SQL across every ticker, live or any past day via ?asof=/v2/universes — named ticker lists, including monthly-rebalanced top_10 and top_100/v2/news — per-ticker article scans, filterable by sentiment, recency, or source/v2/webhooks — subscription registry; signed, retried, idempotent deliveryUnder the hood:
5m on Hobby, 1m on Pro and Scale)the team
We’re David Spiro (co-founder & CEO) and Marc Auger (co-founder & CTO). We met as two of the first few employees at Bubble nearly a decade ago, where we helped build a visual programming language for shipping web apps without writing code. That put us up close with a generation of AI tools — agents, code generators, model integrations — long before they were mainstream. We started applying what we’d learned to financial markets. Tickerbot is what came out of it.
try it