/v1/signals/{ticker}/{signal}Get the history of one signal for one ticker.
Returns the time series for any signal listed on the schema page, for the requested ticker. The response shape depends on the signal type: - **Numeric signals** (price, market_cap, RSI, …) return bars: `[{time, value}, …]` at the signal’s native cadence, or resampled if you pass `frequency`. - **Continuous flags** (above_sma_50, in_uptrend, …) return windows: `[{start, end}, …]`. The last entry’s `end` is `null` if the flag is currently true. - **Edge-triggered flags** (breakout, gap_up_3pct, …) return trigger timestamps only: `["2026-04-22T13:33:15Z", …]`. Newest first. Default page size 100, paginate with `cursor`.
| Name | In | Type | Required | Description |
|---|---|---|---|---|
ticker | path | string | required | Ticker symbol. |
signal | path | string | required | Any field name from the schema (numeric, string, or flag). Bare names — no `precomputed_flag_` prefix. |
| Name | In | Type | Required | Description |
|---|---|---|---|---|
from | query | timestamp (ISO 8601) or date (YYYY-MM-DD) | optional | Start of the range, inclusive. Defaults to far enough back to fill the requested `limit`. |
to | query | timestamp (ISO 8601) or date (YYYY-MM-DD) | optional | End of the range, inclusive. Defaults to now. |
frequency | query | string | optional | Resample target. Allowed values depend on the signal — check the schema page. Common: `1m`, `5m`, `15m`, `1h`, `1d`, `1w`. Numerics only; flags ignore this parameter. |
limit | query | integer | optional | Max rows in this response. Capped at 1000. |
cursor | query | string | optional | Pagination cursor returned in `next_cursor` from the previous response. Older rows are paged in this direction. |
| Status | Description |
|---|---|
200 | Time series for the signal. Empty `data` array means no values in the range — not an error. |
404 | Unknown ticker or unknown signal name. |
Daily market cap for TSLA over the last four months
curl "https://api.tickerbot.io/v1/signals/TSLA/market_cap?from=2026-01-01&to=2026-04-30&frequency=1d" \
-H "Authorization: Bearer YOUR_KEY"{
"ticker": "TSLA",
"signal": "market_cap",
"kind": "numeric",
"frequency": "1d",
"from": "2026-01-01",
"to": "2026-04-30",
"data": [
{ "time": "2026-04-30T00:00:00Z", "value": 798240000000 },
{ "time": "2026-04-29T00:00:00Z", "value": 791320000000 },
{ "time": "2026-04-28T00:00:00Z", "value": 786910000000 },
{ "time": "2026-04-25T00:00:00Z", "value": 779550000000 }
],
"next_cursor": "eyJ0Ijoi..."
}Continuous flag — when has TSLA been above its 50-day SMA?
curl "https://api.tickerbot.io/v1/signals/TSLA/above_sma_50?from=2026-01-01&to=2026-04-30" \
-H "Authorization: Bearer YOUR_KEY"{
"ticker": "TSLA",
"signal": "above_sma_50",
"kind": "continuous_flag",
"from": "2026-01-01",
"to": "2026-04-30",
"data": [
{ "start": "2026-04-22T13:30:00Z", "end": null },
{ "start": "2026-03-15T13:30:00Z", "end": "2026-04-08T19:55:00Z" },
{ "start": "2026-01-08T14:31:00Z", "end": "2026-02-19T18:42:00Z" }
],
"next_cursor": null
}Edge-triggered flag — every TSLA breakout this year
curl "https://api.tickerbot.io/v1/signals/TSLA/breakout?from=2026-01-01&to=2026-04-30" \
-H "Authorization: Bearer YOUR_KEY"{
"ticker": "TSLA",
"signal": "breakout",
"kind": "edge_flag",
"from": "2026-01-01",
"to": "2026-04-30",
"data": [
"2026-04-22T13:33:15Z",
"2026-03-15T14:01:00Z",
"2026-02-08T15:22:00Z"
],
"next_cursor": null
}