# Tickerbot API — overview

> The stock market, in SQL

~12,000 US tickers and top 100 cryptos, refreshed every minute, with 376+ signal columns. Scan live, replay any day with `?asof=`, or subscribe a query and we POST you the moment it fires.

New here? Jump to the quickstart for a runnable first request: https://tickerbot.io/api/quickstart

## The endpoints

Six endpoint families. One schema.

| Bucket | Path | What it answers |
|--------|------|-----------------|
| Tickers | `/v2/tickers` | Current state, historical state (time-travel via `?asof=`), and the event log (splits, dividends, rating changes) per ticker. Or paginate the whole universe. |
| Signals | `/v2/signals` | Which tickers match a signal now, the same match set on any past date with `?asof=`, and the 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. |
| News | `/v2/news` | SQL-style scan of the news archive. Article rows or rollups by ticker, day, source, or sentiment. Scale and above. |
| Webhooks | `/v2/webhooks` | Subscriptions are created on each resource (`POST /v2/tickers/{T}/subscribe`, `/v2/signals/{X}/subscribe`, `/v2/scan/subscribe`). The `/v2/webhooks` registry lists, inspects, and manages every subscription you've created across resources. |

## The schema is the API

The schema page (https://tickerbot.io/api/schema) documents every column on a ticker: numerics like `price` and `market_cap`, classifications like `sector`, and 50+ pre-thresholded boolean flags like `breakout` and `gap_up`. 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

- **No raw OHLCV bars.** Polygon, Tiingo, and Finnhub already do this well.
- **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.
