Asset symbols
One canonical namespace, prefixed by asset class so identifiers never collide across categories.
Tickers and the universe
The unit and the population.
A ticker is one tradeable instrument: an equity (AAPL), an interest rate (R:SOFR), a currency pair (X:EURUSD) or a cryptocurrency (X:BTCUSD). The universe is 14,602+ tickers across 4 asset classes.
The non-equity series are curated, not exhaustive. We carry the full US Treasury par-yield curve and the Fed policy rates rather than every rate published; the major currency pairs and spot metals rather than every cross.
The asset classes
Equities are bare symbols; every other class carries a prefix.
| Asset class | Prefix | Example | What it covers |
|---|---|---|---|
stocks | (none) | AAPL | Every US-listed equity — NYSE, Nasdaq and AMEX — including ETFs, ADRs and preferred shares. |
rates | R: | R:SOFR | The full US Treasury par-yield curve, the Fed policy rates (SOFR, EFFR, and both ends of the target band), and the headline curve spreads. |
crypto | X: | X:BTCUSD | The major crypto pairs by liquidity, quoted against USD. |
fx | X: | X:EURUSD | The major currency pairs, plus spot gold and spot silver — metals quote and trade as FX pairs, and carry ISO 4217 codes (XAU, XAG). |
X: appears twice on purpose. FX and crypto both quote one thing in terms of another, and both live under it — so the prefix tells you a symbol isn’t an equity, but it does not tell you which class it is. Don’t branch on the prefix alone.
No auto-resolution
Every parameter expects the canonical form.
The API doesn’t guess. Passing BTC to a stock endpoint returns the Grayscale Bitcoin Mini Trust ETF — a real US-listed equity with that ticker — not bitcoin spot. If you want the cryptocurrency, ask for X:BTCUSD.
Symbols that collide
Watch for these when you’re building from user input.
BTC: Grayscale Bitcoin Mini Trust ETF (equity) vsX:BTCUSD(bitcoin spot).ETH: Grayscale Ethereum Staking Mini ETF (equity) vsX:ETHUSD(ether spot).
What each class carries
Same endpoints and the same response shape — but the columns that apply differ.
Every class goes through the same endpoints. What changes is which columns are populated. The signal vocabulary was built for equities, and most of it is meaningless elsewhere — a Treasury yield has no P/E ratio and no earnings date.
stockscarries the full schema: price, volume, technicals, fundamentals, corporate events, profile, analyst ratings and news.rates,fxandcryptocarrypriceand daily OHLCV history, and nothing built on company financials. Equity-specific columns arenullon these rows — notfalseor0. That distinction matters: a null never satisfies a filter, so a non-equity row cannot accidentally match an equity screen.- Corporate-event, analyst and news endpoints (
/v2/events,/v2/analyst,/v2/news) arestocks-only by definition — a rate pays no dividend. Passing a non-equity symbol returns an error naming its asset class rather than an empty result.
History depth, by class
Depth varies by source, and it is not equity-depth everywhere.
| Class | Daily history from | Note |
|---|---|---|
US equities stocks | 2003 | Full OHLCV, plus intraday bars and the whole signal schema. Each ticker’s own history starts at its first day of coverage, so a 2021 listing begins in 2021. |
Rates rates | 1990 | One value per business day, and no open/high/low or volume — a rate has no intraday range and nothing trades, so those come back null. |
Crypto crypto | 2010 | Genuine traded volume. |
FX fx | 1968 | Spot metals reach furthest back (1968); the currency pairs begin in 2007. Pre-2024 metal bars are a single daily fixing, so open = high = low = close with no volume. FX has no consolidated traded size, so the volume field carries a tick count rather than shares or notional. |
Intraday coverage (1h, 1m) varies by class and is expanding — the major crypto pairs have it, most non-equity series do not yet. Rather than guess from this page, ask: a request for an uncovered interval returns an explicit coverage marker, never a silent empty list, and /v2/tickers/{ticker}/coverage reports exactly what is held per ticker.