Tables
The ticker table, 23,383+ tickers × 452+ signals, updated every minute with history back to 2003, and the tables around it: bars, events and news, plus ETF holdings. This page is the map; each has its own reference.
The ticker table
One row per ticker, one column per signal.
Each row is one tradeable instrument: every US-listed stock and ETF plus curated rates, FX, metals and crypto (Tickers). Each column is one signal: the raw data (price, volume, statement lines), values calculated from it (moving averages, RSI, ratios), and boolean conditions on top (above_sma_200, golden_cross) (Signals, with a reference page per signal). The pipeline recomputes the table continuously, so raw and computed values land in the same row; you run no feed, no storage, no indicator math.
Under the hood the table is the live row plus historized state: a daily row per ticker, with hourly and minute grains for session columns. You never query the history by name; ?asof= and series route to it. That is why depth and intraday availability vary per column, and why each column's reference page states the grains that carry it.
You read it four ways: a row (one ticker’s every signal, Tickers), a column (every ticker where one signal holds, Signals), a scan (every ticker matching a WHERE clause, Scan), and a series (any tickers’ columns over time, Series).
The other tables
The per-ticker state table is the primary surface: reach for it whenever the question is "what is true of this ticker (now, or as of a moment)". The three shapes below answer different questions: bars when you want the raw OHLCV record rather than computed state, events when you want the timeline of discrete happenings, and news when you want searchable article text. Same rule everywhere: the columns below are the grammar.
Bars
| Column | Type | Description |
|---|---|---|
ticker | text | symbol (key) |
t | bigint | bar start (epoch ms, key) |
o | numeric | open |
h | numeric | high |
l | numeric | low |
c | numeric | close |
v | bigint | volume |
vw | numeric | volume-weighted average price |
n | integer | trade count |
Events
| Column | Type | Description |
|---|---|---|
ticker | text | Symbol the event belongs to. |
ts | timestamptz | When the event occurred. |
kind | text | Event kind (earnings, dividend, split, insider, analyst, signal, news…). |
payload | jsonb | Kind-specific fields. |
News
| Column | Type | Description |
|---|---|---|
id | bigint | Article id (primary key). |
url | text | Canonical article URL — the dedup key (UNIQUE index). |
time_published | timestamp with time zone | Publication timestamp. |
title | text | Headline. |
summary | text | Article summary. |
source | text | Publisher name. |
source_domain | text | The publisher's web domain, or its name when the domain isn't known. |
category | text | The source's section for the article, e.g. `General`. Often null. |
authors | jsonb | Author list. |
topics | jsonb | Topic tags, each with a relevance score from 0 to 1 given as a string: `[{"topic": "earnings", "relevance_score": "0.94"}]`. |
banner_image | text | Banner image URL (~80% of recent articles carry one). |
overall_sentiment_score | numeric | Article-level sentiment score (−1..1). |
overall_sentiment_label | text | Bearish…Bullish label for the score. |
tickers | text[] | Every company the article mentions. How much the article is about each one is in `ticker_data.<TICKER>.rel`. |
ticker_data | jsonb | Per-company scores, keyed by ticker: `{"AAPL": {"rel": 0.88, "sent_score": 0.11, "sent_label": "Neutral"}}`. `rel` (0 to 1) is how much the article is about that company; `sent_score` (−1 to 1) and `sent_label` are its sentiment toward that company. Some articles carry a label without a score (`sent_score` null). |
created_at | timestamp with time zone | When Tickerbot stored the article. Use it to poll for new articles: time_published can be older for articles filled in after the fact. |
Machine-readable
The ticker table’s columns and the bars ship as JSON at /docs/schema.json, and every route is in the OpenAPI spec. Agents can start from /llms.txt.