CoinGecko · Capability

CoinGecko Crypto Market Data API — Exchanges

CoinGecko Crypto Market Data API — Exchanges. 5 operations. Lead operation: List all exchanges. Self-contained Naftiko capability covering one Coingecko business surface.

Run with Naftiko CoingeckoExchanges

What You Can Do

GET
Getexchanges — List all exchanges
/v1/exchanges
GET
Getexchangeslist — List all supported exchanges (ID map)
/v1/exchanges/list
GET
Getexchangebyid — Get exchange data by ID
/v1/exchanges/{id}
GET
Getexchangetickers — Get exchange tickers
/v1/exchanges/{id}/tickers
GET
Getexchangevolumechart — Get exchange volume chart data
/v1/exchanges/{id}/volume-chart

MCP Tools

list-all-exchanges

List all exchanges

read-only idempotent
list-all-supported-exchanges-id

List all supported exchanges (ID map)

read-only idempotent
get-exchange-data-id

Get exchange data by ID

read-only idempotent
get-exchange-tickers

Get exchange tickers

read-only idempotent
get-exchange-volume-chart-data

Get exchange volume chart data

read-only idempotent

Capability Spec

crypto-market-data-exchanges.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: CoinGecko Crypto Market Data API — Exchanges
  description: 'CoinGecko Crypto Market Data API — Exchanges. 5 operations. Lead operation: List all exchanges. Self-contained
    Naftiko capability covering one Coingecko business surface.'
  tags:
  - Coingecko
  - Exchanges
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    COINGECKO_API_KEY: COINGECKO_API_KEY
capability:
  consumes:
  - type: http
    namespace: crypto-market-data-exchanges
    baseUri: https://api.coingecko.com/api/v3
    description: CoinGecko Crypto Market Data API — Exchanges business capability. Self-contained, no shared references.
    resources:
    - name: exchanges
      path: /exchanges
      operations:
      - name: getexchanges
        method: GET
        description: List all exchanges
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: per_page
          in: query
          type: integer
          description: Number of results per page (1-250)
        - name: page
          in: query
          type: integer
          description: Page number for pagination
    - name: exchanges-list
      path: /exchanges/list
      operations:
      - name: getexchangeslist
        method: GET
        description: List all supported exchanges (ID map)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: exchanges-id
      path: /exchanges/{id}
      operations:
      - name: getexchangebyid
        method: GET
        description: Get exchange data by ID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: exchanges-id-tickers
      path: /exchanges/{id}/tickers
      operations:
      - name: getexchangetickers
        method: GET
        description: Get exchange tickers
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: coin_ids
          in: query
          type: string
          description: Filter tickers by coin IDs (comma-separated)
        - name: include_exchange_logo
          in: query
          type: boolean
          description: Include exchange logo URL in the response
        - name: page
          in: query
          type: integer
          description: Page number for pagination
        - name: depth
          in: query
          type: boolean
          description: Include order book depth (2% cost to move)
        - name: order
          in: query
          type: string
          description: Sort order for tickers
    - name: exchanges-id-volume_chart
      path: /exchanges/{id}/volume_chart
      operations:
      - name: getexchangevolumechart
        method: GET
        description: Get exchange volume chart data
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: days
          in: query
          type: integer
          description: Number of days of historical data (1, 7, 14, 30, 90, 180, 365)
          required: true
    authentication:
      type: apikey
      key: x-cg-demo-api-key
      value: '{{env.COINGECKO_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: crypto-market-data-exchanges-rest
    port: 8080
    description: REST adapter for CoinGecko Crypto Market Data API — Exchanges. One Spectral-compliant resource per consumed
      operation, prefixed with /v1.
    resources:
    - path: /v1/exchanges
      name: exchanges
      description: REST surface for exchanges.
      operations:
      - method: GET
        name: getexchanges
        description: List all exchanges
        call: crypto-market-data-exchanges.getexchanges
        with:
          per_page: rest.per_page
          page: rest.page
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/exchanges/list
      name: exchanges-list
      description: REST surface for exchanges-list.
      operations:
      - method: GET
        name: getexchangeslist
        description: List all supported exchanges (ID map)
        call: crypto-market-data-exchanges.getexchangeslist
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/exchanges/{id}
      name: exchanges-id
      description: REST surface for exchanges-id.
      operations:
      - method: GET
        name: getexchangebyid
        description: Get exchange data by ID
        call: crypto-market-data-exchanges.getexchangebyid
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/exchanges/{id}/tickers
      name: exchanges-id-tickers
      description: REST surface for exchanges-id-tickers.
      operations:
      - method: GET
        name: getexchangetickers
        description: Get exchange tickers
        call: crypto-market-data-exchanges.getexchangetickers
        with:
          coin_ids: rest.coin_ids
          include_exchange_logo: rest.include_exchange_logo
          page: rest.page
          depth: rest.depth
          order: rest.order
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/exchanges/{id}/volume-chart
      name: exchanges-id-volume-chart
      description: REST surface for exchanges-id-volume_chart.
      operations:
      - method: GET
        name: getexchangevolumechart
        description: Get exchange volume chart data
        call: crypto-market-data-exchanges.getexchangevolumechart
        with:
          days: rest.days
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: crypto-market-data-exchanges-mcp
    port: 9090
    transport: http
    description: MCP adapter for CoinGecko Crypto Market Data API — Exchanges. One tool per consumed operation, routed inline
      through this capability's consumes block.
    tools:
    - name: list-all-exchanges
      description: List all exchanges
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: crypto-market-data-exchanges.getexchanges
      with:
        per_page: tools.per_page
        page: tools.page
      outputParameters:
      - type: object
        mapping: $.
    - name: list-all-supported-exchanges-id
      description: List all supported exchanges (ID map)
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: crypto-market-data-exchanges.getexchangeslist
      outputParameters:
      - type: object
        mapping: $.
    - name: get-exchange-data-id
      description: Get exchange data by ID
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: crypto-market-data-exchanges.getexchangebyid
      outputParameters:
      - type: object
        mapping: $.
    - name: get-exchange-tickers
      description: Get exchange tickers
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: crypto-market-data-exchanges.getexchangetickers
      with:
        coin_ids: tools.coin_ids
        include_exchange_logo: tools.include_exchange_logo
        page: tools.page
        depth: tools.depth
        order: tools.order
      outputParameters:
      - type: object
        mapping: $.
    - name: get-exchange-volume-chart-data
      description: Get exchange volume chart data
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: crypto-market-data-exchanges.getexchangevolumechart
      with:
        days: tools.days
      outputParameters:
      - type: object
        mapping: $.