CoinGecko · Capability

CoinGecko Crypto Market Data API — NFTs

CoinGecko Crypto Market Data API — NFTs. 3 operations. Lead operation: List supported NFT collections. Self-contained Naftiko capability covering one Coingecko business surface.

Run with Naftiko CoingeckoNFTs

What You Can Do

GET
Getnftslist — List supported NFT collections
/v1/nfts/list
GET
Getnftbycontractaddress — Get NFT collection data by contract address
/v1/nfts/{asset-platform-id}/contract/{contract-address}
GET
Getnftbyid — Get NFT collection data by ID
/v1/nfts/{id}

MCP Tools

list-supported-nft-collections

List supported NFT collections

read-only idempotent
get-nft-collection-data-contract

Get NFT collection data by contract address

read-only idempotent
get-nft-collection-data-id

Get NFT collection data by ID

read-only idempotent

Capability Spec

crypto-market-data-nfts.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: CoinGecko Crypto Market Data API — NFTs
  description: 'CoinGecko Crypto Market Data API — NFTs. 3 operations. Lead operation: List supported NFT collections. Self-contained
    Naftiko capability covering one Coingecko business surface.'
  tags:
  - Coingecko
  - NFTs
  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-nfts
    baseUri: https://api.coingecko.com/api/v3
    description: CoinGecko Crypto Market Data API — NFTs business capability. Self-contained, no shared references.
    resources:
    - name: nfts-list
      path: /nfts/list
      operations:
      - name: getnftslist
        method: GET
        description: List supported NFT collections
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: order
          in: query
          type: string
          description: Sort order for results
        - 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: nfts-asset_platform_id-contract-contract_address
      path: /nfts/{asset_platform_id}/contract/{contract_address}
      operations:
      - name: getnftbycontractaddress
        method: GET
        description: Get NFT collection data by contract address
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: asset_platform_id
          in: path
          type: string
          description: The asset platform ID (e.g., ethereum)
          required: true
        - name: contract_address
          in: path
          type: string
          description: The NFT contract address
          required: true
    - name: nfts-id
      path: /nfts/{id}
      operations:
      - name: getnftbyid
        method: GET
        description: Get NFT collection data by ID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The NFT collection ID
          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-nfts-rest
    port: 8080
    description: REST adapter for CoinGecko Crypto Market Data API — NFTs. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/nfts/list
      name: nfts-list
      description: REST surface for nfts-list.
      operations:
      - method: GET
        name: getnftslist
        description: List supported NFT collections
        call: crypto-market-data-nfts.getnftslist
        with:
          order: rest.order
          per_page: rest.per_page
          page: rest.page
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/nfts/{asset-platform-id}/contract/{contract-address}
      name: nfts-asset-platform-id-contract-contract-address
      description: REST surface for nfts-asset_platform_id-contract-contract_address.
      operations:
      - method: GET
        name: getnftbycontractaddress
        description: Get NFT collection data by contract address
        call: crypto-market-data-nfts.getnftbycontractaddress
        with:
          asset_platform_id: rest.asset_platform_id
          contract_address: rest.contract_address
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/nfts/{id}
      name: nfts-id
      description: REST surface for nfts-id.
      operations:
      - method: GET
        name: getnftbyid
        description: Get NFT collection data by ID
        call: crypto-market-data-nfts.getnftbyid
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: crypto-market-data-nfts-mcp
    port: 9090
    transport: http
    description: MCP adapter for CoinGecko Crypto Market Data API — NFTs. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: list-supported-nft-collections
      description: List supported NFT collections
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: crypto-market-data-nfts.getnftslist
      with:
        order: tools.order
        per_page: tools.per_page
        page: tools.page
      outputParameters:
      - type: object
        mapping: $.
    - name: get-nft-collection-data-contract
      description: Get NFT collection data by contract address
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: crypto-market-data-nfts.getnftbycontractaddress
      with:
        asset_platform_id: tools.asset_platform_id
        contract_address: tools.contract_address
      outputParameters:
      - type: object
        mapping: $.
    - name: get-nft-collection-data-id
      description: Get NFT collection data by ID
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: crypto-market-data-nfts.getnftbyid
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.