CryptoCompare Spot API

Spot market data including latest tick, historical OHLCV, trades, order book L1, and instrument metadata.

Operations 8

GET /spot/v1/latest/tick Get Spot Latest Tick #
GET /spot/v2/markets List Spot Markets #
GET /spot/v1/markets/instruments Get Spot Instrument Metadata #
GET /spot/v1/historical/days Get Spot Historical Daily OHLCV #
GET /spot/v1/historical/hours Get Spot Historical Hourly OHLCV #
GET /spot/v1/historical/minutes Get Spot Historical Minute OHLCV #
GET /spot/v1/historical/trades Get Spot Historical Trades #
GET /spot/v1/latest/orderbook/l1/top Get Spot Order Book L1 Top #

Documentation

Specifications

Schemas & Data

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cryptocompare-spot-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

cryptocompare-spot-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: CoinDesk Data API (CCData) Spot API
  description: The CoinDesk Data API (formerly CCData / CryptoCompare data-api) is the modern, institutional-grade replacement for the legacy min-api.
  version: '1.0'
  contact:
    name: CoinDesk Data Support
    url: https://developers.coindesk.com/support
    email: data@cryptocompare.com
  termsOfService: https://data.coindesk.com/terms
  license:
    name: CoinDesk Data API Terms
    url: https://data.coindesk.com/terms
servers:
- url: https://data-api.cryptocompare.com
  description: Production Server
security:
- apiKeyQuery: []
- apiKeyHeader: []
tags:
- name: Spot
  description: Spot market data including latest tick, historical OHLCV, trades, order book L1, and instrument metadata.
paths:
  /spot/v1/latest/tick:
    get:
      operationId: getSpotLatestTick
      summary: Get Spot Latest Tick
      description: Returns the latest tick (trade or top-of-book update) for one or more spot instruments on a given market.
      tags:
      - Spot
      parameters:
      - $ref: '#/components/parameters/MarketParam'
      - $ref: '#/components/parameters/InstrumentsParam'
      - $ref: '#/components/parameters/GroupsParam'
      responses:
        '200':
          description: Latest tick envelope per instrument.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SpotTickResponse'
  /spot/v2/markets:
    get:
      operationId: getSpotMarketsList
      summary: List Spot Markets
      description: Returns the list of integrated spot exchanges and their status.
      tags:
      - Spot
      parameters:
      - $ref: '#/components/parameters/MarketParam'
      responses:
        '200':
          description: Markets list envelope.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MarketsListResponse'
  /spot/v1/markets/instruments:
    get:
      operationId: getSpotInstrumentMetadata
      summary: Get Spot Instrument Metadata
      description: Returns reference metadata for spot instruments on a given market including base/quote symbols, tick sizes, status, and mapping.
      tags:
      - Spot
      parameters:
      - $ref: '#/components/parameters/MarketParam'
      - $ref: '#/components/parameters/InstrumentsParam'
      responses:
        '200':
          description: Instrument metadata envelope.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstrumentMetadataResponse'
  /spot/v1/historical/days:
    get:
      operationId: getSpotHistoricalDaily
      summary: Get Spot Historical Daily OHLCV
      description: Returns daily OHLCV candles for a single spot instrument on a given market, ordered ascending. Up to 2000 candles per call.
      tags:
      - Spot
      parameters:
      - $ref: '#/components/parameters/MarketParam'
      - $ref: '#/components/parameters/InstrumentParam'
      - $ref: '#/components/parameters/LimitParam'
      - $ref: '#/components/parameters/ToTsParam'
      - $ref: '#/components/parameters/AggregateParam'
      - $ref: '#/components/parameters/FillParam'
      - $ref: '#/components/parameters/ApplyMappingParam'
      responses:
        '200':
          description: Historical daily OHLCV envelope.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HistoricalOHLCVResponse'
  /spot/v1/historical/hours:
    get:
      operationId: getSpotHistoricalHourly
      summary: Get Spot Historical Hourly OHLCV
      description: Returns hourly OHLCV candles for a single spot instrument.
      tags:
      - Spot
      parameters:
      - $ref: '#/components/parameters/MarketParam'
      - $ref: '#/components/parameters/InstrumentParam'
      - $ref: '#/components/parameters/LimitParam'
      - $ref: '#/components/parameters/ToTsParam'
      - $ref: '#/components/parameters/AggregateParam'
      responses:
        '200':
          description: Historical hourly OHLCV envelope.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HistoricalOHLCVResponse'
  /spot/v1/historical/minutes:
    get:
      operationId: getSpotHistoricalMinute
      summary: Get Spot Historical Minute OHLCV
      description: Returns minute OHLCV candles for a single spot instrument.
      tags:
      - Spot
      parameters:
      - $ref: '#/components/parameters/MarketParam'
      - $ref: '#/components/parameters/InstrumentParam'
      - $ref: '#/components/parameters/LimitParam'
      - $ref: '#/components/parameters/ToTsParam'
      - $ref: '#/components/parameters/AggregateParam'
      responses:
        '200':
          description: Historical minute OHLCV envelope.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HistoricalOHLCVResponse'
  /spot/v1/historical/trades:
    get:
      operationId: getSpotHistoricalTrades
      summary: Get Spot Historical Trades
      description: Returns raw historical trade prints for a single spot instrument.
      tags:
      - Spot
      parameters:
      - $ref: '#/components/parameters/MarketParam'
      - $ref: '#/components/parameters/InstrumentParam'
      - $ref: '#/components/parameters/LimitParam'
      - $ref: '#/components/parameters/ToTsParam'
      responses:
        '200':
          description: Trades envelope.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TradesResponse'
  /spot/v1/latest/orderbook/l1/top:
    get:
      operationId: getSpotOrderbookL1Top
      summary: Get Spot Order Book L1 Top
      description: Returns the top of the order book (best bid and best ask) for one or more spot instruments. Updated continuously.
      tags:
      - Spot
      parameters:
      - $ref: '#/components/parameters/MarketParam'
      - $ref: '#/components/parameters/InstrumentsParam'
      responses:
        '200':
          description: L1 top of book envelope.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderbookL1TopResponse'
components:
  parameters:
    FillParam:
      name: fill
      in: query
      description: Fill empty periods with zero-volume candles.
      schema:
        type: boolean
        default: true
    MarketParam:
      name: market
      in: query
      required: true
      description: Spot or derivatives market (e.g. coinbase, kraken, binance, bitstamp, ccix).
      schema:
        type: string
    AggregateParam:
      name: aggregate
      in: query
      description: Time-period aggregation factor.
      schema:
        type: integer
        default: 1
    ToTsParam:
      name: to_ts
      in: query
      description: Upper bound timestamp in seconds.
      schema:
        type: integer
        format: int64
    GroupsParam:
      name: groups
      in: query
      description: Comma-separated tick groups to return (VALUE, CURRENT_HOUR, CURRENT_DAY, MOVING_24_HOUR, LIFETIME).
      schema:
        type: string
    ApplyMappingParam:
      name: apply_mapping
      in: query
      description: Apply asset/instrument mapping for renames.
      schema:
        type: boolean
        default: true
    LimitParam:
      name: limit
      in: query
      description: Number of data points to return.
      schema:
        type: integer
        default: 30
        maximum: 2000
    InstrumentsParam:
      name: instruments
      in: query
      required: true
      description: Comma-separated instrument identifiers (e.g. BTC-USD,ETH-USD).
      schema:
        type: string
    InstrumentParam:
      name: instrument
      in: query
      required: true
      description: Single instrument identifier (e.g. BTC-USD).
      schema:
        type: string
  schemas:
    InstrumentMetadataResponse:
      type: object
      properties:
        Data:
          type: object
          additionalProperties:
            type: object
            properties:
              METADATA_VERSION:
                type: integer
              INSTRUMENT_STATUS:
                type: string
              INSTRUMENT:
                type: string
              HISTO_SHARD:
                type: string
              MAPPED_INSTRUMENT:
                type: string
              INSTRUMENT_MAPPING:
                type: object
              HAS_TRADES_SPOT:
                type: boolean
              FIRST_TRADE_SPOT_TIMESTAMP:
                type: integer
                format: int64
              LAST_TRADE_SPOT_TIMESTAMP:
                type: integer
                format: int64
              TOTAL_TRADES_SPOT:
                type: integer
    HistoricalOHLCVRow:
      type: object
      properties:
        UNIT:
          type: string
          enum:
          - MINUTE
          - HOUR
          - DAY
        TIMESTAMP:
          type: integer
          format: int64
        TYPE:
          type: string
        MARKET:
          type: string
        INSTRUMENT:
          type: string
        MAPPED_INSTRUMENT:
          type: string
        BASE:
          type: string
        QUOTE:
          type: string
        OPEN:
          type: number
        HIGH:
          type: number
        LOW:
          type: number
        CLOSE:
          type: number
        FIRST_TRADE_TIMESTAMP:
          type: integer
          format: int64
        LAST_TRADE_TIMESTAMP:
          type: integer
          format: int64
        FIRST_TRADE_PRICE:
          type: number
        HIGH_TRADE_PRICE:
          type: number
        LOW_TRADE_PRICE:
          type: number
        LAST_TRADE_PRICE:
          type: number
        VOLUME:
          type: number
        QUOTE_VOLUME:
          type: number
        VOLUME_BUY:
          type: number
        QUOTE_VOLUME_BUY:
          type: number
        VOLUME_SELL:
          type: number
        QUOTE_VOLUME_SELL:
          type: number
        TOTAL_TRADES:
          type: integer
        TOTAL_TRADES_BUY:
          type: integer
        TOTAL_TRADES_SELL:
          type: integer
        TOTAL_TRADES_UNKNOWN:
          type: integer
    OrderbookL1TopResponse:
      type: object
      properties:
        Data:
          type: object
          additionalProperties:
            type: object
            properties:
              TYPE:
                type: string
              MARKET:
                type: string
              INSTRUMENT:
                type: string
              BEST_BID:
                type: number
              BEST_BID_QUANTITY:
                type: number
              BEST_ASK:
                type: number
              BEST_ASK_QUANTITY:
                type: number
              BEST_BID_LAST_UPDATE_TS:
                type: integer
                format: int64
              BEST_ASK_LAST_UPDATE_TS:
                type: integer
                format: int64
    MarketsListResponse:
      type: object
      properties:
        Data:
          type: object
          additionalProperties:
            type: object
            properties:
              TYPE:
                type: string
              EXCHANGE_STATUS:
                type: string
              MAPPED_INSTRUMENTS_TOTAL:
                type: integer
              UNMAPPED_INSTRUMENTS_TOTAL:
                type: integer
              INSTRUMENT_STATUS:
                type: object
              TOTAL_TRADES_SPOT:
                type: integer
              HAS_ORDERBOOK_L2_MINUTE_SNAPSHOTS_ENABLED:
                type: boolean
    HistoricalOHLCVResponse:
      type: object
      properties:
        Data:
          type: array
          items:
            $ref: '#/components/schemas/HistoricalOHLCVRow'
        Err:
          type: object
    SpotTickResponse:
      type: object
      properties:
        Data:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/SpotTick'
        Err:
          type: object
    SpotTick:
      type: object
      properties:
        TYPE:
          type: string
        MARKET:
          type: string
        INSTRUMENT:
          type: string
        CCSEQ:
          type: integer
          format: int64
        PRICE:
          type: number
        PRICE_LAST_UPDATE_TS:
          type: integer
          format: int64
        VOLUME:
          type: number
        QUOTE_VOLUME:
          type: number
        VOLUME_TOP_TIER:
          type: number
        QUOTE_VOLUME_TOP_TIER:
          type: number
        CURRENT_HOUR_VOLUME:
          type: number
        CURRENT_HOUR_QUOTE_VOLUME:
          type: number
        CURRENT_HOUR_OPEN:
          type: number
        CURRENT_HOUR_HIGH:
          type: number
        CURRENT_HOUR_LOW:
          type: number
        CURRENT_HOUR_CHANGE:
          type: number
        CURRENT_HOUR_CHANGE_PERCENTAGE:
          type: number
        CURRENT_DAY_OPEN:
          type: number
        CURRENT_DAY_HIGH:
          type: number
        CURRENT_DAY_LOW:
          type: number
        CURRENT_DAY_CHANGE:
          type: number
        CURRENT_DAY_CHANGE_PERCENTAGE:
          type: number
        MOVING_24_HOUR_VOLUME:
          type: number
        MOVING_24_HOUR_QUOTE_VOLUME:
          type: number
        MOVING_24_HOUR_OPEN:
          type: number
        MOVING_24_HOUR_HIGH:
          type: number
        MOVING_24_HOUR_LOW:
          type: number
        MOVING_24_HOUR_CHANGE:
          type: number
        MOVING_24_HOUR_CHANGE_PERCENTAGE:
          type: number
        LIFETIME_FIRST_TRADE_TS:
          type: integer
          format: int64
        LIFETIME_HIGH:
          type: number
        LIFETIME_LOW:
          type: number
    TradesResponse:
      type: object
      properties:
        Data:
          type: array
          items:
            type: object
            properties:
              TYPE:
                type: string
              MARKET:
                type: string
              INSTRUMENT:
                type: string
              MAPPED_INSTRUMENT:
                type: string
              SIDE:
                type: string
                enum:
                - BUY
                - SELL
                - UNKNOWN
              ID:
                type: string
              TIMESTAMP:
                type: integer
                format: int64
              TIMESTAMP_NS:
                type: integer
              RECEIVED_TIMESTAMP:
                type: integer
                format: int64
              QUANTITY:
                type: number
              PRICE:
                type: number
              QUOTE_QUANTITY:
                type: number
              CCSEQ:
                type: integer
                format: int64
  securitySchemes:
    apiKeyQuery:
      type: apiKey
      name: api_key
      in: query
      description: API key supplied as the api_key query parameter.
    apiKeyHeader:
      type: apiKey
      name: Authorization
      in: header
      description: 'API key supplied as `Authorization: Apikey {apiKey}`.'
externalDocs:
  description: CoinDesk Data API Documentation
  url: https://developers.coindesk.com/documentation/data-api/introduction