Historical options ticker
Query paginated option-ticker observations for an underlying or one contract.
GET
Historical options ticker
Use
Use Catalog to find exact source and market IDs.
Example response shape:
GET /historical/options-ticker to read partial venue-published option observations in global collector-time order. Each flat REST row identifies a normalized underlying in market and an exact venue-native option contract in instrument. The Option tickers schema page describes the SDK and snapshot event envelope.
Omit instrument to query the whole underlying chain, or provide it to select one contract. Decimal prices, sizes, implied volatility, and Greeks are returned as strings to preserve their lossless representation. A null field was not supplied in that observation; do not carry earlier values forward as if the API returned a complete ticker state.
Access and time range
Omit bothstart and end to query the latest ten minutes without authentication. Supply either bound to query a chosen interval with a Polaris API key in Authorization: Bearer YOUR_API_KEY. start and end are inclusive collector timestamps in Unix milliseconds. With only start, the query runs through now; with only end, it covers the preceding ten minutes.
Query parameters
string
Exact source ID. Omit to query across sources.
string
Exact normalized underlying market, such as
BTC. Omit to query across markets.string
Exact venue-native option contract. Omit to query the whole underlying chain.
integer
Inclusive collector time in Unix milliseconds. Requires a Polaris API key.
integer
Inclusive collector time in Unix milliseconds. Requires a Polaris API key.
integer
default:200
Page size from
1 to 1000.string
Opaque
next_cursor from the previous page of the same query.Request and response
items contains flat rows ordered by collector_timestamp across matching sources. event_id, source, market, instrument, collector_timestamp, source_capture_id, and schema_version are required. The other fields can be null:
Pagination and errors
Whenhas_more is true, send next_cursor as cursor while keeping the other query parameters unchanged. Stop when has_more is false; next_cursor is then null or absent.
The API documents 400 for an invalid request, 401 when authentication is needed, 422 when query work exceeds its limit, 429 when the request quota is exceeded, and 503 when the service is unavailable. Narrow the requested time range after a 422; respect Retry-After after a 429. Errors have an error object with code, message, and resolution.
Related documentation
- Option tickers schema for SDK and snapshot event fields
- Python SDK, TypeScript SDK, and Rust SDK for client methods
- Snapshots for bulk historical files