SuperRare NFTs API

Search, retrieve, and manage NFT tokens and metadata

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/superrare-nfts-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 email required.

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

OpenAPI Specification

superrare-nfts-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: SuperRare Marketplace Collections NFTs API
  description: 'REST API providing programmatic access to SuperRare NFT metadata, artist profiles, auction data, collection information, sales history, and Merkle root/proof flows for batch operations on the SuperRare NFT marketplace built on Ethereum.

    '
  version: 1.0.0
  contact:
    name: SuperRare Support
    url: https://help.superrare.com/
  termsOfService: https://campaigns.superrare.com/terms
  license:
    name: SuperRare Terms of Service
    url: https://campaigns.superrare.com/terms
servers:
- url: https://api.superrare.com
  description: SuperRare Production API
tags:
- name: NFTs
  description: Search, retrieve, and manage NFT tokens and metadata
paths:
  /v1/nfts:
    get:
      summary: List NFTs
      description: Search, filter, and list NFTs with rich query parameters
      operationId: listNfts
      tags:
      - NFTs
      parameters:
      - name: page
        in: query
        schema:
          type: integer
          minimum: 1
          default: 1
      - name: perPage
        in: query
        schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 20
      - name: q
        in: query
        description: Full-text search query
        schema:
          type: string
      - name: creatorAddress
        in: query
        description: Checksummed Ethereum address of the NFT creator
        schema:
          $ref: '#/components/schemas/EthereumAddress'
      - name: ownerAddress
        in: query
        description: Checksummed Ethereum address of the NFT owner
        schema:
          $ref: '#/components/schemas/EthereumAddress'
      - name: contractAddress
        in: query
        description: Checksummed Ethereum contract address
        schema:
          $ref: '#/components/schemas/EthereumAddress'
      - name: collectionId
        in: query
        schema:
          type: string
      - name: chainId
        in: query
        description: Supported blockchain network id
        schema:
          $ref: '#/components/schemas/ChainId'
      - name: listingType
        in: query
        schema:
          type: string
          enum:
          - SALE_PRICE
          - BATCH_SALE_PRICE
      - name: hasAuction
        in: query
        schema:
          type: boolean
          nullable: true
      - name: auctionState
        in: query
        schema:
          type: string
          enum:
          - PENDING
          - RUNNING
          - UNSETTLED
      - name: auctionType
        in: query
        schema:
          type: string
          enum:
          - RESERVE_AUCTION
          - BATCH_RESERVE_AUCTION
          - SCHEDULED_AUCTION
      - name: auctionCreatorAddress
        in: query
        description: Checksummed Ethereum address of the auction creator
        schema:
          $ref: '#/components/schemas/EthereumAddress'
      - name: auctionBidderAddress
        in: query
        description: Checksummed Ethereum address of the auction bidder
        schema:
          $ref: '#/components/schemas/EthereumAddress'
      - name: hasListing
        in: query
        schema:
          type: boolean
          nullable: true
      - name: hasOffer
        in: query
        schema:
          type: boolean
          nullable: true
      - name: offerBuyerAddress
        in: query
        description: Checksummed Ethereum address of the offer buyer
        schema:
          $ref: '#/components/schemas/EthereumAddress'
      - name: isPrimarySale
        in: query
        schema:
          type: boolean
          nullable: true
      - name: isSecondarySale
        in: query
        schema:
          type: boolean
          nullable: true
      - name: priceMin
        in: query
        schema:
          type: number
          nullable: true
      - name: priceMax
        in: query
        schema:
          type: number
          nullable: true
      - name: currency
        in: query
        description: Checksummed Ethereum address of the currency token
        schema:
          $ref: '#/components/schemas/EthereumAddress'
      - name: mediaType
        in: query
        schema:
          type: string
          enum:
          - AUDIO
          - HTML
          - IMAGE
          - THREE_D
          - VIDEO
      - name: tags
        in: query
        schema:
          oneOf:
          - type: array
            items:
              type: string
          - type: string
      - name: sortBy
        in: query
        schema:
          type: string
          enum:
          - newest
          - oldest
          - priceAsc
          - priceDesc
          - recentlySold
          - auctionEndingSoon
          - recentActivity
          - bidAsc
          - bidDesc
      responses:
        '200':
          description: List of NFTs
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Nft'
                  pagination:
                    $ref: '#/components/schemas/Pagination'
  /v1/nfts/{universalTokenId}:
    get:
      summary: Get NFT
      description: Get a single NFT by its universal token ID
      operationId: getNft
      tags:
      - NFTs
      parameters:
      - name: universalTokenId
        in: path
        required: true
        description: Canonical NFT identifier in chainId-contractAddress-tokenId format
        schema:
          $ref: '#/components/schemas/UniversalTokenId'
      responses:
        '200':
          description: NFT detail
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/Nft'
        '404':
          description: NFT not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v1/nfts/{universalTokenId}/events:
    get:
      summary: List NFT events
      description: Get events for a specific NFT
      operationId: listNftEvents
      tags:
      - NFTs
      parameters:
      - name: universalTokenId
        in: path
        required: true
        description: Canonical NFT identifier in chainId-contractAddress-tokenId format
        schema:
          $ref: '#/components/schemas/UniversalTokenId'
      - name: page
        in: query
        schema:
          type: integer
          minimum: 1
          default: 1
      - name: perPage
        in: query
        schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 20
      - name: eventType
        in: query
        schema:
          type: array
          items:
            type: string
            enum:
            - CANCEL_AUCTION
            - CANCEL_OFFER
            - CLOSE_AUCTION
            - CREATE_NFT
            - CREATE_NFT_SUPPLY
            - CREATE_RESERVE_AUCTION
            - CREATE_SCHEDULED_AUCTION
            - END_AUCTION
            - MAKE_AUCTION_BID
            - MAKE_LISTING
            - MAKE_OFFER
            - SETTLE_AUCTION
            - START_AUCTION
            - TAKE_LISTING
            - TAKE_OFFER
            - TRANSFER_NFT
            - TRANSFER_NFT_SUPPLY
      - name: sortBy
        in: query
        schema:
          type: string
          enum:
          - newest
          - oldest
      responses:
        '200':
          description: List of NFT events
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/NftEvent'
                  pagination:
                    $ref: '#/components/schemas/Pagination'
components:
  schemas:
    ChainId:
      type: integer
      description: Supported blockchain network id
      example: 1
    ErrorResponse:
      type: object
      properties:
        error:
          type: string
    Pagination:
      type: object
      properties:
        page:
          type: integer
          example: 1
        perPage:
          type: integer
          example: 20
        totalCount:
          type: integer
          example: 100
        totalPages:
          type: integer
          example: 5
    CreationEvent:
      type: object
      properties:
        eventId:
          type: string
          example: evt_123
        createdAt:
          type: string
          example: '2024-01-01T00:00:00.000Z'
        transactionHash:
          type: string
          nullable: true
          example: '0xabc123'
        blockNumber:
          type: integer
          nullable: true
          example: 12345678
        eventType:
          type: string
          enum:
          - CREATE_NFT
          - CREATE_NFT_SUPPLY
        creator:
          $ref: '#/components/schemas/User'
        amount:
          type: string
          example: '100'
    OfferEvent:
      type: object
      properties:
        eventId:
          type: string
          example: evt_123
        createdAt:
          type: string
          example: '2024-01-01T00:00:00.000Z'
        transactionHash:
          type: string
          nullable: true
          example: '0xabc123'
        blockNumber:
          type: integer
          nullable: true
          example: 12345678
        eventType:
          type: string
          enum:
          - MAKE_OFFER
          - CANCEL_OFFER
        buyer:
          $ref: '#/components/schemas/User'
        price:
          $ref: '#/components/schemas/CryptoValue'
    AuctionLifecycleEvent:
      type: object
      properties:
        eventId:
          type: string
          example: evt_123
        createdAt:
          type: string
          example: '2024-01-01T00:00:00.000Z'
        transactionHash:
          type: string
          nullable: true
          example: '0xabc123'
        blockNumber:
          type: integer
          nullable: true
          example: 12345678
        eventType:
          type: string
          enum:
          - CREATE_RESERVE_AUCTION
          - CREATE_SCHEDULED_AUCTION
          - START_AUCTION
          - END_AUCTION
          - CANCEL_AUCTION
          - CLOSE_AUCTION
        seller:
          $ref: '#/components/schemas/User'
        buyer:
          $ref: '#/components/schemas/User'
        price:
          $ref: '#/components/schemas/CryptoValue'
        minimumBid:
          $ref: '#/components/schemas/CryptoValue'
        startTime:
          type: string
          nullable: true
          example: '2024-01-01T00:00:00.000Z'
    EthereumAddress:
      type: string
      description: Checksummed Ethereum address
      pattern: ^0x[0-9a-fA-F]{40}$
      example: '0xba5BDe662c17e2aDFF1075610382B9B691296350'
    Currency:
      type: object
      properties:
        address:
          type: string
          example: '0x0000000000000000000000000000000000000000'
        symbol:
          type: string
          example: ETH
        decimals:
          type: integer
          example: 18
        chainId:
          type: integer
          example: 1
    LastSale:
      type: object
      nullable: true
      properties:
        eventId:
          type: string
          example: evt_123
        price:
          $ref: '#/components/schemas/CryptoValue'
    Offer:
      type: object
      properties:
        contractAddress:
          type: string
          example: '0x1234567890abcdef1234567890abcdef12345678'
        type:
          type: string
          enum:
          - OFFER
          - BATCH_OFFER
          example: OFFER
        price:
          $ref: '#/components/schemas/CryptoValue'
        buyer:
          $ref: '#/components/schemas/User'
        buyerAddress:
          type: string
          example: '0xba5BDe662c17e2aDFF1075610382B9B691296350'
    TransferEvent:
      type: object
      properties:
        eventId:
          type: string
          example: evt_123
        createdAt:
          type: string
          example: '2024-01-01T00:00:00.000Z'
        transactionHash:
          type: string
          nullable: true
          example: '0xabc123'
        blockNumber:
          type: integer
          nullable: true
          example: 12345678
        eventType:
          type: string
          enum:
          - TRANSFER_NFT
          - TRANSFER_NFT_SUPPLY
        from:
          $ref: '#/components/schemas/User'
        to:
          $ref: '#/components/schemas/User'
        amount:
          type: string
          example: '1'
    Auction:
      type: object
      properties:
        contractAddress:
          type: string
          example: '0x1234567890abcdef1234567890abcdef12345678'
        type:
          type: string
          enum:
          - RESERVE_AUCTION
          - BATCH_RESERVE_AUCTION
          - SCHEDULED_AUCTION
          example: RESERVE_AUCTION
        state:
          type: string
          enum:
          - PENDING
          - RUNNING
          - UNSETTLED
          example: RUNNING
        startTime:
          type: string
          nullable: true
          example: '2024-01-01T00:00:00.000Z'
        endTime:
          type: string
          nullable: true
          example: '2024-01-02T00:00:00.000Z'
        currencyAddress:
          type: string
          example: '0x0000000000000000000000000000000000000000'
        sellerAddress:
          type: string
          example: '0xba5BDe662c17e2aDFF1075610382B9B691296350'
        currentBid:
          $ref: '#/components/schemas/CryptoValue'
        reservePrice:
          $ref: '#/components/schemas/CryptoValue'
        highestBidder:
          $ref: '#/components/schemas/User'
        merkleRoot:
          type: string
          example: '0xcf6398559ea0e93d7d7233ca93b09912da8ff57b45ebe7a3ede9c74d17a76f13'
    Nft:
      type: object
      properties:
        universalTokenId:
          type: string
          example: 1-0xb932a70a57673d89f4acffbe830e8ed7f75fb9e0-12345
        contractAddress:
          type: string
          example: '0xb932a70a57673d89f4acffbe830e8ed7f75fb9e0'
        chainId:
          type: string
          example: '1'
        tokenId:
          type: string
          example: '12345'
        type:
          type: string
          enum:
          - ERC721
          - ERC1155
          example: ERC721
        creator:
          $ref: '#/components/schemas/User'
        owner:
          $ref: '#/components/schemas/User'
        owners:
          type: array
          items:
            type: object
            properties:
              address:
                type: string
                example: '0xba5BDe662c17e2aDFF1075610382B9B691296350'
              balance:
                type: string
                example: '1'
        metadata:
          type: object
          properties:
            name:
              type: string
              nullable: true
              example: Genesis
            description:
              type: string
              nullable: true
              example: A unique digital artwork
            tags:
              type: array
              items:
                type: string
              example:
              - art
              - digital
            mediaType:
              type: string
              nullable: true
              example: image/png
            imageUri:
              type: string
              nullable: true
              example: https://example.com/image.png
            videoUri:
              type: string
              nullable: true
        market:
          type: object
          properties:
            listings:
              type: array
              items:
                $ref: '#/components/schemas/Listing'
            offers:
              type: array
              items:
                $ref: '#/components/schemas/Offer'
            auctions:
              type: array
              items:
                $ref: '#/components/schemas/Auction'
        lastSale:
          $ref: '#/components/schemas/LastSale'
        attributes:
          type: array
          items:
            type: object
            properties:
              property:
                type: string
                example: Background
              value:
                type: string
                example: Blue
        createdAt:
          type: integer
          example: 1704067200
    AuctionBidEvent:
      type: object
      properties:
        eventId:
          type: string
          example: evt_123
        createdAt:
          type: string
          example: '2024-01-01T00:00:00.000Z'
        transactionHash:
          type: string
          nullable: true
          example: '0xabc123'
        blockNumber:
          type: integer
          nullable: true
          example: 12345678
        eventType:
          type: string
          enum:
          - MAKE_AUCTION_BID
        bidder:
          $ref: '#/components/schemas/User'
        price:
          $ref: '#/components/schemas/CryptoValue'
        previousBidder:
          $ref: '#/components/schemas/User'
        extendsAuction:
          type: boolean
          example: false
    CryptoValue:
      type: object
      properties:
        cryptoAmount:
          type: string
          example: '1000000000000000000'
        currency:
          $ref: '#/components/schemas/Currency'
        usdAmount:
          type: number
          nullable: true
          example: 3500
    User:
      type: object
      properties:
        address:
          type: string
          example: '0xba5BDe662c17e2aDFF1075610382B9B691296350'
        username:
          type: string
          nullable: true
          example: satoshi
        avatar:
          type: string
          nullable: true
          example: https://example.com/avatar.png
        fullName:
          type: string
          nullable: true
          example: Satoshi Nakamoto
    ListingEvent:
      type: object
      properties:
        eventId:
          type: string
          example: evt_123
        createdAt:
          type: string
          example: '2024-01-01T00:00:00.000Z'
        transactionHash:
          type: string
          nullable: true
          example: '0xabc123'
        blockNumber:
          type: integer
          nullable: true
          example: 12345678
        eventType:
          type: string
          enum:
          - MAKE_LISTING
        price:
          $ref: '#/components/schemas/CryptoValue'
        targetBuyer:
          $ref: '#/components/schemas/User'
    NftEvent:
      oneOf:
      - $ref: '#/components/schemas/SaleEvent'
      - $ref: '#/components/schemas/TransferEvent'
      - $ref: '#/components/schemas/CreationEvent'
      - $ref: '#/components/schemas/ListingEvent'
      - $ref: '#/components/schemas/OfferEvent'
      - $ref: '#/components/schemas/AuctionBidEvent'
      - $ref: '#/components/schemas/AuctionLifecycleEvent'
      discriminator:
        propertyName: eventType
    UniversalTokenId:
      type: string
      description: Canonical NFT identifier in chainId-contractAddress-tokenId format
      example: 1-0xb932a70a57673d89f4acffbe830e8ed7f75fb9e0-12345
    Listing:
      type: object
      properties:
        contractAddress:
          type: string
          example: '0x1234567890abcdef1234567890abcdef12345678'
        type:
          type: string
          enum:
          - SALE_PRICE
          - BATCH_SALE_PRICE
          example: SALE_PRICE
        price:
          $ref: '#/components/schemas/CryptoValue'
        seller:
          type: string
          example: '0xba5BDe662c17e2aDFF1075610382B9B691296350'
        merkleRoot:
          type: string
          example: '0xcf6398559ea0e93d7d7233ca93b09912da8ff57b45ebe7a3ede9c74d17a76f13'
        allowlist:
          type: object
          nullable: true
          properties:
            root:
              type: string
    SaleEvent:
      type: object
      properties:
        eventId:
          type: string
          example: evt_123
        createdAt:
          type: string
          example: '2024-01-01T00:00:00.000Z'
        transactionHash:
          type: string
          nullable: true
          example: '0xabc123'
        blockNumber:
          type: integer
          nullable: true
          example: 12345678
        eventType:
          type: string
          enum:
          - SETTLE_AUCTION
          - TAKE_LISTING
          - TAKE_OFFER
        buyer:
          $ref: '#/components/schemas/User'
        seller:
          $ref: '#/components/schemas/User'
        price:
          $ref: '#/components/schemas/CryptoValue'
externalDocs:
  description: SuperRare Developer Documentation
  url: https://developer.superrare.com/