Skip to main content
The API serves two markets. Which one a request belongs to is decided by the coin in the path, and the {exchange} must match it. Call /exchanges and /coins for the live lists. Both return a markets field with the split by market. They are free and not counted against your quota.
Each market is a separate entitlement on your plan. A request for a coin from a market your plan does not include returns 403 market_not_in_plan with markets_in_plan. Call /me to see yours.

Crypto venues

bybit, deribit, okx and derive are single venues. all (or combined) merges every venue that is currently available for the coin.

Subsets

Join venues with + to merge just those, for example deribit+derive. Order and duplicates do not matter: the response reports the canonical form in meta.exchange_resolved (here deribit+derive).

TradFi

TradFi tickers have a single venue, tradfi. For a TradFi ticker all and combined are aliases of tradfi, so older calls such as all/SPY keep working; meta.exchange_resolved is always "tradfi".
Mixing the two sides is rejected with a hint: See Errors for the full catalog.

Historical data

History is stored per single venue (bybit, deribit, okx, derive), for combined (all crypto venues merged) and for tradfi. As for live data, all and combined with a TradFi ticker resolve to tradfi. Venue subsets such as deribit+derive have no history and return 400 history_not_available with valid_exchanges. Session dates follow the market: the UTC date for crypto, the New York trading date for TradFi. See Historical data.

Expiration cutoffs

An expiration is listed until its settlement cutoff (plus a one-hour grace period), and its expirations_detail entry reports the cutoff as cutoff_utc. A same-day expiration is flagged is_0dte: true in /expirations. Expiration path parameters accept the code (17OCT26), the ISO date (2026-10-17) or TOTAL.

Freshness

Every data response says how fresh it is in meta: as_of, oi_as_of, data_source, is_live, market_open and next_open. For TradFi, open interest is published once a day, so during a session oi_as_of is the previous trading day while spot and the gamma profile are live. Crypto is live and always reports market_open: true. See the data dictionary.