> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cryptoquant.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List Active Exchanges

> Discover which exchanges are active and what market data each one supports.

## What it does

Discover which exchanges are active and what market data each one supports. The `exchange` and `symbol` parameters on the market data endpoints are open-ended — these discovery endpoints enumerate the values that currently have data.


## OpenAPI

````yaml openapi/v2-market.json GET /market/info/exchanges
openapi: 3.0.0
info:
  version: 2.0.0-beta
  title: CryptoQuant Data API v2 — Market
  description: >-
    Market data endpoints of the CryptoQuant Data API v2 — exchange-level and
    CryptoQuant-aggregated spot & derivatives data (OHLCV, trade, funding rate,
    open interest, liquidation). Built on the v1 conventions: the
    `status`/`result` envelope, Bearer token authentication, and the
    `window`/`from`/`to` time parameters.
  termsOfService: https://cryptoquant.com/terms-of-service
  contact:
    name: API Support
    email: contact@cryptoquant.com
servers:
  - url: https://api.cryptoquant.com/v2
    description: Default server
security: []
tags:
  - name: Market Data
  - name: Market Discovery
paths:
  /market/info/exchanges:
    get:
      tags:
        - Market Discovery
      summary: List active exchanges
      description: >-
        Active exchanges and the market endpoints (origin/instrument/metric)
        each one supports. "Active" = seen in the last 30 days. Internal entity
        ids are never exposed; use the `exchange` name (and its `aliases`).
      operationId: V2marketInfoExchanges
      parameters:
        - name: origin
          in: query
          required: false
          description: Filter by origin. Only `exchange` is valid (or omit).
          schema:
            type: string
            enum:
              - exchange
        - name: instrument
          in: query
          required: false
          description: 'Filter by instrument: `spot` or `swap`.'
          schema:
            type: string
            enum:
              - spot
              - swap
        - name: metric
          in: query
          required: false
          description: >-
            Filter by metric: `ohlcv`, `trade`, `funding-rate`, `open-interest`,
            or `liquidation`. Omit for all capabilities.
          schema:
            type: string
            enum:
              - ohlcv
              - trade
              - funding-rate
              - open-interest
              - liquidation
      responses:
        '200':
          description: Active exchanges with capabilities.
          content:
            application/json:
              schema:
                type: object
                required:
                  - status
                  - result
                properties:
                  status:
                    $ref: '#/components/schemas/Status'
                  result:
                    type: object
                    properties:
                      data:
                        type: array
                        items:
                          type: object
                          properties:
                            exchange:
                              type: string
                              description: Primary exchange name.
                            aliases:
                              type: array
                              items:
                                type: string
                              description: All accepted names for this exchange.
                            capabilities:
                              type: array
                              description: >-
                                Supported (origin, instrument, metric)
                                combinations with their windows.
                              items:
                                type: object
                                properties:
                                  origin:
                                    type: string
                                  instrument:
                                    type: string
                                  metric:
                                    type: string
                                  windows:
                                    type: array
                                    items:
                                      type: string
      security:
        - AccessToken: []
      x-codeSamples:
        - lang: Shell
          source: |-
            curl -X GET "https://api.cryptoquant.com/v2/market/info/exchanges" \
            -H "Authorization: Bearer <YOUR_API_KEY>"
        - lang: JavaScript
          source: >-
            fetch("https://api.cryptoquant.com/v2/market/info/exchanges", {
            headers: { "Authorization": "Bearer <YOUR_API_KEY>"} })
              .then(response => response.json())
              .then(data => console.log(data))
        - lang: NodeJS
          source: |-
            require('axios')
              .get("https://api.cryptoquant.com/v2/market/info/exchanges", { headers: { Authorization: 'Bearer <YOUR_API_KEY>' } })
              .then(response => console.log(response))
        - lang: Ruby
          source: >-
            require 'net/http'

            uri = URI("https://api.cryptoquant.com/v2/market/info/exchanges")

            req = Net::HTTP::Get.new(uri)

            req["Authorization"] = "Bearer <YOUR_API_KEY>"

            res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) {
            |http| http.request(req) }

            puts res.body
        - lang: Python
          source: |-
            import requests
            headers = {'Authorization': 'Bearer <YOUR_API_KEY>'}
            url = "https://api.cryptoquant.com/v2/market/info/exchanges"
            print(requests.get(url, headers=headers).json())
components:
  schemas:
    Status:
      type: object
      description: >-
        Returned with every response; indicates whether the request was
        successful.
      required:
        - code
        - message
      properties:
        code:
          type: integer
          format: int32
          description: HTTP status code.
        message:
          type: string
          description: Text description of the error or success.
  securitySchemes:
    AccessToken:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        For each API request, include the `Authorization` HTTP header with
        `Bearer {access_token}`.

````