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. Compute signals. 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 few 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. Users kept asking the same question: “can I get this as an API instead?”
This is the third, and the right one. The warehouse, the SQL grammar, and the webhook delivery are the layer that did the real work inside both prior products. That is what we ship now, delivered to you as an API.
what’s in the box
Rows are tickers. Columns are signals. The warehouse covers every US equity (~12,947) 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 ~265 precomputed fields (price, volume, RSI, MAs, ATR, gap math, position metrics, volatility) and ~148 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/webhooks — subscription registry; signed, retried, idempotent delivery/v2/universes — named ticker lists, including monthly-rebalanced top_10 and top_100/v2/analyst — analyst rating changes: upgrades, downgrades, initiations, and price-target moves per ticker/v2/news — per-ticker article scans, filterable by sentiment, recency, or sourceUnder the hood:
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, helping build a visual programming language for shipping web apps without writing code. We watched AI coming, and saw it would expand who can build technical things. So we pointed that wave at a domain we’d been playing with on the side for fun: algorithmic trading. That became Tickerbot. Today David owns GTM, Marc owns dev ops, and we share building the product.
try it
Free plan. Every ticker, every signal, real-time data, all-time history.