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. It exposes a consolidated surface across Spot markets (latest tick, instrument metadata, historical OHLCV, trades, order book L1), CoinDesk Indices and Reference Rates (CADLI, CCIX, CCIXBE), Futures and Options derivatives, Asset metadata and overview, On-chain data, News articles, and Polling / On-demand exports. Authentication uses an API key supplied either as the api_key query parameter or as `Authorization: Apikey {apiKey}`. The base URL is https://data-api.cryptocompare.com.'
  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:
    LimitParam:
      name: limit
      in: query
      description: Number of data points to return.
      schema:
        type: integer
        default: 30
        maximum: 2000
    FillParam:
      name: fill
      in: query
      description: Fill empty periods with zero-volume candles.
      schema:
        type: boolean
        default: true
    AggregateParam:
      name: aggregate
      in: query
      description: Time-period aggregation factor.
      schema:
        type: integer
        default: 1
    InstrumentsParam:
      name: instruments
      in: query
      required: true
      description: Comma-separated instrument identifiers (e.g. BTC-USD,ETH-USD).
      schema:
        type: string
    MarketParam:
      name: market
      in: query
      required: true
      description: Spot or derivatives market (e.g. coinbase, kraken, binance, bitstamp, ccix).
      schema:
        type: string
    ToTsParam:
      name: to_ts
      in: query
      description: Upper bound timestamp in seconds.
      schema:
        type: integer
        format: int64
    InstrumentParam:
      name: instrument
      in: query
      required: true
      description: Single instrument identifier (e.g. BTC-USD).
      schema:
        type: string
    ApplyMappingParam:
      name: apply_mapping
      in: query
      description: Apply asset/instrument mapping for renames.
      schema:
        type: boolean
        default: true
    GroupsParam:
      name: groups
      in: query
      description: Comma-separated tick groups to return (VALUE, CURRENT_HOUR, CURRENT_DAY, MOVING_24_HOUR, LIFETIME).
      schema:
        type: string
  schemas:
    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
    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
    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
    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
    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
    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
    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
  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