The data

Schema

Every column on a Tickerbot ticker. Each one shows up in three places: as a field on /v1/tickers/{ticker}, as something you can query in SQL on /v1/scan and /v1/webhooks, and as a signal you can pull a time series for via /v1/signals/{ticker}/{signal}.

How to read this page

Two kinds of columns: numeric/string fields, and boolean flags.

  • Fields are numerics, strings, dates. They have a current value, refresh on a particular cadence, and (where it makes sense) can be returned as time-series bars at multiple sample frequencies via the signals endpoint.
  • Flags are pre-thresholded booleans. They’re true or false at any given moment; their signal-history shape depends on whether they’re continuous (returned as on/off windows) or edge-triggered (returned as trigger timestamps).

Both are queryable from a SQL WHERE clause by the bare name shown below. Counts: 59 fields across 10 sections, 56 flags across 12 categories.

Identification

FieldTypeDescriptionCadenceSignal history
tickerstring
Ticker symbol. Equities use the exchange symbol (e.g. AAPL). Crypto uses the bare symbol (e.g. BTC, ETH).
Example: AAPL
Daily, post-closenative only
namestring
Company or asset display name.
Example: Apple Inc.
Daily, post-closenative only
asset_typeenum
Asset class. One of `equity`, `etf`, or `crypto`.
Example: equity
Daily, post-closenative only
activeboolean
Whether this ticker is actively tracked. False for delisted or auto-halted symbols.
Example: true
Daily, post-closenative only

Price & change

FieldTypeDescriptionCadenceSignal history
pricenumberUSD
Most recent trade price.
Example: 187.42
Every 1 min, 4 AM–8 PM ET weekdays
bars at
1m5m15m1h1d1w
previous_closenumberUSD
Official prior-session close.
Example: 184.1
Daily, post-close
bars at
1d1w
session_opennullablenumberUSD
Today’s opening print.
Example: 185.2
Every 1 min, 4 AM–8 PM ET weekdaysnative only
session_highnullablenumberUSD
Highest trade so far today.
Every 1 min, 4 AM–8 PM ET weekdaysnative only
session_lownullablenumberUSD
Lowest trade so far today.
Every 1 min, 4 AM–8 PM ET weekdaysnative only
day_changenumberUSD
Absolute change vs `previous_close`.
Example: 3.32
Every 1 min, 4 AM–8 PM ET weekdays
bars at
1m5m15m1h1d1w
day_change_pctnumber%
Percent change vs `previous_close`. Expressed as a percent (5.2 = 5.2%), not a fraction.
Example: 1.8
Every 1 min, 4 AM–8 PM ET weekdays
bars at
1m5m15m1h1d1w
gap_pctnullablenumber%
Percent change of `session_open` vs `previous_close`. One value per session.
Every 1 min, 4 AM–8 PM ET weekdays
bars at
1d1w
premarket_pricenullablenumberUSD
Last premarket price, if available.
Every 1 min, 4 AM–8 PM ET weekdaysnative only
afterhours_pricenullablenumberUSD
Last after-hours price, if available.
Every 1 min, 4 AM–8 PM ET weekdaysnative only

Volume

FieldTypeDescriptionCadenceSignal history
volume_todayinteger
Shares traded so far today.
Example: 42120500
Every 1 min, 4 AM–8 PM ET weekdays
bars at
1m5m15m1h1d1w
avg_volume_10dinteger
10-day trailing average daily volume.
Example: 38500000
Daily, post-close
bars at
1d1w
avg_volume_30dinteger
30-day trailing average daily volume.
Daily, post-close
bars at
1d1w
relative_volumenumber
Ratio of today’s pace-adjusted volume to the 10-day average. 2.0 means 2× normal.
Example: 1.09
Every 1 min, 4 AM–8 PM ET weekdays
bars at
1m5m15m1h1d1w
day_dollar_volumenumberUSD
Today’s cumulative dollar volume traded.
Every 1 min, 4 AM–8 PM ET weekdays
bars at
1m5m15m1h1d1w
day_vwapnumberUSD
Today’s session volume-weighted average price.
Every 1 min, 4 AM–8 PM ET weekdays
bars at
1m5m15m1h1d1w

52-week & period extremes

FieldTypeDescriptionCadenceSignal history
high_52wnumberUSD
Highest trade in the trailing 52 weeks (live, includes today).
Every 1 min, 4 AM–8 PM ET weekdays
bars at
1m5m15m1h1d1w
low_52wnumberUSD
Lowest trade in the trailing 52 weeks (live, includes today).
Every 1 min, 4 AM–8 PM ET weekdays
bars at
1m5m15m1h1d1w
high_20dnumberUSD
Highest trade in the trailing 20 trading days.
Every 1 min, 4 AM–8 PM ET weekdays
bars at
1m5m15m1h1d1w
low_20dnumberUSD
Lowest trade in the trailing 20 trading days.
Every 1 min, 4 AM–8 PM ET weekdays
bars at
1m5m15m1h1d1w
days_since_52w_highinteger
Trading days since the most recent 52-week high.
Daily, post-close
bars at
1d1w
days_since_52w_lowinteger
Trading days since the most recent 52-week low.
Daily, post-close
bars at
1d1w

Relative position

FieldTypeDescriptionCadenceSignal history
pct_from_52w_highnumber%
Percent below the 52-week high. Always >= 0 (use the `at_52w_high` flag to test highs).
Every 1 min, 4 AM–8 PM ET weekdays
bars at
1m5m15m1h1d1w
pct_from_52w_lownumber%
Percent above the 52-week low. Always >= 0.
Every 1 min, 4 AM–8 PM ET weekdays
bars at
1m5m15m1h1d1w
position_in_52w_rangenumber
Where the live price sits in the 52-week range, 0–100. 0 = at low, 100 = at high.
Every 1 min, 4 AM–8 PM ET weekdays
bars at
1m5m15m1h1d1w
pct_from_sma_50number%
Percent distance from the 50-day SMA. Negative when price is below the average.
Every 1 min, 4 AM–8 PM ET weekdays
bars at
1m5m15m1h1d1w
pct_from_sma_200number%
Percent distance from the 200-day SMA. Negative when price is below the average.
Every 1 min, 4 AM–8 PM ET weekdays
bars at
1m5m15m1h1d1w
pct_from_vwapnumber%
Percent distance from today’s VWAP.
Every 1 min, 4 AM–8 PM ET weekdays
bars at
1m5m15m1h1d1w

Volatility

FieldTypeDescriptionCadenceSignal history
atr_14numberUSD
14-day Average True Range.
Daily, post-close
bars at
1d1w
atr_percentnumber%
ATR(14) as a percent of price. Useful as a volatility filter.
Every 1 min, 4 AM–8 PM ET weekdays
bars at
1m5m15m1h1d1w
bollinger_pct_bnumber
Position within Bollinger bands. 0 = at lower band, 1 = at upper band, >1 = outside.
Every 1 min, 4 AM–8 PM ET weekdays
bars at
1m5m15m1h1d1w

Technical indicators

FieldTypeDescriptionCadenceSignal history
sma_10numberUSD
10-day simple moving average.
Daily, post-close
bars at
1d1w
sma_20numberUSD
20-day simple moving average.
Daily, post-close
bars at
1d1w
sma_50numberUSD
50-day simple moving average.
Daily, post-close
bars at
1d1w
sma_200numberUSD
200-day simple moving average.
Daily, post-close
bars at
1d1w
rsi_14number
Relative Strength Index, 14-period. Range 0–100.
Every 1 min, 4 AM–8 PM ET weekdays
bars at
1m5m15m1h1d1w
macd_linenumber
MACD line (12-EMA minus 26-EMA).
Every 1 min, 4 AM–8 PM ET weekdays
bars at
1m5m15m1h1d1w
macd_signalnumber
MACD signal line (9-EMA of MACD line).
Every 1 min, 4 AM–8 PM ET weekdays
bars at
1m5m15m1h1d1w
macd_histogramnumber
MACD line minus signal. Positive when bullish, negative when bearish.
Every 1 min, 4 AM–8 PM ET weekdays
bars at
1m5m15m1h1d1w
bollinger_uppernumberUSD
Upper Bollinger band (20-period, 2σ).
Every 1 min, 4 AM–8 PM ET weekdays
bars at
1m5m15m1h1d1w
bollinger_lowernumberUSD
Lower Bollinger band (20-period, 2σ).
Every 1 min, 4 AM–8 PM ET weekdays
bars at
1m5m15m1h1d1w

Fundamentals

FieldTypeDescriptionCadenceSignal history
market_capnumberUSD
Market capitalization. Updated daily; intraday change derived from `price` × `shares_outstanding`.
Example: 2900000000000
Daily, post-close
bars at
1d1w
pe_rationullablenumber
Price-to-earnings ratio (trailing twelve months). Null for unprofitable issuers.
Quarterly, after issuer filesnative only
epsnullablenumberUSD
Earnings per share (trailing twelve months).
Quarterly, after issuer filesnative only
dividend_yieldnullablenumber
Forward dividend yield as a fraction (0.025 = 2.5%). Null for non-payers.
Daily, post-closenative only
betanullablenumber
Trailing beta vs SPY. Null for issuers with insufficient price history.
Daily, post-closenative only
float_sharesnullableinteger
Public float (shares available to trade).
Daily, post-closenative only
shares_outstandingnullableinteger
Total shares outstanding.
Daily, post-closenative only

Classification

FieldTypeDescriptionCadenceSignal history
sectornullableenum
GICS sector. One of: Technology, Healthcare, Financials, Consumer Discretionary, Consumer Staples, Energy, Industrials, Materials, Utilities, Real Estate, Communication Services.
Example: Technology
Daily, post-closenative only
industrynullablestring
GICS industry within the sector.
Daily, post-closenative only
exchangeenum
Listing exchange. One of `NYSE`, `NASDAQ`, `AMEX`, `OTC`, `CRYPTO`.
Daily, post-closenative only
countrynullablestring
ISO country code of the issuer.
Daily, post-closenative only

Event dates

FieldTypeDescriptionCadenceSignal history
earnings_datenullabledate
Next scheduled earnings announcement date. Null if not scheduled.
On corporate eventnative only
days_to_earningsnullableinteger
Calendar days until next earnings announcement. Negative after report.
Daily, post-closenative only
ex_dividend_datenullabledate
Next ex-dividend date.
On corporate eventnative only

Flags

56 pre-thresholded booleans, organized by category. Reference these by their bare name in a WHERE clause; the underlying database column has a `precomputed_flag_` prefix that you do not write.

Each flag carries a firing flavor. Continuous flags are true while the underlying condition holds and flip back when it doesn’t. Sticky-for-session flags fire once on the event and stay true until the next trading session resets — useful when you care about “did this happen today” rather than “is this happening right now.”

Flags · Moving averages

above_sma_10Continuous

Price is above the 10-day simple moving average.

ConditionLive price > 10-day SMA at the moment of evaluation.
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays
above_sma_20Continuous

Price is above the 20-day simple moving average.

ConditionLive price > 20-day SMA.
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays
above_sma_50Continuous

Price is above the 50-day simple moving average.

ConditionLive price > 50-day SMA.
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays
above_sma_200Continuous

Price is above the 200-day simple moving average.

ConditionLive price > 200-day SMA. Common long-term trend filter.
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays
Exampleabove_sma_200 AND above_sma_50
above_vwapContinuous

Price is above today’s volume-weighted average price.

ConditionLive price > intraday VWAP. Resets each session.
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays
golden_cross_todaySticky for session

50-day SMA crossed above 200-day SMA today.

ConditionYesterday: 50-day SMA <= 200-day SMA. Today: 50-day SMA > 200-day SMA.
RefreshesDaily, post-close
death_cross_todaySticky for session

50-day SMA crossed below 200-day SMA today.

ConditionYesterday: 50-day SMA >= 200-day SMA. Today: 50-day SMA < 200-day SMA.
RefreshesDaily, post-close
macd_above_signalContinuous

MACD line is above its signal line.

ConditionMACD line > MACD signal line. Common momentum/trend filter.
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays

Flags · Trend

in_uptrendContinuous

Stacked uptrend across short, medium, and long horizons.

ConditionPrice > 10-SMA > 20-SMA AND price > 50-SMA AND price > 200-SMA.
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays
in_downtrendContinuous

Stacked downtrend across short, medium, and long horizons.

ConditionPrice < 10-SMA < 20-SMA AND price < 50-SMA AND price < 200-SMA.
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays
trend_reversal_bullish_todaySticky for session

Trend flipped from down to up today.

ConditionWas in_downtrend at previous evaluation, in_uptrend now.
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays
trend_reversal_bearish_todaySticky for session

Trend flipped from up to down today.

ConditionWas in_uptrend at previous evaluation, in_downtrend now.
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays

Flags · 52-week & 20-day extremes

at_52w_highContinuous

Price is within 0.5% of the 52-week high.

ConditionLive price >= 52-week high × 0.995.
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays
at_52w_lowContinuous

Price is within 0.5% of the 52-week low.

ConditionLive price <= 52-week low × 1.005.
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays
at_20d_highContinuous

Price is at or above the 20-day high.

ConditionLive price >= 20-day high (excluding today).
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays
at_20d_lowContinuous

Price is at or below the 20-day low.

ConditionLive price <= 20-day low (excluding today).
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays
approaching_52w_highContinuous

Price is within 5% of the 52-week high.

ConditionLive price >= 52-week high × 0.95 and < 52-week high × 0.995.
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays
approaching_52w_lowContinuous

Price is within 5% of the 52-week low.

ConditionLive price <= 52-week low × 1.05 and > 52-week low × 1.005.
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays

Flags · Gaps

gap_up_3pctSticky for session

Today opened 3%+ above prior close.

Condition(session_open - previous_close) / previous_close >= 0.03.
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays
gap_down_3pctSticky for session

Today opened 3%+ below prior close.

Condition(previous_close - session_open) / previous_close >= 0.03.
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays
gap_up_10pctSticky for session

Today opened 10%+ above prior close.

Condition(session_open - previous_close) / previous_close >= 0.10.
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays
gap_down_10pctSticky for session

Today opened 10%+ below prior close.

Condition(previous_close - session_open) / previous_close >= 0.10.
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays

Flags · Bollinger bands

at_bollinger_upperContinuous

Price has reached the upper Bollinger band.

ConditionLive price >= upper band (20-period, 2σ).
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays
at_bollinger_lowerContinuous

Price has reached the lower Bollinger band.

ConditionLive price <= lower band (20-period, 2σ).
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays

Flags · Volume

volume_spikeContinuous

Today’s volume run-rate is meaningfully above average.

ConditionPace-adjusted day volume > 1.5 × 30-day average.
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays
volume_unusual_2xContinuous

Today’s volume run-rate is at least 2× average.

ConditionPace-adjusted day volume >= 2 × 30-day average.
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays
volume_dry_upContinuous

Today’s volume is unusually low.

ConditionPace-adjusted day volume <= 0.5 × 30-day average.
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays

Flags · Momentum

rsi_overboughtContinuous

RSI(14) is in overbought territory.

ConditionRSI(14) >= 70.
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays
rsi_oversoldContinuous

RSI(14) is in oversold territory.

ConditionRSI(14) <= 30.
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays
momentum_strong_upContinuous

Strong upward momentum across multiple measures.

ConditionRSI(14) > 60 AND MACD histogram rising AND price above 20-SMA.
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays
momentum_strong_downContinuous

Strong downward momentum across multiple measures.

ConditionRSI(14) < 40 AND MACD histogram falling AND price below 20-SMA.
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays
momentum_exhaustion_upContinuous

Upward momentum showing signs of exhaustion.

ConditionRSI(14) >= 70 AND MACD histogram contracting from peak.
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays
momentum_exhaustion_downContinuous

Downward momentum showing signs of exhaustion.

ConditionRSI(14) <= 30 AND MACD histogram contracting from trough.
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays

Flags · Support & resistance

at_supportContinuous

Price is testing recent support.

ConditionLive price within 1% of a recent swing low.
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays
at_resistanceContinuous

Price is testing recent resistance.

ConditionLive price within 1% of a recent swing high.
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays
breaking_above_20d_highSticky for session

Price just broke above the prior 20-day high.

ConditionPrevious evaluation: price below 20-day high. Now: price above 20-day high.
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays
breaking_below_20d_lowSticky for session

Price just broke below the prior 20-day low.

ConditionPrevious evaluation: price above 20-day low. Now: price below 20-day low.
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays

Flags · Patterns

consolidation_breakoutSticky for session

Breakout from a tight consolidation range.

ConditionPrice exits a multi-day low-volatility range on above-average volume.
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays
bounce_off_supportSticky for session

Reversal off a recent support level.

ConditionTouched at_support condition within last 3 bars and is now moving up.
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays
pullbackContinuous

Pullback within an established uptrend.

Conditionin_uptrend AND short-term retracement of 3–10% from recent high.
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays

Flags · Edge-triggered alerts

breakoutSticky for session

New 52-week high posted today.

ConditionLive price > 52-week high (excluding today). Sticky for the rest of the session.
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays
breakdownSticky for session

New 52-week low posted today.

ConditionLive price < 52-week low (excluding today). Sticky for the rest of the session.
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays
price_up_3pctSticky for session

Intraday move of 3%+ vs prior close.

Conditionday_change_pct >= 3. Sticky for the rest of the session.
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays
price_down_3pctSticky for session

Intraday move of -3% or worse vs prior close.

Conditionday_change_pct <= -3. Sticky for the rest of the session.
RefreshesEvery 1 min, 4 AM–8 PM ET weekdays

Flags · Fundamentals

small_capContinuous

Market cap between $300M and $2B.

Conditionmarket_cap >= 300M AND market_cap < 2B.
RefreshesDaily, post-close
mid_capContinuous

Market cap between $2B and $10B.

Conditionmarket_cap >= 2B AND market_cap < 10B.
RefreshesDaily, post-close
large_capContinuous

Market cap between $10B and $200B.

Conditionmarket_cap >= 10B AND market_cap < 200B.
RefreshesDaily, post-close
mega_capContinuous

Market cap above $200B.

Conditionmarket_cap >= 200B.
RefreshesDaily, post-close
value_stockContinuous

Trades at a value-style P/E.

Conditionpe_ratio > 0 AND pe_ratio <= 15.
RefreshesDaily, post-close
growth_stockContinuous

Trades at a growth-style P/E.

Conditionpe_ratio >= 30.
RefreshesDaily, post-close
high_dividend_yieldContinuous

Dividend yield above 4%.

Conditiondividend_yield >= 0.04.
RefreshesDaily, post-close
high_betaContinuous

Beta above 1.5 — moves more than the market.

Conditionbeta >= 1.5.
RefreshesDaily, post-close
low_floatContinuous

Public float under 50 million shares.

Conditionfloat_shares < 50,000,000.
RefreshesDaily, post-close

Flags · Corporate events

earnings_this_weekContinuous

Earnings announcement scheduled in the next 7 days.

Condition0 <= days_to_earnings <= 7.
RefreshesDaily, post-close
earnings_todayContinuous

Earnings announcement scheduled for today.

Conditiondays_to_earnings = 0.
RefreshesDaily, post-close
recently_reported_earningsContinuous

Reported earnings within the last 3 trading days.

ConditionLast earnings_date is within 3 trading days of today.
RefreshesDaily, post-close