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)
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_spotapi.market_future
Futures contracts (e.g., BTC-USD-PERP-INV inverse, BTC-USDT-PERP linear)
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)
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
This endpoint allows you to obtain the full list of spot markets
All spot markets
The name of the exchange
Universal name of market
Universal name of the base asset
Universal name of the quote asset
Name of the market on the exchange (as referenced by the exchange API)
GET /market/spot HTTP/1.1
Host: api.koinju.io
Accept: */*
All spot markets
[
[
{
"exchange": "huobi",
"market_symbol": "DRGN-USDT",
"base_asset": "DRGN",
"quote_asset": "USDT",
"exchange_specific_symbol": "drgnusdt"
},
{
"exchange": "binance",
"market_symbol": "BTC-USDT",
"base_asset": "BTC",
"quote_asset": "USDT",
"exchange_specific_symbol": "btcusdt"
}
]
]Returns expirable future and perpetual swaps.
OK
The name of the exchange
Universal name of market
Universal name of the underlying asset
Universal name of the quote asset
Universal name of the asset the future is settled in
Universal name of the asset the future is denominated in
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 size in denomination_asset
Type of contract (LINEAR or INVERSE)
Type of future (PERPETUAL or EXPIRING)
GET /market/future HTTP/1.1
Host: api.koinju.io
Accept: */*
OK
[
[
{
"exchange": "binance",
"market_symbol": "PHA-USDT-PERP",
"underlying_asset": "PHA",
"quote_asset": "USDT",
"settling_asset": "USDT",
"expiration": null,
"contract_size": 1,
"contract_type": "LINEAR",
"future_type": "PERPETUAL",
"exchange_specific_symbol": "PHAUSDT"
},
{
"exchange": "binance",
"market_symbol": "SUI-USD-PERP",
"underlying_asset": "SUI",
"quote_asset": "USD",
"settling_asset": "SUI",
"denomination_asset": "USD",
"expiration": "2100-12-25T08:00:00Z",
"contract_size": 10,
"contract_type": "INVERSE",
"future_type": "PERPETUAL",
"exchange_specific_symbol": "SUIUSD_PERP"
}
]
]OK
The name of the exchange
Universal name of market
UTC time of the option expiration
Universal name of the underlying asset
Universal name of the quote asset
Universal name of the asset the option is settled in
Universal name of the asset the option is denominated in
Contract size in denomination_asset
Type of contract (LINEAR or INVERSE)
Type of option (CALL or PUT)
Name of the market on the exchange (as referenced by the exchange API)
GET /market/option/active HTTP/1.1
Host: api.koinju.io
Accept: */*
OK
[
[
{
"exchange": "deribit",
"market_symbol": "BTC-BTC-29DEC23-40000-P",
"expiration": "2023-12-29T00:00:00Z",
"underlying_asset": "BTC",
"quote_asset": "BTC",
"settling_asset": "BTC",
"denomination_asset": "BTC",
"contract_size": 1,
"contract_type": "LINEAR",
"option_type": "PUT",
"exchange_symbol": "BTC-29DEC23-40000-P"
},
{
"exchange": "deribit",
"market_symbol": "ETH-BTC-29DEC23-3000-C",
"expiration": "2023-12-29T00:00:00Z",
"underlying_asset": "ETH",
"quote_asset": "BTC",
"settling_asset": "BTC",
"denomination_asset": "BTC",
"contract_size": 1,
"contract_type": "LINEAR",
"option_type": "CALL",
"exchange_symbol": "ETH-29DEC23-3000-C"
}
]
]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.
Filter by exchange name. Example: 'deribit', 'delta'
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).
2024-12-31OK
The name of the exchange
Universal name of market
UTC time of the option expiration
Universal name of the underlying asset
Universal name of the quote asset
Universal name of the asset the option is settled in
Universal name of the asset the option is denominated in
Contract size in denomination_asset
Type of contract (LINEAR or INVERSE)
Type of option (CALL or PUT)
Name of the market on the exchange (as referenced by the exchange API)
GET /market/option/all?exchange=deribit&expired_before=2024-12-31 HTTP/1.1
Host: api.koinju.io
Accept: */*
OK
[
[
{
"exchange": "deribit",
"market_symbol": "BTC-BTC-29DEC23-40000-P",
"expiration": "2023-12-29T00:00:00Z",
"underlying_asset": "BTC",
"quote_asset": "BTC",
"settling_asset": "BTC",
"denomination_asset": "BTC",
"contract_size": 1,
"contract_type": "LINEAR",
"option_type": "PUT",
"exchange_symbol": "BTC-29DEC23-40000-P"
},
{
"exchange": "deribit",
"market_symbol": "ETH-BTC-29DEC23-3000-C",
"expiration": "2023-12-29T00:00:00Z",
"underlying_asset": "ETH",
"quote_asset": "BTC",
"settling_asset": "BTC",
"denomination_asset": "BTC",
"contract_size": 1,
"contract_type": "LINEAR",
"option_type": "CALL",
"exchange_symbol": "ETH-29DEC23-3000-C"
}
]
]Last updated
Was this helpful?