Market list

SQL API

Our ClickHouse SQL interface provides direct access to normalized market metadata through three optimized views: market_spot, market_future, and market_option. These tables enable sophisticated filtering and joins impossible via REST, empowering complex analytics workflows.


api.market_spot

Spot markets (e.g., BTC-USD, BTC-USDT)

Column
Type
Description

exchange

String

Venue id — mostly clean spot names (e.g. binance, coinbase); run SELECT DISTINCT exchange for the full set

market_symbol

String

Universal symbol, format BASE-QUOTE (e.g. BTC-USDT on Binance, BTC-USD on Coinbase)

base_asset

String

Base asset, universal symbol (e.g. BTC)

quote_asset

String

Quote asset, universal symbol (e.g. USDT, USD)

exchange_specific_symbol

String

Raw exchange websocket ticker (e.g. BTCUSDT)

Use Case Example Find all spot markets with USDT quote pairs on Binance or Kraken:

SELECT exchange, market_symbol, base_asset, quote_asset  
FROM api.market_spot  
WHERE quote_asset = 'USDT'  
  AND exchange IN ('binance', 'kraken')  

List all exchanges:

SELECT distinct exchange FROM api.market_spot

api.market_future

Futures contracts (e.g., BTC-USD-PERP-INV inverse, BTC-USDT-PERP linear)

Column
Type
Description

exchange

String

Clean venue id, e.g. binance, deribit, okx (no product suffix on this view)

market_symbol

String

Universal symbol: BASE-QUOTE-PERP (linear perp), BASE-QUOTE-PERP-INV (inverse perp), BASE-QUOTE-YYYY-MM-DD[-INV] (dated). E.g. BTC-USDT-PERP

underlying_asset

String

Underlying asset (e.g. BTC)

quote_asset

String

Quote asset (e.g. USDT, USD)

settling_asset

String

Asset PnL settles in; equals the underlying ⟹ INVERSE contract

denomination_asset

String

Margin / collateral asset

expiration

DateTime64(9)

Contract expiry (null for perpetuals)

contract_size

Decimal(38,18)

Size per contract (e.g. 0.001)

contract_type

String

LINEAR (quote-settled) or INVERSE (coin-settled)

future_type

String

PERPETUAL or EXPIRING

exchange_specific_symbol

String

Raw exchange websocket ticker (e.g. BTCUSDT_PERP)

Use Case Example List perpetual BTC futures with linear pricing:


api.market_option

Options contracts (e.g., BTC-USDT-2026-05-09-75000-C)

Column
Type
Description

exchange

String

Clean venue id, e.g. deribit, okx, bybit

market_symbol

String

Universal symbol, format BASE-QUOTE-YYYY-MM-DD-STRIKE-{C|P} (e.g. BTC-USDT-2026-05-09-75000-C, BTC-BTC-... on Deribit)

underlying_asset

String

Underlying asset (e.g. BTC)

quote_asset

String

Quote asset (e.g. USDT, USDC, USD, BTC)

settling_asset

String

Asset PnL settles in

expiration

DateTime64(9)

Option expiry timestamp

strike

Decimal(38,18)

Strike price (e.g. 75000)

contract_size

Decimal(38,18)

Size per contract (e.g. 0.1)

contract_type

String

LINEAR or INVERSE

option_type

String

CALL or PUT

exchange_specific_symbol

String

Raw exchange ticker (e.g. BTC-30JUN23-30000-C)

Use Case Example Find BTC call options expiring in the current quarter:

toQuarter and toYear are ClickHouse date-time functions — see the toQuarter and toYear reference.

REST API

Get Spot Markets

get

This endpoint allows you to obtain the full list of spot markets

Responses
200

All spot markets

application/json
exchangestringOptional

The name of the exchange

market_symbolstringOptional

Universal name of market

base_assetstringOptional

Universal name of the base asset

quote_assetstringOptional

Universal name of the quote asset

exchange_specific_symbolstringOptional

Name of the market on the exchange (as referenced by the exchange API)

get
/market/spot
200

All spot markets

Get Future Markets

get

Returns expirable future and perpetual swaps.

Responses
200

OK

application/json
exchangestringOptional

The name of the exchange

market_symbolstringOptional

Universal name of market

underlying_assetstringOptional

Universal name of the underlying asset

quote_assetstringOptional

Universal name of the quote asset

settling_assetstringOptional

Universal name of the asset the future is settled in

denomination_assetstringOptional

Universal name of the asset the future is denominated in

expirationstring · date-timeOptional

UTC time of the contract expiration. Null for perpetual contracts except binance. Not-null for perpetual contracts that were delivered on delisting or not expired binance contracts.

contract_sizenumber · decimalOptional

Contract size in denomination_asset

contract_typestring · enumOptional

Type of contract (LINEAR or INVERSE)

Possible values:
future_typestring · enumOptional

Type of future (PERPETUAL or EXPIRING)

Possible values:
get
/market/future
200

OK

Get active Option Markets

get
Responses
200

OK

application/json
exchangestringOptional

The name of the exchange

market_symbolstringOptional

Universal name of market

expirationstring · date-timeOptional

UTC time of the option expiration

underlying_assetstringOptional

Universal name of the underlying asset

quote_assetstringOptional

Universal name of the quote asset

settling_assetstringOptional

Universal name of the asset the option is settled in

denomination_assetstringOptional

Universal name of the asset the option is denominated in

contract_sizenumber · decimalOptional

Contract size in denomination_asset

contract_typestring · enumOptional

Type of contract (LINEAR or INVERSE)

Possible values:
option_typestring · enumOptional

Type of option (CALL or PUT)

Possible values:
exchange_symbolstringOptional

Name of the market on the exchange (as referenced by the exchange API)

get
/market/option/active
200

OK

Get all Option Markets

get

This endpoint returns all option markets, including both active and expired options. It is useful for retrieving a comprehensive list of all options available across exchanges.

This endpoint is limited to 10000 instruments that expired before the expired_before parameter in descending order of expiration.

Query parameters
exchangestring · enumRequired

Filter by exchange name. Example: 'deribit', 'delta'

Possible values:
expired_beforestring · date-timeRequired

Filter options that expired before a specific date. Accepts a plain date (2024-12-31, treated as midnight UTC) or a full ISO 8601 timestamp (2024-12-31T23:59:59Z).

Example: 2024-12-31
Responses
200

OK

application/json
exchangestringOptional

The name of the exchange

market_symbolstringOptional

Universal name of market

expirationstring · date-timeOptional

UTC time of the option expiration

underlying_assetstringOptional

Universal name of the underlying asset

quote_assetstringOptional

Universal name of the quote asset

settling_assetstringOptional

Universal name of the asset the option is settled in

denomination_assetstringOptional

Universal name of the asset the option is denominated in

contract_sizenumber · decimalOptional

Contract size in denomination_asset

contract_typestring · enumOptional

Type of contract (LINEAR or INVERSE)

Possible values:
option_typestring · enumOptional

Type of option (CALL or PUT)

Possible values:
exchange_symbolstringOptional

Name of the market on the exchange (as referenced by the exchange API)

get
/market/option/all
200

OK

Last updated

Was this helpful?