---
title: "Historical optionable universe: point-in-time snapshots of which US equities had"
method: GET
path: "/v1/optionable-tickers"
---

# Historical optionable universe: point-in-time snapshots of which US equities had

`GET /v1/optionable-tickers`

## Request

- Base URL: `https://api.alphanume.com`
- URL: `https://api.alphanume.com/v1/optionable-tickers`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Historical optionable universe: point-in-time snapshots of which US equities had
listed options on each snapshot date, with the average number of days between
listed expirations (avg_days_between -- lower means a denser expiration calendar)
and a has_weeklies flag. Essential for honest options backtests: it tells you what
was actually tradable *then*, not what is optionable today.

Filter by snapshot date range; omit filters for the most recent snapshots first.
Pagination: results are capped at 50,000 rows
per request; when the response has has_more=true, pass next_cursor's date and
ticker back as cursor_date and cursor_ticker to fetch the next page.

Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or
DATE_RANGE_RESTRICTED error means the key's plan does not cover the request --
it does not mean the data is missing.

## Query parameters

- `date_gte` string
- `date_lte` string
- `date_gt` string
- `date_lt` string
- `cursor_date` string
- `cursor_ticker` string

## Response `200`

Matching rows.

- PaginatedEnvelope
  - `count` integer, required
  - `data` object[], required
  - `has_more` boolean, required
  - `next_cursor` object, nullable, required: Keyset cursor: pass its fields back as the cursor_* query parameters to fetch the next page.

## Other responses

- `400`: Invalid or conflicting query parameters.
- `401`: Missing or unrecognized API key.
- `403`: PRO_SUBSCRIPTION_REQUIRED: the key's plan does not include API access; every endpoint requires an active Pro subscription. DATE_RANGE_RESTRICTED: a legacy free-tier key asked for dates outside its window. In both cases the data is not missing.
- `429`: Rate limit exceeded (600/min); the body carries retry_after_seconds.

---

[API](https://skmtc.dev/alphanume/apis/alphanume-api.md) · [All operations](https://skmtc.dev/alphanume/apis/alphanume-api/llms.txt) · [OpenAPI document](https://skmtc.dev/alphanume/apis/alphanume-api/revisions/2cb83f10bba4?raw)
