---
title: "Symbol detail"
method: GET
path: "/api/symbols/{ticker}/"
tags: ["symbols"]
---

# Symbol detail

`GET /api/symbols/{ticker}/`

## Path parameters

- `ticker` string, required

## Response `200`

Symbol with extended metadata. Resolves delisted symbols too: check `status`, and `renamed_to` for the successor ticker when the company continues under a new symbol.

- 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

- `401` — Missing or invalid API key.
- `404` — No item with that identifier.
- `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 `next_report_date` to the response with the `200` status
  - added the optional property `supports_insider` to the response with the `200` status
  - added the optional property `tv_symbol` to the response with the `200` status
- **2026-08-05** `2f34f38bad24` — 1 info
  - added the optional property `brand_aliases` to the response with the `200` status

[Change history](https://skmtc.dev/alphai/apis/alphai-rest-api/changes/api/symbols/:ticker/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)
