API Reference3 min read
Reference tables for exchange IDs, symbol formats, interval values, and tenor values used across the API. Use the metadata endpoints to discover available exchanges, symbols, and market metadata programmatically.
Exchanges
Pass exchange IDs via the exchange query parameter. Values are case-sensitive.
Crypto — Derivatives
| Exchange ID | Exchange |
|---|
BINANCE_FUTURES | Binance USDT-M Futures |
BINANCE_DELIVERY | Binance Coin-M Futures |
BYBIT | Bybit Perpetual |
OKEX_SWAP | OKX Perpetual Swaps |
OKEX_FUTURES | OKX Futures |
DERIBIT | Deribit |
BITMEX | BitMEX |
BITGET | Bitget |
BITFINEX_DERIVATIVES | Bitfinex Derivatives |
GATE_IO_FUTURES | Gate.io Futures |
HYPERLIQUID_FUTURES | Hyperliquid Futures |
HYPERLIQUID_HIP3 | Hyperliquid HIP-3 |
HUOBI_DM | Huobi DM |
HUOBI_DM_SWAP | Huobi DM Swap |
HUOBI_DM_LINEAR_SWAP | Huobi DM Linear Swap |
CME | CME Group |
Crypto — Spot
| Exchange ID | Exchange |
|---|
BINANCE | Binance |
BYBIT_SPOT | Bybit Spot |
COINBASE | Coinbase |
OKEX | OKX Spot |
BITFINEX | Bitfinex |
GATE_IO | Gate.io |
BITSTAMP | Bitstamp |
UPBIT | Upbit |
HUOBI | Huobi |
HYPERLIQUID | Hyperliquid Spot |
Prediction Markets
| Exchange ID | Exchange |
|---|
POLYMARKET | Polymarket |
Equities
| Exchange ID | Exchange |
|---|
NYSE | New York Stock Exchange |
NASDAQ | Nasdaq |
FINRA | FINRA |
CBOE | Cboe |
IEX | IEX |
LTSE | Long-Term Stock Exchange |
MIAX_PEARL | MIAX Pearl |
MEMBERS_EXCHANGE | Members Exchange |
OTC_EQUITY_SECURITY | OTC Equity |
Commodities
| Exchange ID | Exchange |
|---|
CBOT | Chicago Board of Trade |
NYMEX | NYMEX |
COMEX | COMEX |
ICE | ICE |
LME | London Metal Exchange |
LBMA | London Bullion Market |
PLATTS | S&P Global Platts |
| Exchange ID | Exchange |
|---|
INTERBANK_FX | Interbank FX |
Categories
category tells you what kind of market the instrument is. It describes the trading venue’s market class, not the API data type.
Use SPOT for the underlying asset traded directly, and PERPETUAL for non-expiring derivative contracts.
| Value | Description |
|---|
SPOT | Spot market. You are trading the asset itself for immediate settlement, such as BTC-USD on Coinbase. |
PERPETUAL | Perpetual futures / swap market. You are trading a derivative contract with no expiry, such as BTCUSDT on Binance Futures. |
Categories describe the instrument itself. For example, TRADE_AGG data can exist for both SPOT and PERPETUAL markets, while data such as funding rates and open interest only applies to PERPETUAL markets.
Side
Used in per-side data types like TRADE_AGG and LIQUIDATION_AGG. Returned in the series identifier to distinguish buy vs. sell data.
| Value | Description |
|---|
BUY | Buy side |
SELL | Sell side |
You can filter by side using the side query parameter:
# Get only buy-side candles
curl "https://api.kiyotaka.ai/v1/points?type=TRADE_AGG&exchange=BINANCE_FUTURES&rawSymbol=BTCUSDT&interval=HOUR&from=1774800000&period=3600&side=BUY" \
-H "X-Kiyotaka-Key: YOUR_API_KEY"
There are three ways to specify which instrument you want data for:
rawSymbol (recommended)
The exchange-native trading pair symbol. This is the most precise way to target a specific instrument.
# Binance Futures BTC perpetual
curl "https://api.kiyotaka.ai/v1/points?type=TRADE_SIDE_AGNOSTIC_AGG&exchange=BINANCE_FUTURES&rawSymbol=BTCUSDT&interval=HOUR&from=1774800000&period=3600" -H "X-Kiyotaka-Key: YOUR_API_KEY"
# Coinbase BTC spot
curl "https://api.kiyotaka.ai/v1/points?type=TRADE_SIDE_AGNOSTIC_AGG&exchange=COINBASE&rawSymbol=BTC-USD&interval=HOUR&from=1774800000&period=3600" -H "X-Kiyotaka-Key: YOUR_API_KEY"
Symbols are exchange-specific. BTCUSDT on Binance Futures is not the same as BTCUSDT on Bybit. Always pair rawSymbol with the correct exchange.
coin
The base asset. Returns data for all matching instruments on the specified exchange(s).
# All BTC pairs on Binance Futures
curl "https://api.kiyotaka.ai/v1/points?type=TRADE_SIDE_AGNOSTIC_AGG&exchange=BINANCE_FUTURES&coin=BTC&interval=HOUR&from=1774800000&period=3600" -H "X-Kiyotaka-Key: YOUR_API_KEY"
Useful for heatmap queries where you want aggregated data across all pairs for an asset.
normalizedSymbol
A cross-exchange normalized market symbol. Use this when you want the same market represented in a consistent format across exchanges, such as BTC-USDT or BTC-USD.
curl "https://api.kiyotaka.ai/v1/points?type=TRADE_SIDE_AGNOSTIC_AGG&exchange=BINANCE_FUTURES&normalizedSymbol=BTC-USDT&interval=HOUR&from=1774800000&period=3600" -H "X-Kiyotaka-Key: YOUR_API_KEY"
Use rawSymbol when you need the exchange-native market identifier. Use normalizedSymbol when you want a normalized market identifier like BTC-USDT across exchanges. Use coin when you want broader coverage across pairs.
tokenName
Some market-independent datasets use tokenName alongside coin instead of exchange or symbol filters.
curl "https://api.kiyotaka.ai/v1/points?type=TOKEN_SUPPLY_AGG&coin=BTC&tokenName=Bitcoin&interval=DAY&from=1775635290&period=604800" \
-H "X-Kiyotaka-Key: YOUR_API_KEY"
Use tokenName for token supply and dominance-style queries. In practice it usually matches the coinName returned by GET /v1/markets.
Intervals
Set the interval parameter to control aggregation granularity.
| Value | Duration |
|---|
MINUTE | 1 minute |
FIVE_MINUTES | 5 minutes |
FIFTEEN_MINUTES | 15 minutes |
THIRTY_MINUTES | 30 minutes |
HOUR | 1 hour |
FOUR_HOURS | 4 hours |
DAY | 1 day |
WEEK | 1 week |
Not all intervals are available for all data types. The API returns an error if you request an unsupported combination.
Tenors
Used by option summary types such as Implied Volatility and Skew.
A tenor is the time-to-expiry bucket of the option summary series you want to query. For example, ONE_W means the one-week expiry bucket, while ONE_M means the one-month expiry bucket.
Tenor is part of the market selection. It is different from interval, which controls how the returned data is time-bucketed.
| Value | Description |
|---|
ONE_D | 1 day |
THREE_D | 3 days |
ONE_W | 1 week |
ONE_M | 1 month |
TWO_M | 2 months |
THREE_M | 3 months |
SIX_M | 6 months |
ONE_Y | 1 year |
Use market discovery to find which tenor values are actually available for a given summary symbol.
Time range
Specify the query window with from and period:
| Parameter | Type | Description |
|---|
from | int64 | Start time as a Unix timestamp in seconds (inclusive). |
period | int64 | Duration in seconds from the from timestamp. |
For example, to query 6 hours of hourly candles starting from a specific time:
curl "https://api.kiyotaka.ai/v1/points?type=TRADE_SIDE_AGNOSTIC_AGG&exchange=BINANCE_FUTURES&rawSymbol=BTCUSDT&interval=HOUR&from=1774800000&period=21600" \
-H "X-Kiyotaka-Key: YOUR_API_KEY"
This returns data from 1774800000 to 1774821600 (6 hours = 21,600 seconds).
Sort direction
Control the ordering of returned data points.
| Value | Description |
|---|
SORT_DIRECTION_ASC | Ascending (oldest first) — default |
SORT_DIRECTION_DESC | Descending (newest first) |
Transforms modify how data is processed before it reaches you. Use them to get USD-denominated values or aggregate data across multiple exchanges.
Coin vs. USD denomination
By default, values are returned in coin terms (e.g., volume in BTC). To get USD-denominated values, add transform.normalize.quote=USD:
curl "https://api.kiyotaka.ai/v1/points?type=TRADE_SIDE_AGNOSTIC_AGG&exchange=BINANCE_FUTURES&rawSymbol=BTCUSDT&interval=HOUR&from=1774800000&period=3600&transform.normalize.quote=USD" \
-H "X-Kiyotaka-Key: YOUR_API_KEY"
Applies to: Candles (volume), Open Interest, Liquidations, Volume Profile, Orderbook Heatmap, Liquidation Heatmap.
Does not apply to: Funding Rate — rates are already normalized. Use transform.normalize.fundingInterval instead (see below).
Multi-exchange aggregation
To aggregate data across multiple exchanges into a single series, pass multiple exchange parameters with a group-by transform. Use coin instead of rawSymbol since symbols differ across exchanges:
curl "https://api.kiyotaka.ai/v1/points?type=TRADE_SIDE_AGNOSTIC_AGG&exchange=BINANCE_FUTURES&exchange=BYBIT&exchange=OKEX_SWAP&coin=BTC&interval=HOUR&from=1774800000&period=3600&transform.groupBy.type=GROUP_BY_TYPE_SUM" \
-H "X-Kiyotaka-Key: YOUR_API_KEY"
Multi-exchange aggregation requires Advanced or Enterprise tier. When groupBy is specified without an explicit transform.normalize.quote, USD normalization is applied automatically so values are comparable across exchanges.
GroupBy types per data type
| Data Type | GroupBy Type | Description |
|---|
| Candles | GROUP_BY_TYPE_SUM | Sums volume, preserves OHLC extremes |
| Open Interest | GROUP_BY_TYPE_SUM | Sums OI across exchanges |
| Funding Rate | GROUP_BY_TYPE_OPEN_INTEREST_WEIGHTED_AVG | OI-weighted average rate |
| Liquidations | GROUP_BY_TYPE_SUM | Sums liquidation volume |
| Volume Profile | GROUP_BY_TYPE_SUM | Sums volume per price level |
| TPO | GROUP_BY_TYPE_SUM | Sums TPO data |
| Orderbook Heatmap | GROUP_BY_TYPE_SUM | Combines orderbook depth |
Funding rate uses open interest weighted average (OIWA) instead of sum — this produces a more accurate cross-exchange rate by weighting each exchange proportionally to its OI.
Funding rate normalization
Funding rates can be normalized to a specific interval:
curl "https://api.kiyotaka.ai/v1/points?type=FUNDING_RATE_AGG&exchange=BINANCE_FUTURES&rawSymbol=BTCUSDT&interval=HOUR&from=1774800000&period=28800&transform.normalize.fundingInterval=28800000" \
-H "X-Kiyotaka-Key: YOUR_API_KEY"
The fundingInterval value is in milliseconds. The default is 28800000 (8 hours).