Skip to main content
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

https://api.kiyotaka.ai

How it works

All data queries use the same endpoint:
GET /v1/points
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 TypeType ParameterWeightTier
CandlesTRADE_SIDE_AGNOSTIC_AGG1xAll
Candles (per-side)TRADE_AGG1xAll
Open InterestOPEN_INTEREST_AGG1xAll
Funding RateFUNDING_RATE_AGG1xAll
Bitcoin DominanceTOKEN_SUPPLY_AGG1xAdvanced+
Implied VolatilityIMPLIED_VOLATILITY_OPTION_SUMMARY_AGG1xAdvanced+
SkewSKEW_OPTION_SUMMARY_AGG1xAdvanced+
LiquidationsLIQUIDATION_AGG1xAll
Volume ProfileVOLUME_PROFILE_AGG2xAll
TPO / Market ProfileTPO_AGG5xAll
Orderbook HeatmapBLOCK_BOOK_SNAPSHOT_AGG10xAll
Liquidation HeatmapHYPERLIQUID_LIQUIDATION_AGG5xAdvanced+

Request structure

Common parameters

ParameterTypeRequiredDescription
typestringYesData type to query.
exchangestringConditionalExchange ID. Repeat for multi-exchange queries. Not required for HYPERLIQUID_LIQUIDATION_AGG, which aggregates across Hyperliquid by coin.
rawSymbolstringConditionalExchange-specific symbol (e.g., BTCUSDT). Use this or coin.
coinstringConditionalBase asset (e.g., BTC). Use for aggregation across pairs.
tokenNamestringNoToken name used by market-independent token supply queries, for example Bitcoin.
intervalstringYesAggregation interval. See Intervals.
tenorstringNoOption summary tenor used by Implied Volatility and Skew queries. See Tenors.
fromint64YesStart time as Unix timestamp (seconds).
periodint64YesDuration in seconds from the from timestamp.
sortDirectionstringNoSee 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.

Timestamp format

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.