---
title: "List active tickers"
method: GET
path: "/api/symbols/"
tags: ["symbols"]
---

# List active tickers

`GET /api/symbols/`

All active symbols (US equities, crypto, and foreign listings), alphabetical by ticker. ~10k entries — cache aggressively, or slice with the optional `limit`/`offset` params (the response stays a bare array either way). Pass `search` to resolve a name, brand or ticker prefix to its canonical symbol (`search=bitcoin` returns `BTC-USD`, `search=spacex` returns `SPCX`).

## Query parameters

- `limit` integer
- `offset` integer
- `search` string

## Response `200`

List of active symbols.

- Symbol[]
  - `symbol` string, required
  - `name` string, required
  - `asset_type` string — `Stock`, `ETF`, or `Crypto`.
  - `exchange` string — TradingView exchange prefix. US: NYSE / NASDAQ / AMEX / OTC / CBOE (from SEC's exchange mapping). Foreign listings carry their venue prefix (LSE, XETR, EURONEXT, TSE, HKEX, KRX, …); crypto carries the `CRYPTO` sentinel. Empty string when unknown.
  - `sector` string
  - `industry` string
  - `description` string
  - `website` string, uri, nullable
  - `brand_aliases` string[] — Lowercase names the issuer is known by, when they differ from `name` (`["spacex"]` on SPCX, registered as SPACE EXPLORATION TECHNOLOGIES CORP). Use them to match a name a user typed against a ticker. Usually empty: most issuers are already reachable by their registered name. List responses only.
  - `country` string — ISO alpha-2 country of domicile. `US` for SEC-listed symbols, the listing venue's country for foreign listings. Empty for crypto — a coin has no domicile.
  - `currency` string — Trading currency. `USD` for SEC-listed symbols and crypto pairs, the local currency for foreign listings.
  - `next_report_date` string, date, nullable — The next earnings date the company itself has confirmed, in America/New_York. Detail responses only. **Never an estimate.** `null` means AlphaAI holds no confirmed date — NOT that the company does not report. Confirmed dates typically surface about five weeks ahead, so `null` further out is the normal state, and coverage at any moment is partial. We deliberately do not fill the gap with a projection from the reporting cadence: a date nothing corroborates is indistinguishable downstream from one that does. Bridges share classes: a request for one class answers with the issuer's confirmed date whichever class it was filed under.
  - `supports_insider` boolean — Whether this symbol has SEC Form 4 insider data — true for US SEC-listed equities, false for crypto and foreign listings. When false, `/insider-summary/` and `/insider-trades/` return empty rather than failing. Detail responses only.
  - `tv_symbol` string — Per-symbol TradingView symbol override, when the venue-prefix rule built from `exchange` does not produce the right chart symbol. Empty for almost every row. Detail responses only.
  - `status` string — Listing status, `active` or `delisted`. Delisted symbols stay resolvable on this endpoint so their news history remains reachable.
  - `delisted_at` string, date-time, nullable — When the symbol was marked delisted. Null for active symbols and for symbols delisted before July 2026.
  - `renamed_to` string — Set on a delisted symbol when the company continues under a new ticker (for example SATS became ECHO). Empty otherwise.

## Other responses

- `400` — Out-of-range or unknown query parameter.
- `401` — Missing or invalid API key.
- `429` — Rate limit exceeded — either the per-minute burst cap or the per-day volume cap. The `Retry-After` header tells you how long to wait (a burst block is short, ≤60s; a day-cap block is capped at 3600s — the true reset is `X-RateLimit-Reset`). The `X-RateLimit-*` trio shows the daily volume budget. The body's `extra` names your tier, its `limit_per_minute` / `limit_per_day`, `retry_after_seconds`, and — below Pro — an `upgrade` block with the higher tiers' caps and the pricing URL. A rejected request does not itself consume quota, so retrying after `Retry-After` costs you nothing extra.

## Changes

- **2026-08-28** `da7f6abbd922` — 3 info
  - added the optional property `items/next_report_date` to the response with the `200` status
  - added the optional property `items/supports_insider` to the response with the `200` status
  - added the optional property `items/tv_symbol` to the response with the `200` status
- **2026-08-05** `2f34f38bad24` — 1 info
  - added the optional property `items/brand_aliases` to the response with the `200` status

[Change history](https://skmtc.dev/alphai/apis/alphai-rest-api/changes/api/symbols/get.md)

---

[API](https://skmtc.dev/alphai/apis/alphai-rest-api.md) · [All operations](https://skmtc.dev/alphai/apis/alphai-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/alphai/alphai-rest-api/revisions/da7f6abbd922/schema)
