> For the complete documentation index, see [llms.txt](https://docs.driffle.com/driffle-seller-api-legacy/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.driffle.com/driffle-seller-api-legacy/reference/api-reference/products/get-products-list.md).

# Get Products List

This API returns a paginated list products that are available on Driffle.

<mark style="color:green;">`GET`</mark> [/products](https://services.driffle.com/api/seller/legacy/products)

**Headers**

| Name          | Value              |
| ------------- | ------------------ |
| Content-Type  | `application/json` |
| Authorization | `Bearer <token>`   |

**Params**

| Param         | Param Type | Type                | Required | Description                                                                |
| ------------- | ---------- | ------------------- | -------- | -------------------------------------------------------------------------- |
| searchPhrase  | body       | string              | No       | Search phrase for product name                                             |
| slug          | body       | string              | No       | Slug of the product                                                        |
| productType   | body       | string              | No       | <p>Comma seprated string<br>value:<code>topup,game,giftcard,dlc</code></p> |
| onlyUnmapped  | body       | boolean             | No       | Returns only unmapped products                                             |
| releasedSince | body       | string (YYYY-MM-DD) | No       | Returns products created since given date                                  |
| createdSince  | body       | string (YYYY-MM-DD) | No       | Returns products created since given date                                  |
| sort          | body       | string              | No       | allowed values: `best-selling`                                             |
| page          | body       | Number              | No       | Page Number. Default value: `1`                                            |
| limit         | body       | Number              | No       | Number of products per page. Default value: `20`                           |

**Response**

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

```json
{
  "statusCode": 200,
  "message": "string",
  "data": [
    {
      "productId": "number",
      "title": "string",
      "image": "string",
      "slug": "string",
      "platform": "string",
      "genres": [
        "string"
      ],
      "regions": [
        {
          "id": "number",
          "name": "string"
        }
      ],
      "regionName": "string",
      "productTypes": [
        "string"
      ],
      "languages": [
        "string"
      ],
      "minPrice": "number",
      "maxPrice": "number",
      "productVersion": "string",
      "worksOn": [
        "string"
      ],
      "activationCountries": [
        "string"
      ],
      "productTag": "string",
      "releaseDate": "string",
      "formFields": [
        {
          "name": "userid",
          "type": "string"
        },
        {
          "name": "device",
          "type": "enum",
          "value": "android | ios"
        }
      ]
    }
  ],
  "pagination": {
    "page": "number",
    "limit": "number",
    "totalCount": "number",
    "totalPages": "number"
  }
}
```

{% endtab %}

{% tab title="400" %}

```json
{
  "message": [
    "string"
  ],
  "statusCode": 400,
  "error": "string"
}
```

{% endtab %}

{% tab title="401" %}

```json
{
    "message": "UnAuthorized request. Invalid/Expired token",
    "statusCode": 401
}
```

{% endtab %}

{% tab title="403" %}

```json
{
    "message": "Forbidden Request. Action not allowed or Rate Limit exhausted.", 
    "statusCode": 403
}
```

{% endtab %}

{% tab title="500" %}

```json
{
    "message": "Internal Server Error",
    "statusCode": 500
}
```

{% endtab %}
{% endtabs %}

**formFields**

* Returned **only for Top-up products (** [Direct Topup Webhook](/driffle-seller-api-legacy/reference/direct-topup-webhook.md) ).
* Defines the **customer input fields** required to complete the order (e.g., userid, zoneid, device).
* Not present for **Digital Key / Standard products**.
* Each field object contains:
  * **name** – field identifier
  * **type** – `string` or `enum`
  * **value** – allowed options when type is enum (e.g., `"android | ios"`).
