As-of ticker
https://api.tickerbot.io/ v2/ tickers/ {ticker}?asof=Add ?asof= to any ticker read and you get the whole wide row as it stood at that past moment — boolean flags, technical indicators, and the most-recent fundamentals known then. The point-in-time sibling of [As-of scan](/docs/endpoints/scan/asof) and [As-of matches](/docs/endpoints/signals/asof): the same staleness rule and the same plan window everywhere.
For a ticker's values *over time*, use [Ticker history](/docs/endpoints/tickers/history-series) instead — asof answers "what did the row look like at t", history answers "how did it evolve".
(A second spelling, GET /v2/tickers/{ticker}/history?asof=, returns the identical response — use whichever reads better in your code.)
Query parameters
stringrequiredTicker symbol.
stringrequiredTarget moment as `YYYY-MM-DD` or full ISO timestamp `YYYY-MM-DDTHH:MM:SSZ`. A date returns the row at the close of that day; a timestamp returns the row at that moment — minute-level where available; `_meta.resolution` reports the granularity served. The response returns the most-recent snapshot within the staleness window (14 days for daily) — the SAME rule as `/v2/scan?asof=` and `/v2/signals/{signal}?asof=`, unified 2026-07-27: asof means "the state AT that instant" everywhere. A ticker with no fresh-enough state (delisted, data gap) 404s with `last_available` and a pointer at the series endpoint for "last known state". Plan window: Free reaches back 30 days; every paid plan is unlimited (`403 asof_tier_required` beyond the window).
Status codes
200data. _meta.frozen_fields lists fields that are not historized (sector, industry, etc.; JOIN to /tickers/{t} for current values).400401404not_found — the ticker has no historical state at or before the requested date.Notes
- Replayable history on every plan. A missing or malformed
asofreturns400 bad_request; a date with no fresh-enough state returns404 not_foundwithlast_available— the row must be within the staleness window (14 days for daily), the same rule as every other asof surface (unified 2026-07-27). - The returned
data.datemay be earlier than the requestedasof(weekend/holiday/gap) — it is the latest daily state within the window on or before that date. See the example:asof=2026-03-01(a Sunday) returns the2026-02-27row. frozen_fieldsare not historized; they're snapshots of the *current* value. The other fields are correct as of the requested date.