> For the complete documentation index, see [llms.txt](https://docs.wasabi.xyz/public-api/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.wasabi.xyz/public-api/api-reference/nft-transactions/list-marketplace-listings.md).

# List Marketplace Listings

Fetch historical and current asset listings from different marketplaces.

## List Asset Listings

<mark style="color:blue;">`GET`</mark> `https://api.dkoda.xyz/v1/asset/listings`

Lists NFT asset listings for the given contract address, an optional asset id filter, an optional marketplace filter and an optional status filter.

#### Query Parameters

| Name                                              | Type    | Description                                                                                                                                                        |
| ------------------------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| contractAddress<mark style="color:red;">\*</mark> | String  | <p>The contract address of the collection.</p><p>e.g. "0x60e4d786628fea6478f785a6d7e704777c86a7c6"</p>                                                             |
| assetId                                           | String  | <p>An optional id of a specific asset to filter listings by. If not provided, the listings for all assets in the collection will be fetched.</p><p>e.g. "8206"</p> |
| limit                                             | Integer | A limit on the number of sales to be returned. Limit can range between 1 and 50.  The default is 20.                                                               |
| cursor                                            | String  | A cursor value to use to fetch the next page. If no cursor is provided, the first page will be fetched which returns the latest sales.                             |
| status                                            | String  | A value to filter statuses with. Can be one of `CREATED`, `FULFILLED`, `CANCELLED`, `EXPIRED`.                                                                     |
| marketplace                                       | String  | A value to filter marketplaces with. Can be one of `OPENSEA`, `X2Y2`, `LOOKSRARE`.                                                                                 |

#### Headers

| Name                                        | Type   | Description                              |
| ------------------------------------------- | ------ | ---------------------------------------- |
| x-api-key<mark style="color:red;">\*</mark> | String | The API key to use when making requests. |

{% tabs %}
{% tab title="200 Success" %}

```javascript
{
  "success": 1,
  "cursor": "MTIzOTF1ODIzOTgxMnUzOTE4MnUzOTEyMw==",
  "data": [
    {
      "marketplaceId" : "7107191190",
      "marketplace" : "OPENSEA",
      "contractAddress" : "0x60e4d786628fea6478f785a6d7e704777c86a7c6",
      "assetId" : "6480",
      "createdAt": 1656885507,
      "lastUpdatedAt": 1659563907,
      "price" : "30000000000000000000",
      "currency": "ETH",
      "status": "CREATED"
    },
    {
      "marketplaceId" : "7664491",
      "marketplace" : "X2Y2",
      "contractAddress" : "0x60e4d786628fea6478f785a6d7e704777c86a7c6",
      "assetId" : "4614",
      "createdAt": 1658814953,
      "lastUpdatedAt": 1659563907,
      "price" : "15250000000000000000",
      "currency": "ETH",
      "status": "FULFILLED"
    },
    {
      "marketplaceId" : "0x0000eea91ec505bd829c3a74f5c65560e0018e19fd7093281b2d6fd26567ac3c",
      "marketplace" : "LOOKSRARE",
      "contractAddress" : "0x60e4d786628fea6478f785a6d7e704777c86a7c6",
      "assetId" : "3903",
      "createdAt": 1656885507,
      "lastUpdatedAt": 1659563907,
      "price" : "30100000000000000000",
      "currency": "ETH",
      "status": "CANCELLED"
    }
  ]
}
```

{% endtab %}

{% tab title="400: Bad Request Bad Request" %}

```javascript
{
  "successful": 0,
  "errorMessage": "Invalid contract address. Please ensure the contract address is a valid Ethereum address."
}
```

{% endtab %}

{% tab title="401: Unauthorized Unauthorized" %}

```javascript
{
  "successful": 0,
  "errorMessage": "No API key is specified, please contact us at developer@dkoda.xyz to request an API key."
}
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
**Good to know:** This endpoint requires an API key to be present in the request header. Please contact us to request one.
{% endhint %}

{% hint style="warning" %}
**Important:** Certain marketplaces don't differentiate between `EXPIRED` and `CANCELLED statuses`.  Some listings might have a status of `CANCELLED` even if they expired.
{% endhint %}
