# Listings

### All marketplace listings <a href="#all-marketplace-listings" id="all-marketplace-listings"></a>

This endpoint can be used to retrieve the details of listings across marketplaces such as Sns.id, MagicEden, Tensor, and SolSniper.

The endpoint takes a JSON body with a `params` object containing optional filters:

* `lang` - Language filter. Language struct shared below.
* `palindrome` - Boolean filter for palindromic domains.
* `emoji` - Boolean filter for domains containing emojis.
* `rare` - Boolean filter for rare domains.
* `digits_only` - Boolean filter for domains with only digits.
* `letters_only` - Boolean filter for domains with only letters.
* `min_len` - Integer filter for minimum length of domain names.
* `max_len` - Integer filter for maximum length of domain names.
* `mints` - List of token mints as an array of strings.
* `min_price` - Minimum price filter as a floating point integer.
* `max_price` - Maximum price filter as a floating point integer.
* `start_with` - String filter for domains that start with a specific string.
* `end_with` - String filter for domains that end with a specific string.
* `contain` - String filter ilter for domains that contain a specific string.
* `categories` - List of categories to filter by as an array of strings.
* `page_size` - Number of listings per page (default: 100, max: 100).
* `page` - Page number (default: 1).
* `order_by` - UsdPriceAsc, UsdPriceDesc, DomainAsc, DomainDesc, Random as strings.

> Request

```
POST /v2/listings/listings-v3 -H 'Content-Type: application/json'  -d '{ "params": { "page_size": 10, "contain": "0" } }'
```

> Response

```json
{
  "total": 150,
  "data": [
    {
      "domain": "exampledomain",
      "price": 2,
      "quote_mint": "So11111111111111111111111111111111111111112",
      "availability_id": 2,
      "usd_price": 320,
      "metadata": {
        "length": 5,
        "lang": 1,
        "palindrome": false,
        "emoji": false,
        "rare": false,
        "digits_only": false,
        "letters_only": true
      }
    }
  ],
  "page_size": 100,
  "total_pages": 2,
  "page": 1
}
```

### Listing Details <a href="#listing-details" id="listing-details"></a>

This endpoint can be used to retrieve the listing details of a specific domain. The response is a JSON object with the below structure if the domain is listed, or null if the domain is not.

| Key | Type                  | Description                                         |
| --- | --------------------- | --------------------------------------------------- |
| d   | String                | The domain name                                     |
| p   | Float (`f32`)         | The price of the domain                             |
| q   | String                | The token mint of the listing (i.e the currency)    |
| a   | Enum (`u8`)           | The availability ID (see `PlatformEnum` definition) |
| l   | Enum (`u8`)           | Language code (see definition below)                |
| up  | Float (`f32`)         | The price in USD                                    |
| e   | Boolean               | Indicates if the domain has an emoji                |
| r   | Boolean               | Indicates if the domain is rare                     |
| do  | Boolean               | Indicates if the domain contains digits only        |
| lo  | Boolean               | Indicates if the domain contains letters only       |
| le  | Integer               | The length of the domain name                       |
| fp  | Boolean               | Indicates if the listing is a fixed price offer     |
| me  | Boolean               | Indicates if the domain is listed on Magic Eden     |
| pa  | Boolean               | Indicates if the domain is a palindrome             |
| ca  | Array (`Vec<String>`) | A list of categories the domain belongs to          |

> Request

```
GET /v2/listings/listing/{domain}
```

> Response

```json
{
  "d": "bonfida.sol",
  "p": 100.0,
  "q": "USDC",
  "a": 2,
  "l": 0,
  "up": 100.0,
  "e": false,
  "r": true,
  "do": false,
  "lo": true,
  "le": 7,
  "fp": true,
  "me": false,
  "pa": false,
  "ca": []
}
```

```rust
pub enum Language { 
English = 0,    
Cyrillic = 1,    
Chinese = 2,    
Japanese = 3,    
Emoji = 4,    
Unauthorized = 5,    
Korean = 6,    
Arabic = 7,
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sns.id/dev/sns-api/listings.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
