---
title: "Search NFT stacks"
method: GET
path: "/v1/chains/{chain_name}/search/stacks"
tags: ["metadata-search"]
---

# Search NFT stacks

`GET /v1/chains/{chain_name}/search/stacks`

Search NFT stacks

## Path parameters

- `chain_name` string, required — The name of chain

## Query parameters

- `contract_address` string[], required
- `account_address` string
- `only_include_owner_listings` boolean
- `only_if_has_active_listings` boolean
- `traits` string
- `keyword` string
- `payment_token` string
- `sort_by` 'cheapest_first'
- `page_size` integer — Maximum number of items to return
- `page_cursor` string — Encoded page cursor to retrieve previous or next page. Use the value returned in the response.

## Response `200`

200 response

- SearchStacksResult — Search stacks result
  - `result` StackBundle[], required — List of stack bundles
    - `stack` Stack, required — Stack
      - `stack_id` string, uuid, required — Stack ID
      - `chain` Chain, required — The chain details
        - `id` string, required — The id of chain
        - `name` string, required — The name of chain
      - `contract_address` string, required — Contract address
      - `contract_type` 'ERC721' | 'ERC1155', required — The contract type for a collection
      - `created_at` string, date-time, required — When the metadata was created
      - `updated_at` string, date-time, required — When the metadata was last updated
      - `name` string, nullable, required — The name of the NFT
      - `description` string, nullable, required — The description of the NFT
      - `image` string, nullable, required — The image url of the NFT
      - `external_url` string, nullable, required — The external website link of NFT
      - `animation_url` string, nullable, required — The animation url of the NFT
      - `youtube_url` string, nullable, required — The youtube URL of NFT
      - `attributes` NFTMetadataAttribute[], nullable, required — List of Metadata attributes
        - `display_type` 'number' | 'boost_percentage' | 'boost_number' | 'date', nullable — Display type for this attribute
        - `trait_type` string, required — The metadata trait type
        - `value` union, required — The metadata trait value
          - string
          - number
          - boolean
    - `stack_count` integer, required — Total count of NFTs in the stack matching the filter params
    - `market` Market, required — Market data
      - `floor_listing` Listing, required
        - `listing_id` string, required — Global Order identifier
        - `price_details` MarketPriceDetails, required — Market Price details
          - `token` union, required — Token details
            - MarketPriceNativeToken
              - …
            - MarketPriceERC20Token
              - …
          - `amount` string, required — The token amount value. This value is provided in the smallest unit of the token (e.g. wei for ETH)
          - `fee_inclusive_amount` string, required — The token amount value. This value is provided in the smallest unit of the token (e.g. wei for ETH)
          - `fees` MarketPriceFees[], required
            - `amount` string, required — Fee in the payment currency
            - `type` 'ROYALTY' | 'MAKER_ECOSYSTEM' | 'TAKER_ECOSYSTEM' | 'PROTOCOL', required — Fee type
            - `recipient_address` string, required — Wallet address of fee recipient
          - `converted_prices` ConvertedPrices, nullable, required — A mapping of converted prices for major currencies such as ETH, USD. All converted prices are fee-inclusive.
        - `token_id` string, required — Token ID
        - `contract_address` string, required — ETH Address of collection that the asset belongs to
        - `creator` string, required — ETH Address of listing creator
        - `amount` string, required — Amount of token included in the listing
      - `top_bid` Bid, required
        - `bid_id` string, required — Global Order identifier
        - `price_details` MarketPriceDetails, required — Market Price details
          - `token` union, required — Token details
            - MarketPriceNativeToken
              - …
            - MarketPriceERC20Token
              - …
          - `amount` string, required — The token amount value. This value is provided in the smallest unit of the token (e.g. wei for ETH)
          - `fee_inclusive_amount` string, required — The token amount value. This value is provided in the smallest unit of the token (e.g. wei for ETH)
          - `fees` MarketPriceFees[], required
            - `amount` string, required — Fee in the payment currency
            - `type` 'ROYALTY' | 'MAKER_ECOSYSTEM' | 'TAKER_ECOSYSTEM' | 'PROTOCOL', required — Fee type
            - `recipient_address` string, required — Wallet address of fee recipient
          - `converted_prices` ConvertedPrices, nullable, required — A mapping of converted prices for major currencies such as ETH, USD. All converted prices are fee-inclusive.
        - `token_id` string, nullable, required — Token ID. Null for collection bids that can be fulfilled by any asset in the collection
        - `contract_address` string, required — ETH Address of collection that the asset belongs to
        - `creator` string, required — ETH Address of listing creator
        - `amount` string, required — Amount of token included in the listing
      - `last_trade` LastTrade, nullable, required — Most recent trade
        - `trade_id` string, uuid, required — Trade ID
        - `contract_address` string, required — ETH Address of collection that the asset belongs to
        - `token_id` string, required — Token id of the traded asset (uint256 as string)
        - `price_details` MarketPriceDetails[], required — Price details, list of payments involved in this trade
          - `token` union, required — Token details
            - MarketPriceNativeToken
              - …
            - MarketPriceERC20Token
              - …
          - `amount` string, required — The token amount value. This value is provided in the smallest unit of the token (e.g. wei for ETH)
          - `fee_inclusive_amount` string, required — The token amount value. This value is provided in the smallest unit of the token (e.g. wei for ETH)
          - `fees` MarketPriceFees[], required
            - `amount` string, required — Fee in the payment currency
            - `type` 'ROYALTY' | 'MAKER_ECOSYSTEM' | 'TAKER_ECOSYSTEM' | 'PROTOCOL', required — Fee type
            - `recipient_address` string, required — Wallet address of fee recipient
          - `converted_prices` ConvertedPrices, nullable, required — A mapping of converted prices for major currencies such as ETH, USD. All converted prices are fee-inclusive.
        - `amount` string, required — Amount of the trade (uint256 as string)
        - `created_at` string, date-time, required — When the trade was created
    - `listings` Listing[], required — List of open listings for the stack.
      - `listing_id` string, required — Global Order identifier
      - `price_details` MarketPriceDetails, required — Market Price details
        - `token` union, required — Token details
          - MarketPriceNativeToken
            - `type` 'NATIVE', required — Token type user is offering, which in this case is the native IMX token
            - `symbol` string, nullable, required — The symbol of token
          - MarketPriceERC20Token
            - `type` 'ERC20', required — Token type user is offering, which in this case is ERC20
            - `contract_address` string, required — Address of ERC20 token
            - `symbol` string, nullable, required — The symbol of token
            - `decimals` integer, nullable, required — The decimals of token
        - `amount` string, required — The token amount value. This value is provided in the smallest unit of the token (e.g. wei for ETH)
        - `fee_inclusive_amount` string, required — The token amount value. This value is provided in the smallest unit of the token (e.g. wei for ETH)
        - `fees` MarketPriceFees[], required
          - `amount` string, required — Fee in the payment currency
          - `type` 'ROYALTY' | 'MAKER_ECOSYSTEM' | 'TAKER_ECOSYSTEM' | 'PROTOCOL', required — Fee type
          - `recipient_address` string, required — Wallet address of fee recipient
        - `converted_prices` ConvertedPrices, nullable, required — A mapping of converted prices for major currencies such as ETH, USD. All converted prices are fee-inclusive.
      - `token_id` string, required — Token ID
      - `contract_address` string, required — ETH Address of collection that the asset belongs to
      - `creator` string, required — ETH Address of listing creator
      - `amount` string, required — Amount of token included in the listing
    - `bids` Bid[], required — List of open bids for the stack.
      - `bid_id` string, required — Global Order identifier
      - `price_details` MarketPriceDetails, required — Market Price details
        - `token` union, required — Token details
          - MarketPriceNativeToken
            - `type` 'NATIVE', required — Token type user is offering, which in this case is the native IMX token
            - `symbol` string, nullable, required — The symbol of token
          - MarketPriceERC20Token
            - `type` 'ERC20', required — Token type user is offering, which in this case is ERC20
            - `contract_address` string, required — Address of ERC20 token
            - `symbol` string, nullable, required — The symbol of token
            - `decimals` integer, nullable, required — The decimals of token
        - `amount` string, required — The token amount value. This value is provided in the smallest unit of the token (e.g. wei for ETH)
        - `fee_inclusive_amount` string, required — The token amount value. This value is provided in the smallest unit of the token (e.g. wei for ETH)
        - `fees` MarketPriceFees[], required
          - `amount` string, required — Fee in the payment currency
          - `type` 'ROYALTY' | 'MAKER_ECOSYSTEM' | 'TAKER_ECOSYSTEM' | 'PROTOCOL', required — Fee type
          - `recipient_address` string, required — Wallet address of fee recipient
        - `converted_prices` ConvertedPrices, nullable, required — A mapping of converted prices for major currencies such as ETH, USD. All converted prices are fee-inclusive.
      - `token_id` string, nullable, required — Token ID. Null for collection bids that can be fulfilled by any asset in the collection
      - `contract_address` string, required — ETH Address of collection that the asset belongs to
      - `creator` string, required — ETH Address of listing creator
      - `amount` string, required — Amount of token included in the listing
  - `page` Page, required — Pagination properties
    - `previous_cursor` string, nullable, required — First item as an encoded string
    - `next_cursor` string, nullable, required — Last item as an encoded string

## Other responses

- `400` — Bad Request (400)
- `401` — Unauthorised Request (401)
- `403` — Forbidden Request (403)
- `404` — The specified resource was not found (404)
- `429` — Too Many Requests (429)
- `500` — Internal Server Error (500)

---

[API](https://skmtc.dev/immutable/apis/immutable-zkevm-api.md) · [All operations](https://skmtc.dev/immutable/apis/immutable-zkevm-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/immutable/immutable-zkevm-api/revisions/59f94155fcd0/schema)
