Rarible Search API API

The Search API API from Rarible — 7 operation(s) for search api.

Operations 7

GET /v0.1/items/traits/search Search NFT collection traits #
POST /v0.1/items/search Search NFTs #
POST /v0.1/items/search/duplicates Search Duplicated NFTs #
POST /v0.1/ownerships/search Search NFT Ownerships #
POST /v0.1/activities/search Search Activities #
POST /v0.1/activities/search/count Count activities that match the search request #
POST /v0.1/collections/search Search NFT Collections #

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/rarible-search-api-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

rarible-search-api-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: OpenAPI definition Charts Search API
  version: v0.1
  description: '# Exciting News


    Hey there, amazing developers! 👋


    We''ve got some fantastic news to share that will make your experience with our product even better. We''re thrilled to announce the implementation of API-Keys, which brings a new level of control and convenience to your development process. So, let''s dive right into the details! ✨


    ## API-Keys for Enhanced Functionality 🔑


    Starting now, we have introduced API-Keys to streamline your interactions with our methods. You might have noticed a slight change while making requests – now, all you need to do is include the parameter `X-API-KEY` in the Header of your request. Simple as that!


    ## Get Your API-Key in a Snap! ⚡️


    Securing your API-Key is a breeze. We''ve made the process super user-friendly to ensure you can get started quickly. Just head over to our website and fill out a simple form. Once you''ve done that, your shiny new API-Key will be delivered straight to your email inbox. Easy peasy! 📧


    [Get Your API-Key Here](https://api.rarible.org/registration)

    [Configure SDK with API-key](https://github.com/rarible/sdk#api-querying)


    ## Unlock the Power of the Rarible Protocol 🔓


    As passionate developers, we know you''re always hungry for knowledge and eager to explore new frontiers. That''s why we invite you to discover the incredible world of the Rarible Protocol. By visiting our dedicated protocol page, you''ll gain access to a treasure trove of useful information, tips, and insights that will elevate your development skills to new heights. 🚀


    [Explore the Rarible Protocol](https://rarible.org)


    So, buckle up and get ready for an enhanced development journey with our API-Keys. We''re excited to see what you''ll create using our revamped system! 💪🚀


    Stay curious, keep innovating, and happy coding! ✨


    [P.S. Join our Discord Server to stay up to date and ask questions](https://discord.gg/rarifoundation)

    '
servers:
- url: https://{environment}.rarible.org
  description: Production (Mainnet)
  variables:
    environment:
      enum:
      - api
      - testnet-api
      default: api
security:
- ApiKeyAuth: []
tags:
- name: Search API
  x-controller: SearchController
paths:
  /v0.1/items/traits/search:
    get:
      tags:
      - Search API
      summary: Search NFT collection traits
      description: Returns aggregation of existing traits for specified collections with counter for each trait type/value.\  This is full-text-search, where you can specify filter for trait keys not precisely\  (for example, results `back` filter include `Background` trait)
      operationId: searchTraits
      parameters:
      - name: filter
        description: filter
        in: query
        required: true
        schema:
          type: string
          example: Hat
      - name: collectionIds
        description: Collections identifiers to which traits belong
        in: query
        required: true
        schema:
          type: array
          items:
            type: string
            example: ETHEREUM:0x60e4d786628fea6478f785a6d7e704777c86a7c6
      - name: owners
        description: Return traits only for items owned by user
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
            example: ${filterOwners}
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Traits'
        '400':
          $ref: '#/components/responses/BadRequest'
        '500':
          $ref: '#/components/responses/ServerError'
  /v0.1/items/search:
    post:
      tags:
      - Search API
      summary: Search NFTs
      description: Advanced search returns NFTs satisfying provided filter
      operationId: searchItems
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ItemsSearchRequest'
            example:
              size: 10
              filter:
                blockchains:
                - ETHEREUM
                deleted: false
                sellPriceFrom: 0
                sellPriceTo: 100
                sellCurrency: ETHEREUM:0x0000000000000000000000000000000000000000
                lastUpdatedAtFrom: '2022-12-01T00:00:00Z'
                lastUpdatedAtTo: '2029-12-01T00:00:00Z'
              sort: EARLIEST
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Items'
        '400':
          $ref: '#/components/responses/BadRequest'
        '500':
          $ref: '#/components/responses/ServerError'
  /v0.1/items/search/duplicates:
    post:
      tags:
      - Search API
      summary: Search Duplicated NFTs
      description: Advanced search returns NFTs satisfying provided filter and with duplicated traits
      operationId: searchDuplicatedItems
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DuplicatedItemsSearchRequest'
            example:
              size: 10
              filter:
                blockchains:
                - ETHEREUM
                deleted: false
                sellPriceFrom: 0
                sellPriceTo: 100
                sellCurrency: ETHEREUM:0x0000000000000000000000000000000000000000
                lastUpdatedAtFrom: '2022-12-01T00:00:00Z'
                lastUpdatedAtTo: '2029-12-01T00:00:00Z'
              traits:
              - series
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DuplicatedItemGroups'
        '400':
          $ref: '#/components/responses/BadRequest'
        '500':
          $ref: '#/components/responses/ServerError'
  /v0.1/ownerships/search:
    post:
      tags:
      - Search API
      summary: Search NFT Ownerships
      description: Advanced search returns NFT Ownerships satisfying provided filter
      operationId: searchOwnerships
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OwnershipSearchRequest'
            example:
              size: 10
              filter:
                blockchains:
                - ETHEREUM
                deleted: false
                sellPriceFrom: 0
                sellPriceTo: 100
                sellCurrency: ETHEREUM:0x0000000000000000000000000000000000000000
                lastUpdatedAtFrom: '2022-12-01T00:00:00Z'
                lastUpdatedAtTo: '2029-12-01T00:00:00Z'
              sort: EARLIEST
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Ownerships'
        '400':
          $ref: '#/components/responses/BadRequest'
        '500':
          $ref: '#/components/responses/ServerError'
  /v0.1/activities/search:
    post:
      tags:
      - Search API
      summary: Search Activities
      description: Advanced search returns Activities satisfying provided filter
      operationId: searchActivities
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ActivitySearchRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Activities'
        '400':
          $ref: '#/components/responses/BadRequest'
        '500':
          $ref: '#/components/responses/ServerError'
  /v0.1/activities/search/count:
    post:
      tags:
      - Search API
      summary: Count activities that match the search request
      description: Advanced search returns the count of Activities satisfying provided filter
      operationId: searchActivitiesCount
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ActivitySearchFilter'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchResultCount'
        '400':
          $ref: '#/components/responses/BadRequest'
        '500':
          $ref: '#/components/responses/ServerError'
  /v0.1/collections/search:
    post:
      tags:
      - Search API
      summary: Search NFT Collections
      description: Advanced search returns NFT Collections satisfying provided filter
      operationId: searchCollection
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CollectionsSearchRequest'
            example:
              size: 10
              filter:
                blockchains:
                - ETHEREUM
                text: Apes
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Collections'
        '400':
          $ref: '#/components/responses/BadRequest'
        '500':
          $ref: '#/components/responses/ServerError'
components:
  schemas:
    EthOrderBasicSeaportDataV1:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - ETH_BASIC_SEAPORT_DATA_V1
      required:
      - '@type'
    ContractAddress:
      type: string
      description: Blockchain contract address in Union format `ETHEREUM:${token}`
      example: ETHEREUM:0xd07dc4262bcdbf85190c01c996b4c06a461d2430
    DuplicatedItemsSearchRequest:
      type: object
      description: Search request for items with duplicated traits
      required:
      - size
      - filter
      - traits
      properties:
        size:
          minimum: 1
          maximum: 1000
          default: 50
          type: integer
          format: int32
          description: Number of entities returned
        continuation:
          type: string
          description: Continuation token to paginate items search result
        filter:
          $ref: '#/components/schemas/ItemsSearchFilter'
        traits:
          description: Traits names to group by
          type: array
          minItems: 1
          uniqueItems: true
          items:
            type: string
    MetaContent:
      type: object
      properties:
        fileName:
          type: string
        url:
          type: string
        representation:
          type: string
          enum:
          - PREVIEW
          - BIG
          - INITIAL
          - ORIGINAL
          - PORTRAIT
        mimeType:
          type: string
          example: image/png
        size:
          type: integer
          format: int64
        available:
          type: boolean
      required:
      - url
      - representation
      oneOf:
      - $ref: '#/components/schemas/ImageContent'
      - $ref: '#/components/schemas/VideoContent'
      - $ref: '#/components/schemas/AudioContent'
      - $ref: '#/components/schemas/Model3dContent'
      - $ref: '#/components/schemas/HtmlContent'
    ImageContent:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - IMAGE
        width:
          type: integer
        height:
          type: integer
    L2DepositActivity:
      type: object
      required:
      - '@type'
      - user
      - status
      - itemId
      properties:
        '@type':
          type: string
          enum:
          - L2_DEPOSIT
        user:
          $ref: '#/components/schemas/UnionAddress'
        status:
          type: string
        itemId:
          $ref: '#/components/schemas/ItemId'
        collection:
          $ref: '#/components/schemas/CollectionId'
        value:
          $ref: '#/components/schemas/BigInteger'
    Creator:
      type: object
      properties:
        account:
          $ref: '#/components/schemas/UnionAddress'
        value:
          type: integer
      required:
      - account
      - value
    ActivityId:
      type: string
      example: ETHEREUM:${id}
    Rarity:
      type: object
      properties:
        score:
          type: number
          format: float
          description: Higher score corresponds to a rarer item
        rank:
          type: integer
          format: int64
          description: Item with rank 1 is the rarest
    ItemSearchFullText:
      type: object
      properties:
        text:
          type: string
        fields:
          type: array
          default:
          - NAME
          items:
            type: string
            enum:
            - NAME
            - DESCRIPTION
            - TRAIT_VALUE
      required:
      - text
    VideoContent:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - VIDEO
        width:
          type: integer
        height:
          type: integer
    SolanaAuctionHouseDataV1:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - SOLANA_AUCTION_HOUSE_V1
        fee:
          type: integer
        requiresSignOff:
          type: boolean
        auctionHouse:
          $ref: '#/components/schemas/ContractAddress'
      required:
      - '@type'
    EthOrderSeaportDataV1:
      type: object
      properties:
        protocol:
          $ref: '#/components/schemas/UnionAddress'
        orderType:
          $ref: '#/components/schemas/EthSeaportOrderType'
        offer:
          type: array
          items:
            $ref: '#/components/schemas/EthSeaportOffer'
        consideration:
          type: array
          items:
            $ref: '#/components/schemas/EthSeaportConsideration'
        zone:
          $ref: '#/components/schemas/UnionAddress'
        zoneHash:
          type: string
        conduitKey:
          type: string
        counter:
          deprecated: true
          type: integer
          format: int64
        nonce:
          $ref: '#/components/schemas/BigInteger'
      required:
      - protocol
      - orderType
      - offer
      - consideration
      - zone
      - zoneHash
      - conduitKey
      oneOf:
      - $ref: '#/components/schemas/EthOrderBasicSeaportDataV1'
    EthOrderDataRaribleV2DataV2:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - ETH_RARIBLE_V2_2
        payouts:
          type: array
          default: []
          items:
            $ref: '#/components/schemas/Payout'
        originFees:
          type: array
          default: []
          items:
            $ref: '#/components/schemas/Payout'
        isMakeFill:
          type: boolean
          description: If true, the 'fill' part of the order applies to the 'make' side, otherwise to the 'take' side
      required:
      - '@type'
      - payouts
      - originFees
      - isMakeFill
    MintActivity:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - MINT
        owner:
          $ref: '#/components/schemas/UnionAddress'
        contract:
          $ref: '#/components/schemas/ContractAddress'
        collection:
          $ref: '#/components/schemas/CollectionId'
        tokenId:
          $ref: '#/components/schemas/BigInteger'
        itemId:
          $ref: '#/components/schemas/ItemId'
        value:
          $ref: '#/components/schemas/BigInteger'
        mintPrice:
          $ref: '#/components/schemas/BigDecimal'
        mintPayment:
          $ref: '#/components/schemas/Asset'
        mintPriceUsd:
          $ref: '#/components/schemas/BigDecimal'
        transactionHash:
          type: string
        blockchainInfo:
          $ref: '#/components/schemas/ActivityBlockchainInfo'
      required:
      - '@type'
      - owner
      - value
      - transactionHash
    NftOfCollectionAssetType:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - NFT_OF_COLLECTION
        collectionId:
          $ref: '#/components/schemas/CollectionId'
      required:
      - '@type'
      - collectionId
    TransferActivity:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - TRANSFER
        from:
          $ref: '#/components/schemas/UnionAddress'
        owner:
          $ref: '#/components/schemas/UnionAddress'
        contract:
          $ref: '#/components/schemas/ContractAddress'
        collection:
          $ref: '#/components/schemas/CollectionId'
        tokenId:
          $ref: '#/components/schemas/BigInteger'
        itemId:
          $ref: '#/components/schemas/ItemId'
        value:
          $ref: '#/components/schemas/BigInteger'
        purchase:
          type: boolean
        transactionHash:
          type: string
        blockchainInfo:
          $ref: '#/components/schemas/ActivityBlockchainInfo'
      required:
      - '@type'
      - from
      - owner
      - value
      - transactionHash
    RawJson:
      type: object
    CollectionsSearchFilter:
      type: object
      description: Filter for collections search query
      properties:
        blockchains:
          type: array
          items:
            $ref: '#/components/schemas/Blockchain'
        text:
          type: string
          example: Apes
      required:
      - text
    EthCryptoPunksAssetType:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - CRYPTO_PUNKS
        contract:
          $ref: '#/components/schemas/ContractAddress'
        collection:
          $ref: '#/components/schemas/CollectionId'
        tokenId:
          type: integer
      required:
      - '@type'
      - contract
      - tokenId
    EthGenerativeArtAssetType:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - GEN_ART
        contract:
          $ref: '#/components/schemas/ContractAddress'
        collection:
          $ref: '#/components/schemas/CollectionId'
      required:
      - '@type'
      - contract
    OwnershipSearchRequest:
      title: OwnershipSearchQuery
      type: object
      description: Ownerships complex search query
      required:
      - size
      - filter
      properties:
        size:
          minimum: 1
          maximum: 1000
          default: 50
          type: integer
          format: int32
          description: Number of entities returned
        continuation:
          type: string
          description: Continuation token to paginate ownerships search result
        filter:
          $ref: '#/components/schemas/OwnershipSearchFilter'
        sort:
          $ref: '#/components/schemas/OwnershipSearchSort'
    OrderMatchActivity:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - MATCH
        orderId:
          $ref: '#/components/schemas/OrderId'
        source:
          $ref: '#/components/schemas/OrderActivitySource'
        transactionHash:
          type: string
        blockchainInfo:
          $ref: '#/components/schemas/ActivityBlockchainInfo'
      required:
      - source
      - transactionHash
      oneOf:
      - $ref: '#/components/schemas/OrderMatchSwap'
      - $ref: '#/components/schemas/OrderMatchSell'
    Ownerships:
      type: object
      properties:
        total:
          deprecated: true
          type: integer
          format: int64
          description: Number of ownerships were found by request
        continuation:
          type: string
          description: Continuation token to paginate Ownerships search result
        ownerships:
          type: array
          default: []
          description: List of found ownerships
          items:
            $ref: '#/components/schemas/Ownership'
      required:
      - ownerships
    EthCollectionAssetType:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - COLLECTION
        contract:
          $ref: '#/components/schemas/ContractAddress'
        collection:
          $ref: '#/components/schemas/CollectionId'
      required:
      - '@type'
      - contract
    EthOrderCryptoPunksData:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - ETH_CRYPTO_PUNKS
        stub:
          type: string
          default: STUB
      required:
      - '@type'
    Traits:
      type: object
      properties:
        continuation:
          type: string
          description: Continuation token to paginate traits search result
        traits:
          type: array
          description: List of found traits
          default: []
          items:
            $ref: '#/components/schemas/Trait'
      required:
      - traits
    OrderActivitySource:
      type: string
      enum:
      - RARIBLE
      - OPEN_SEA
      - CRYPTO_PUNKS
      - HEN
      - OBJKT
      - X2Y2
      - LOOKSRARE
      - SUDOSWAP
      - TEIA
      - VERSUM
      - FXHASH
      - BLUR
      - TOPAZ
    OwnershipSearchFilter:
      type: object
      description: Filter for ownerships search query
      properties:
        blockchains:
          type: array
          items:
            $ref: '#/components/schemas/Blockchain'
        owners:
          type: array
          items:
            $ref: '#/components/schemas/UnionAddress'
        collections:
          type: array
          items:
            $ref: '#/components/schemas/CollectionId'
        items:
          type: array
          items:
            $ref: '#/components/schemas/ItemId'
        beforeDate:
          type: string
          format: date-time
        afterDate:
          type: string
          format: date-time
        sellPriceFrom:
          type: number
          format: double
        sellPriceTo:
          type: number
          format: double
        sellCurrency:
          type: string
        sellPlatforms:
          type: array
          items:
            $ref: '#/components/schemas/Platform'
    EthEthereumAssetType:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - ETH
        blockchain:
          $ref: '#/components/schemas/Blockchain'
      required:
      - '@type'
    ItemRoyalty:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - ROYALTY
        royalties:
          type: array
          default: []
          items:
            $ref: '#/components/schemas/Royalty'
      required:
      - '@type'
      - royalties
    Order:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/OrderId'
        fill:
          $ref: '#/components/schemas/BigDecimal'
        platform:
          $ref: '#/components/schemas/Platform'
        status:
          $ref: '#/components/schemas/OrderStatus'
        startedAt:
          type: string
          format: date-time
        endedAt:
          type: string
          format: date-time
        makeStock:
          $ref: '#/components/schemas/BigDecimal'
        cancelled:
          type: boolean
        optionalRoyalties:
          type: boolean
          description: True if the execution of this order does not guarantee that the royalties will be paid. In this case, it is up to the buyer to pay the royalties.
          default: false
        createdAt:
          type: string
          format: date-time
        lastUpdatedAt:
          type: string
          format: date-time
        dbUpdatedAt:
          type: string
          format: date-time
        makePrice:
          $ref: '#/components/schemas/BigDecimal'
        takePrice:
          $ref: '#/components/schemas/BigDecimal'
        makePriceUsd:
          $ref: '#/components/schemas/BigDecimal'
        takePriceUsd:
          $ref: '#/components/schemas/BigDecimal'
        maker:
          $ref: '#/components/schemas/UnionAddress'
        taker:
          $ref: '#/components/schemas/UnionAddress'
        make:
          $ref: '#/components/schemas/Asset'
        take:
          $ref: '#/components/schemas/Asset'
        salt:
          type: string
        signature:
          type: string
        feeTakers:
          type: array
          default: []
          items:
            $ref: '#/components/schemas/UnionAddress'
        data:
          $ref: '#/components/schemas/OrderData'
        version:
          type: integer
          format: int64
      required:
      - id
      - platform
      - status
      - fill
      - makeStock
      - cancelled
      - createdAt
      - lastUpdatedAt
      - type
      - maker
      - make
      - take
      - salt
      - data
    AudioContent:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - AUDIO
    BurnActivity:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - BURN
        owner:
          $ref: '#/components/schemas/UnionAddress'
        contract:
          $ref: '#/components/schemas/ContractAddress'
        collection:
          $ref: '#/components/schemas/CollectionId'
        tokenId:
          $ref: '#/components/schemas/BigInteger'
        itemId:
          $ref: '#/components/schemas/ItemId'
        value:
          $ref: '#/components/schemas/BigInteger'
        transactionHash:
          type: string
        blockchainInfo:
          $ref: '#/components/schemas/ActivityBlockchainInfo'
      required:
      - '@type'
      - owner
      - value
      - transactionHash
    ActivitySearchSort:
      type: string
      enum:
      - LATEST
      - EARLIEST
    TraitSort:
      title: TraitSort
      type: object
      description: Used when the search sort is set as TRAIT
      required:
      - key
      properties:
        key:
          type: string
          description: Trait key
          example: hat
        order:
          $ref: '#/components/schemas/SortOrder'
        type:
          $ref: '#/components/schemas/SortType'
    Collection:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/CollectionId'
        parent:
          $ref: '#/components/schemas/CollectionId'
        blockchain:
          $ref: '#/components/schemas/Blockchain'
        structure:
          type: string
          enum:
          - REGULAR
          - COMPOSITE
          - PART
          description: 'Collection structure can be described as:

            - REGULAR: a standalone collection that has a corresponding contract address on the blockchain.

            - COMPOSITE: an artificial collection that is composed of one or more regular collections or items.

            - PART: an artificial collection that is a part of a larger regular collection, thus has a parent collection.

            '
        type:
          type: string
          enum:
          - CRYPTO_PUNKS
          - ERC721
          - ERC1155
          - SOLANA
          - TOKEN_GROUP_2022
          - APTOS
          - STELLAR
        status:
          type: string
          enum:
          - PENDING
          - ERROR
          - CONFIRMED
        name:
          type: string
        symbol:
          type: string
        owner:
          $ref: '#/components/schemas/UnionAddress'
        features:
          type: array
          default: []
          items:
            type: string
            enum:
            - APPROVE_FOR_ALL
            - SET_URI_PREFIX
            - BURN
            - MINT_WITH_ADDRESS
            - SECONDARY_SALE_FEES
            - MINT_AND_TRANSFER
            - PAUSABLE
            - NOT_FOR_SALE
        minters:
          type: array
          description: List of addresses that can mint items in this collection
          items:
            $ref: '#/components/schemas/UnionAddress'
        meta:
          $ref: '#/components/schemas/CollectionMeta'
        bestBidOrder:
          $ref: '#/components/schemas/Order'
        bestSellOrder:
          $ref: '#/components/schemas/Order'
        bestBidOrdersByCurrency:
          type: array
          description: Contains best bid order for each currency if exists
          items:
            $ref: '#/components/schemas/Order'
        self:
          type: boolean
        scam:
          deprecated: true
          description: Deprecated, use spamScore instead
          type: boolean
          default: false
        spamScore:
          description: Spam score of the collection, 0 - not spam, 100 - spam
          type: integer
          format: int32
        hasTraits:
          type: boolean
          default: true
        shared:
          type: boolean
          default: false
        extra:
          type: object
          description: Blockchain-specific information about this NFT collection particular to that blockchain's data model
          additionalProperties:
            type: string
        lastUpdatedAt:
          type: string
          format: date-time
          description: Timestamp of last collection update in Union
        version:
          type: integer
          format: int64
      required:
      - id
      - blockchain
      - name
      - type
      - features
    ItemsSearchRequest:
      type: object
      description: Complex search request for items
      required:
      - size
      - filter
      properties:
        size:
          minimum: 1
          maximum: 1000
          default: 50
          type: integer
          format: int32
          description: Number of entities returned
        continuation:
          type: string
          description: Continuation token to paginate items search result
        filter:
          $ref: '#/components/schemas/ItemsSearchFilter'
        traitSort:
          $ref: '#/components/schemas/TraitSort'
        sort:
          $ref: '#/components/schemas/ItemsSearchSort'
    EthErc721LazyAssetType:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - ERC721_Lazy
        contract:
          $ref: '#/components/schemas/ContractAddress'
        collection:
          $ref: '#/components/schemas/CollectionId'
        tokenId:
          $ref: '#/components/schemas/BigInteger'
        uri:
          type: string
        creators:
          type: array
          description: Creators of the target item
          default: []
          items:
            $ref: '#/components/schemas/Creator'
        royalties:
          type: array
          default: []
          items:
            $ref: '#/components/schemas/Royalty'
        signatures:
          type: array
          default: []
          items:
            type: string
      required:
      - '@type'
      - contract
      - tokenId
      - uri
      - creators
      - royalties
      - signatures
    ItemHistory:
      type: object
      properties:
        owner:
          $ref: '#/components/schemas/UnionAddress'
        contract:
          $ref: '#/components/schemas/ContractAddress'
        tokenId:
          $ref: '#/components/schemas/BigInteger'
        value:
          $ref: '#/components/schemas/BigInteger'
        date:
          type: string
          format: date-time
      description: History of item
      required:
      - contract
      - tokenId
      - date
      oneOf:
      - $ref: '#/components/schemas/ItemRoyalty'
      - $ref: '#/components/schemas/ItemTransfer'
    SolanaSolAssetType:
      type: object
      properties:
        '@type':
          type: string
          enum:
          - SOLANA_SOL
      required:
      - '@type'
    ItemsSearchSort:
      type: string
      enum:
      - RELEVANCE
      - LATEST
      - RECENTLY_LISTED
      - EARLIEST
      - HIGHEST_SELL
      - LOWEST_SELL
      - HIGHEST_BID
      - LOWEST_BID
      - TRAIT
      - NAME_ASC
      - NAME_DESC
      - OWNER_CHANGE_DATE
      - RARITY_ASC
      - RARITY_DESC
    CollectionMeta:
      required:
      - name
      - content
      type: object
      properties:
        name:
          type: string
          description: Name of the collection
        description:
          type: string
          description: Description of the collection
        c

# --- truncated at 32 KB (74 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/rarible/refs/heads/main/openapi/rarible-search-api-api-openapi.yml