Kraken Market Data API

Public market data (no authentication required)

OpenAPI Specification

kraken-market-data-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Kraken Futures REST Account Market Data API
  version: 3.0.0
  description: OpenAPI description of the Kraken Futures (formerly Crypto Facilities) REST API v3. Covers trading (send/edit/cancel orders, batch), market data (instruments, tickers, orderbook, history), account data (accounts, open positions, open orders, fills), transfers, account history, and charts. Generated by the API Evangelist pipeline from docs.kraken.com/api/docs/futures-api/.
  contact:
    name: Kraken API Support
    url: https://support.kraken.com/
  license:
    name: Kraken Terms of Service
    url: https://www.kraken.com/legal
  x-generated-from: documentation
  x-last-validated: '2026-05-30'
servers:
- url: https://futures.kraken.com/derivatives/api/v3
  description: Kraken Futures production REST endpoint
- url: https://demo-futures.kraken.com/derivatives/api/v3
  description: Kraken Futures demo / sandbox endpoint
- url: https://colo-london.vip.futures.kraken.com/derivatives/api/v3
  description: Kraken Futures colocation endpoint (London VIP)
tags:
- name: Market Data
  description: Public market data (no authentication required)
paths:
  /instruments:
    get:
      operationId: getInstruments
      summary: Kraken Get Instruments
      description: Returns the list of supported instruments and their metadata.
      tags:
      - Market Data
      responses:
        '200':
          description: Instruments
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstrumentsResponse'
              examples:
                getInstruments200Example:
                  summary: Default getInstruments 200 response
                  x-microcks-default: true
                  value:
                    result: success
                    serverTime: '2026-05-30T00:00:00Z'
                    error: string
                    instruments: []
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /instruments/status:
    get:
      operationId: getInstrumentsStatus
      summary: Kraken Get Instruments Status
      description: Returns instrument trading status (open, paused, etc.).
      tags:
      - Market Data
      responses:
        '200':
          description: Status array
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseEnvelope'
              examples:
                getInstrumentsStatus200Example:
                  summary: Default getInstrumentsStatus 200 response
                  x-microcks-default: true
                  value:
                    result: success
                    serverTime: '2026-05-30T00:00:00Z'
                    error: string
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /tickers:
    get:
      operationId: getTickers
      summary: Kraken Get Tickers
      description: Returns the latest ticker for every instrument.
      tags:
      - Market Data
      responses:
        '200':
          description: Tickers
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TickersResponse'
              examples:
                getTickers200Example:
                  summary: Default getTickers 200 response
                  x-microcks-default: true
                  value:
                    result: success
                    serverTime: '2026-05-30T00:00:00Z'
                    error: string
                    tickers: []
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /tickers/{symbol}:
    get:
      operationId: getTickerForSymbol
      summary: Kraken Get Ticker for Symbol
      description: Returns the latest ticker for a single instrument.
      tags:
      - Market Data
      parameters:
      - name: symbol
        in: path
        required: true
        schema:
          type: string
        example: PI_XBTUSD
      responses:
        '200':
          description: Ticker
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseEnvelope'
              examples:
                getTickerForSymbol200Example:
                  summary: Default getTickerForSymbol 200 response
                  x-microcks-default: true
                  value:
                    result: success
                    serverTime: '2026-05-30T00:00:00Z'
                    error: string
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /orderbook:
    get:
      operationId: getOrderBookFutures
      summary: Kraken Get Order Book (Futures)
      description: Returns the order book for a single instrument.
      tags:
      - Market Data
      parameters:
      - name: symbol
        in: query
        required: true
        schema:
          type: string
        example: PI_XBTUSD
      responses:
        '200':
          description: Order book
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseEnvelope'
              examples:
                getOrderBookFutures200Example:
                  summary: Default getOrderBookFutures 200 response
                  x-microcks-default: true
                  value:
                    result: success
                    serverTime: '2026-05-30T00:00:00Z'
                    error: string
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /history:
    get:
      operationId: getMarketHistory
      summary: Kraken Get Market History
      description: Returns recent public trade history for an instrument.
      tags:
      - Market Data
      parameters:
      - name: symbol
        in: query
        required: true
        schema:
          type: string
        example: PI_XBTUSD
      - name: lastTime
        in: query
        required: false
        schema:
          type: string
          format: date-time
        example: '2026-05-30T00:00:00Z'
      responses:
        '200':
          description: Market history
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BaseEnvelope'
              examples:
                getMarketHistory200Example:
                  summary: Default getMarketHistory 200 response
                  x-microcks-default: true
                  value:
                    result: success
                    serverTime: '2026-05-30T00:00:00Z'
                    error: string
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /0/public/Time:
    get:
      operationId: getServerTime
      summary: Kraken Get Server Time
      description: Returns the server's current Unix and human-readable time. Use to synchronize client clocks.
      tags:
      - Market Data
      responses:
        '200':
          description: Server time
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerTimeResponse'
              examples:
                getServerTime200Example:
                  summary: Default getServerTime 200 response
                  x-microcks-default: true
                  value:
                    error: []
                    result: {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /0/public/SystemStatus:
    get:
      operationId: getSystemStatus
      summary: Kraken Get System Status
      description: Returns the current system status (online, maintenance, cancel_only, post_only) and the last status change timestamp.
      tags:
      - Market Data
      responses:
        '200':
          description: System status
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SystemStatusResponse'
              examples:
                getSystemStatus200Example:
                  summary: Default getSystemStatus 200 response
                  x-microcks-default: true
                  value:
                    error: []
                    result: {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /0/public/Assets:
    get:
      operationId: getAssetInfo
      summary: Kraken Get Asset Info
      description: Returns information about supported assets including precision, display decimals, collateral value, and status.
      tags:
      - Market Data
      parameters:
      - name: asset
        in: query
        description: Comma-delimited list of assets to filter (e.g. XBT,ETH)
        required: false
        schema:
          type: string
        example: XBT
      - name: aclass
        in: query
        description: Asset class (currency, crypto)
        required: false
        schema:
          type: string
        example: string
      responses:
        '200':
          description: Asset info
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetInfoResponse'
              examples:
                getAssetInfo200Example:
                  summary: Default getAssetInfo 200 response
                  x-microcks-default: true
                  value:
                    error: []
                    result: {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /0/public/AssetPairs:
    get:
      operationId: getTradableAssetPairs
      summary: Kraken Get Tradable Asset Pairs
      description: Returns metadata for every tradable currency pair (base, quote, fee schedule, lot decimals, ordermin).
      tags:
      - Market Data
      parameters:
      - name: pair
        in: query
        description: Comma-delimited list of asset pairs (e.g. XBTUSD,ETHUSD)
        required: false
        schema:
          type: string
        example: XBTUSD
      - name: info
        in: query
        description: Info detail level (info, leverage, fees, margin)
        required: false
        schema:
          type: string
          enum:
          - info
          - leverage
          - fees
          - margin
        example: info
      responses:
        '200':
          description: Asset pairs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetPairsResponse'
              examples:
                getTradableAssetPairs200Example:
                  summary: Default getTradableAssetPairs 200 response
                  x-microcks-default: true
                  value:
                    error: []
                    result: {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /0/public/Ticker:
    get:
      operationId: getTickerInformation
      summary: Kraken Get Ticker Information
      description: Returns ticker data (ask, bid, last trade, 24h volume, vwap, high, low, opening price) for one or more pairs.
      tags:
      - Market Data
      parameters:
      - name: pair
        in: query
        description: Comma-delimited list of asset pairs
        required: false
        schema:
          type: string
          example: XBTUSD
        example: XBTUSD
      responses:
        '200':
          description: Ticker data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TickerResponse'
              examples:
                getTickerInformation200Example:
                  summary: Default getTickerInformation 200 response
                  x-microcks-default: true
                  value:
                    error: []
                    result: {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /0/public/OHLC:
    get:
      operationId: getOHLCData
      summary: Kraken Get OHLC Data
      description: Returns OHLC (open/high/low/close/volume/count) candles for a pair at a chosen interval, optionally bounded by a since cursor.
      tags:
      - Market Data
      parameters:
      - name: pair
        in: query
        required: true
        schema:
          type: string
          example: XBTUSD
        example: XBTUSD
      - name: interval
        in: query
        required: false
        description: Candle interval in minutes (1, 5, 15, 30, 60, 240, 1440, 10080, 21600)
        schema:
          type: integer
          default: 1
        example: 1
      - name: since
        in: query
        required: false
        description: Return OHLC entries since this timestamp
        schema:
          type: integer
        example: 1
      responses:
        '200':
          description: OHLC candles
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OHLCResponse'
              examples:
                getOHLCData200Example:
                  summary: Default getOHLCData 200 response
                  x-microcks-default: true
                  value:
                    error: []
                    result: {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /0/public/Depth:
    get:
      operationId: getOrderBook
      summary: Kraken Get Order Book
      description: Returns the order book (bids and asks) for a pair to a requested depth.
      tags:
      - Market Data
      parameters:
      - name: pair
        in: query
        required: true
        schema:
          type: string
        example: XBTUSD
      - name: count
        in: query
        required: false
        description: Maximum number of bids/asks (1-500)
        schema:
          type: integer
          default: 100
          minimum: 1
          maximum: 500
        example: 1
      responses:
        '200':
          description: Order book
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderBookResponse'
              examples:
                getOrderBook200Example:
                  summary: Default getOrderBook 200 response
                  x-microcks-default: true
                  value:
                    error: []
                    result: {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /0/public/Trades:
    get:
      operationId: getRecentTrades
      summary: Kraken Get Recent Trades
      description: Returns recent trades for a pair, optionally since a cursor.
      tags:
      - Market Data
      parameters:
      - name: pair
        in: query
        required: true
        schema:
          type: string
        example: XBTUSD
      - name: since
        in: query
        required: false
        schema:
          type: integer
        example: 1
      - name: count
        in: query
        required: false
        description: Maximum number of trades (1-1000)
        schema:
          type: integer
          default: 1000
        example: 1
      responses:
        '200':
          description: Recent trades
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecentTradesResponse'
              examples:
                getRecentTrades200Example:
                  summary: Default getRecentTrades 200 response
                  x-microcks-default: true
                  value:
                    error: []
                    result: {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /0/public/Spread:
    get:
      operationId: getRecentSpreads
      summary: Kraken Get Recent Spreads
      description: Returns recent bid/ask spread snapshots for a pair, optionally since a cursor.
      tags:
      - Market Data
      parameters:
      - name: pair
        in: query
        required: true
        schema:
          type: string
        example: XBTUSD
      - name: since
        in: query
        required: false
        schema:
          type: integer
        example: 1
      responses:
        '200':
          description: Recent spreads
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecentSpreadsResponse'
              examples:
                getRecentSpreads200Example:
                  summary: Default getRecentSpreads 200 response
                  x-microcks-default: true
                  value:
                    error: []
                    result: {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    OrderBookResponse:
      allOf:
      - $ref: '#/components/schemas/BaseEnvelope_2'
      - type: object
        properties:
          result:
            type: object
            additionalProperties:
              $ref: '#/components/schemas/OrderBook'
            example: {}
    AssetPair:
      type: object
      properties:
        altname:
          type: string
          example: string
        wsname:
          type: string
          example: string
        aclass_base:
          type: string
          example: string
        base:
          type: string
          example: string
        aclass_quote:
          type: string
          example: string
        quote:
          type: string
          example: string
        pair_decimals:
          type: integer
          example: XBTUSD
        lot_decimals:
          type: integer
          example: 1
        lot_multiplier:
          type: integer
          example: 1
        leverage_buy:
          type: array
          items:
            type: integer
          example: []
        leverage_sell:
          type: array
          items:
            type: integer
          example: []
        fees:
          type: array
          items:
            type: array
            items:
              type: number
          example: []
        fees_maker:
          type: array
          items:
            type: array
            items:
              type: number
          example: []
        fee_volume_currency:
          type: string
          example: '0.01'
        margin_call:
          type: integer
          example: '0.01'
        margin_stop:
          type: integer
          example: '0.01'
        ordermin:
          type: string
          example: string
        costmin:
          type: string
          example: string
        tick_size:
          type: string
          example: string
        status:
          type: string
          example: string
    SystemStatusResponse:
      allOf:
      - $ref: '#/components/schemas/BaseEnvelope_2'
      - type: object
        properties:
          result:
            type: object
            properties:
              status:
                type: string
                enum:
                - online
                - maintenance
                - cancel_only
                - post_only
                example: online
              timestamp:
                type: string
                format: date-time
                example: '2026-05-30T00:00:00Z'
            example: {}
    TickersResponse:
      allOf:
      - $ref: '#/components/schemas/BaseEnvelope'
      - type: object
        properties:
          tickers:
            type: array
            items:
              $ref: '#/components/schemas/Ticker'
            example: []
    RecentSpreadsResponse:
      allOf:
      - $ref: '#/components/schemas/BaseEnvelope_2'
      - type: object
        properties:
          result:
            type: object
            additionalProperties:
              oneOf:
              - type: array
                items:
                  type: array
                  items: {}
              - type: integer
            example: {}
    InstrumentsResponse:
      allOf:
      - $ref: '#/components/schemas/BaseEnvelope'
      - type: object
        properties:
          instruments:
            type: array
            items:
              $ref: '#/components/schemas/Instrument'
            example: []
    Instrument:
      type: object
      properties:
        symbol:
          type: string
          example: PI_XBTUSD
        type:
          type: string
          enum:
          - futures_inverse
          - futures_vanilla
          - flexible_futures
          - perpetual_inverse
          - perpetual_vanilla
          example: futures_inverse
        tradeable:
          type: boolean
          example: true
        underlying:
          type: string
          example: string
        lastTradingTime:
          type: string
          format: date-time
          example: '2026-05-30T00:00:00Z'
        tickSize:
          type: number
          example: 0.01
        contractSize:
          type: number
          example: 0.01
        marginLevels:
          type: array
          items:
            type: object
          example: '0.01'
        fundingRateCoefficient:
          type: number
          example: 0.01
        maxRelativeFundingRate:
          type: number
          example: 0.01
    OrderBook:
      type: object
      properties:
        asks:
          type: array
          items:
            type: array
            items: {}
            description: '[price, volume, timestamp]'
          example: []
        bids:
          type: array
          items:
            type: array
            items: {}
          example: []
    RecentTradesResponse:
      allOf:
      - $ref: '#/components/schemas/BaseEnvelope_2'
      - type: object
        properties:
          result:
            type: object
            additionalProperties:
              oneOf:
              - type: array
                items:
                  type: array
                  items: {}
              - type: string
            example: {}
    ServerTimeResponse:
      allOf:
      - $ref: '#/components/schemas/BaseEnvelope_2'
      - type: object
        properties:
          result:
            type: object
            properties:
              unixtime:
                type: integer
                example: 1717000000
              rfc1123:
                type: string
                example: Mon, 27 May 26 00:00:00 +0000
            example: {}
    TickerResponse:
      allOf:
      - $ref: '#/components/schemas/BaseEnvelope_2'
      - type: object
        properties:
          result:
            type: object
            additionalProperties:
              $ref: '#/components/schemas/Ticker_2'
            example: {}
    BaseEnvelope_2:
      type: object
      properties:
        error:
          type: array
          items:
            type: string
          description: Array of error strings; empty on success.
          example: []
        result:
          description: Endpoint-specific result object.
          example: string
      required:
      - error
    Ticker_2:
      type: object
      properties:
        a:
          type: array
          items:
            type: string
          description: '[price, whole-lot volume, lot volume] ask'
          example: []
        b:
          type: array
          items:
            type: string
          description: '[price, whole-lot volume, lot volume] bid'
          example: []
        c:
          type: array
          items:
            type: string
          description: '[price, lot volume] last trade closed'
          example: []
        v:
          type: array
          items:
            type: string
          description: '[today, last 24h] volume'
          example: []
        p:
          type: array
          items:
            type: string
          description: '[today, last 24h] vwap'
          example: []
        t:
          type: array
          items:
            type: integer
          description: '[today, last 24h] number of trades'
          example: []
        l:
          type: array
          items:
            type: string
          description: '[today, last 24h] low'
          example: []
        h:
          type: array
          items:
            type: string
          description: '[today, last 24h] high'
          example: []
        o:
          type: string
          description: Today's opening price
          example: string
    AssetInfo:
      type: object
      properties:
        aclass:
          type: string
          example: string
        altname:
          type: string
          example: string
        decimals:
          type: integer
          example: 1
        display_decimals:
          type: integer
          example: 1
        collateral_value:
          type: number
          example: 0.01
        status:
          type: string
          example: string
    Ticker:
      type: object
      properties:
        symbol:
          type: string
          example: PI_XBTUSD
        last:
          type: number
          example: 0.01
        lastTime:
          type: string
          format: date-time
          example: '2026-05-30T00:00:00Z'
        lastSize:
          type: number
          example: 0.01
        markPrice:
          type: number
          example: '0.01'
        bid:
          type: number
          example: OQCLML-BW3P3-BUCMWZ
        bidSize:
          type: number
          example: 0.01
        ask:
          type: number
          example: 0.01
        askSize:
          type: number
          example: 0.01
        vol24h:
          type: number
          example: '0.01'
        openInterest:
          type: number
          example: 0.01
        open24h:
          type: number
          example: 0.01
        indexPrice:
          type: number
          example: '0.01'
        fundingRate:
          type: number
          example: 0.01
        fundingRatePrediction:
          type: number
          example: 0.01
        suspended:
          type: boolean
          example: true
        tag:
          type: string
          example: string
        pair:
          type: string
          example: XBTUSD
    BaseEnvelope:
      type: object
      properties:
        result:
          type: string
          enum:
          - success
          - error
          example: success
        serverTime:
          type: string
          format: date-time
          example: '2026-05-30T00:00:00Z'
        error:
          type: string
          example: string
    AssetPairsResponse:
      allOf:
      - $ref: '#/components/schemas/BaseEnvelope_2'
      - type: object
        properties:
          result:
            type: object
            additionalProperties:
              $ref: '#/components/schemas/AssetPair'
            example: {}
    AssetInfoResponse:
      allOf:
      - $ref: '#/components/schemas/BaseEnvelope_2'
      - type: object
        properties:
          result:
            type: object
            additionalProperties:
              $ref: '#/components/schemas/AssetInfo'
            example: {}
    OHLCResponse:
      allOf:
      - $ref: '#/components/schemas/BaseEnvelope_2'
      - type: object
        properties:
          result:
            type: object
            additionalProperties:
              oneOf:
              - type: array
                items:
                  type: array
                  items: {}
              - type: integer
            description: Map of pair → candle array, plus `last` cursor.
            example: {}
  securitySchemes:
    futures_signature:
      type: apiKey
      in: header
      name: APIKey
      description: 'Kraken Futures signs requests with two headers: `APIKey` (public key) and `Authent` (base64 HMAC-SHA512 over `postData + nonce + endpointPath` using the SHA-256 hash of those values, then HMAC-SHA512 keyed by the base64-decoded secret). A `Nonce` header carries the incrementing nonce.'