API Reference3 min read
The Kiyotaka Data API gives you programmatic access to crypto market data across multiple exchanges. All data flows through a single endpoint, authenticated with an API key.
Base URL
How it works
All data queries use the same endpoint:
You specify what data you want through query parameters. The type parameter determines the kind of data returned — candles, open interest, funding rates, etc.
Available data types
| Data Type | Type Parameter | Weight | Tier |
|---|
| Candles | TRADE_SIDE_AGNOSTIC_AGG | 1x | All |
| Candles (per-side) | TRADE_AGG | 1x | All |
| Open Interest | OPEN_INTEREST_AGG | 1x | All |
| Funding Rate | FUNDING_RATE_AGG | 1x | All |
| Bitcoin Dominance | TOKEN_SUPPLY_AGG | 1x | Advanced+ |
| Implied Volatility | IMPLIED_VOLATILITY_OPTION_SUMMARY_AGG | 1x | Advanced+ |
| Skew | SKEW_OPTION_SUMMARY_AGG | 1x | Advanced+ |
| Liquidations | LIQUIDATION_AGG | 1x | All |
| Volume Profile | VOLUME_PROFILE_AGG | 2x | All |
| TPO / Market Profile | TPO_AGG | 5x | All |
| Orderbook Heatmap | BLOCK_BOOK_SNAPSHOT_AGG | 10x | All |
| Liquidation Heatmap | HYPERLIQUID_LIQUIDATION_AGG | 5x | Advanced+ |
Request structure
Common parameters
| Parameter | Type | Required | Description |
|---|
type | string | Yes | Data type to query. |
exchange | string | Conditional | Exchange ID. Repeat for multi-exchange queries. Not required for HYPERLIQUID_LIQUIDATION_AGG, which aggregates across Hyperliquid by coin. |
rawSymbol | string | Conditional | Exchange-specific symbol (e.g., BTCUSDT). Use this or coin. |
coin | string | Conditional | Base asset (e.g., BTC). Use for aggregation across pairs. |
tokenName | string | No | Token name used by market-independent token supply queries, for example Bitcoin. |
interval | string | Yes | Aggregation interval. See Intervals. |
tenor | string | No | Option summary tenor used by Implied Volatility and Skew queries. See Tenors. |
from | int64 | Yes | Start time as Unix timestamp (seconds). |
period | int64 | Yes | Duration in seconds from the from timestamp. |
sortDirection | string | No | See Sort Direction. Default: ascending. |
Some data types accept additional parameters like blockSize, maxDepth, tenor, tokenName, and tpoSession. See each data type’s page for details.
Response structure
Every data response follows the same shape:
{
"series": [
{
"id": {
"type": "...",
"exchange": "...",
"rawSymbol": "...",
"normalizedSymbol": "...",
"category": "...",
"interval": "...",
"coin": "..."
},
"points": [
{
"Point": { ... }
}
]
}
]
}
series (outer): array of data series. One series per unique combination of exchange, symbol, side, etc.
series.id: metadata identifying the series. Fields vary by type and can include exchange, rawSymbol, normalizedSymbol, category, side, and coin.
series.points: array of data points. Each point contains a Point payload. Most REST types inline their fields directly under Point; TPO_AGG currently returns them under Point.TpoAggregation.
All timestamps in the response use:
{ "s": 1774800000, "ns": 649000000 }
s is a Unix timestamp in seconds (UTC). ns is optional nanoseconds and is omitted when the value is 0.