# GET /products

**List products**

Returns a paginated list of products. Use the query parameters to page through results.

By default, Paddle returns products that are `active`. Use the `status` query parameter to return products that are archived.

Use the `include` parameter to include related price entities in the response.

**Required permissions:** `product.read`

## Query parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | array | optional | Return only the IDs specified. Use a comma-separated list to get multiple entities. |
| `after` | string | optional | Return entities after the specified Paddle ID when working with paginated endpoints. Used in the `meta.pagination.next` URL in responses for list operations. |
| `per_page` | integer | optional | Set how many entities are returned per page. Paddle returns the maximum number of results if a number greater than the maximum is requested. Check `meta.pagination.per_page` in the response to see how many were returned.

Default: `50`; Maximum: `200`. (Max: 200) |
| `include` | array | optional | Include related entities in the response. Use a comma-separated list to specify multiple entities. |
| `order_by` | string | optional | Order returned entities by the specified field and direction (`[ASC]` or `[DESC]`). For example, `?order_by=id[ASC]`.

Valid fields for ordering: `created_at`, `custom_data`, `description`, `id`, `image_url`, `name`, `status`, `tax_category`, and `updated_at`. |
| `status` | array | optional | Return entities that match the specified status. Use a comma-separated list to specify multiple status values. |
| `tax_category` | array | optional | Return entities that match the specified tax category. Use a comma-separated list to specify multiple tax categories. |
| `type` | string | optional | Return items that match the specified type. |

## Response (200)

- `data`: array (required)
- `meta`: object (required) — Information about this response.
  - `request_id`: string (required) — Unique ID for the request relating to this response. Provide this when contacting Paddle support about a specific request.
  - `pagination`: object (required) — Keys used for working with paginated results.
    - `per_page`: integer (required) — Number of entities per page for this response. May differ from the number requested if the requested number is greater than the maximum.
    - `next`: string (uri) (required) — URL containing the query parameters of the original request, along with the `after` parameter that marks the starting point of the next page. Always returned, even if `has_more` is `false`.
    - `has_more`: boolean (required) — Whether this response has another page.
    - `estimated_total`: integer — Estimated number of entities for this response.

### Response example

```json
{
  "data": [
    {
      "id": "pro_01h1vjes1y163xfj1rh1tkfb65",
      "name": "Analytics addon",
      "tax_category": "standard",
      "type": "standard",
      "description": "Unlock advanced insights into your flight data with enhanced analytics and reporting features. Includes customizable reporting templates and trend analysis across flights.",
      "image_url": "https://paddle.s3.amazonaws.com/user/165798/97dRpA6SXzcE6ekK9CAr_analytics.png",
      "custom_data": null,
      "status": "active",
      "import_meta": null,
      "created_at": "2023-06-01T13:30:50.302Z",
      "updated_at": "2024-04-05T15:47:17.163Z"
    },
    {
      "id": "pro_01gsz97mq9pa4fkyy0wqenepkz",
      "name": "Custom domains",
      "tax_category": "standard",
      "type": "standard",
      "description": "Make AeroEdit truly your own with custom domains. Custom domains reinforce your brand identity and make it easy for your team to access your account.",
      "image_url": "https://paddle.s3.amazonaws.com/user/165798/XIG7UXoJQHmlIAiKcnkA_custom-domains.png",
      "custom_data": null,
      "status": "active",
      "import_meta": null,
      "created_at": "2023-02-23T14:01:02.441Z",
      "updated_at": "2024-04-05T15:43:28.971Z"
    },
    {
      "id": "pro_01gsz92krfzy3hcx5h5rtgnfwz",
      "name": "VIP support",
      "tax_category": "standard",
      "type": "standard",
      "description": "Get exclusive access to our expert team of product specialists, available to help you make the most of your AeroEdit subscription.",
      "image_url": "https://paddle.s3.amazonaws.com/user/165798/qgyipKJwRtq98YNboipo_vip-support.png",
      "custom_data": null,
      "status": "active",
      "import_meta": null,
      "created_at": "2023-02-23T13:58:17.615Z",
      "updated_at": "2024-04-05T15:44:02.893Z"
    },
    {
      "id": "pro_01gsz4vmqbjk3x4vvtafffd540",
      "name": "AeroEdit Enterprise",
      "tax_category": "standard",
      "type": "standard",
      "description": "The ultimate solution for organizations, featuring all Pro capabilities plus multi-user support, advanced data storage capabilities, plus personalized onboarding, dedicated account management, and the ability to pay via invoice.",
      "image_url": "https://paddle.s3.amazonaws.com/user/165798/Ws808ziTS76a6YbnMkiK_enterprise.png",
      "custom_data": {
        "features": {
          "aircraft_performance": true,
          "compliance_monitoring": true,
          "flight_log_management": true,
          "payment_by_invoice": true,
          "route_planning": true,
          "sso": true
        },
        "suggested_addons": [],
        "upgrade_description": "Ready to reach new heights? Upgrade to enterprise to unlock single sign-on, payment by invoice, and dedicated account management."
      },
      "status": "active",
      "import_meta": null,
      "created_at": "2023-02-23T12:44:34.923Z",
      "updated_at": "2024-04-05T15:58:28.309Z"
    },
    {
      "id": "pro_01gsz4t5hdjse780zja8vvr7jg",
      "name": "AeroEdit Pro",
      "tax_category": "standard",
      "type": "standard",
      "description": "Designed for professional pilots, including all features plus in Basic plus compliance monitoring, route optimization, and third-party integrations.",
      "image_url": "https://paddle.s3.amazonaws.com/user/165798/bT1XUOJAQhOUxGs83cbk_pro.png",
      "custom_data": {
        "features": {
          "aircraft_performance": true,
          "compliance_monitoring": true,
          "flight_log_management": true,
          "payment_by_invoice": false,
          "route_planning": true,
          "sso": false
        },
        "suggested_addons": [
          "pro_01h1vjes1y163xfj1rh1tkfb65",
          "pro_01gsz97mq9pa4fkyy0wqenepkz"
        ],
        "upgrade_description": "Move from Basic to Pro to take advantage of aircraft performance, advanced route planning, and compliance monitoring."
      },
      "status": "active",
      "import_meta": null,
      "created_at": "2023-02-23T12:43:46.605Z",
      "updated_at": "2024-04-05T15:53:44.687Z"
    },
    {
      "id": "pro_01gsz4s0w61y0pp88528f1wvvb",
      "name": "AeroEdit Basic",
      "tax_category": "standard",
      "type": "standard",
      "description": "Ideal for hobbyist pilots AeroEdit Basic offers flight log creation, editing, basic performance tracking, route planning, and export options.",
      "image_url": "https://paddle.s3.amazonaws.com/user/165798/oi0r8qNmQzuNpj9pLHcT_basic.png",
      "custom_data": {
        "features": {
          "aircraft_performance": false,
          "compliance_monitoring": false,
          "flight_log_management": true,
          "payment_by_invoice": false,
          "route_planning": false,
          "sso": false
        },
        "suggested_addons": [
          "pro_01h1vjes1y163xfj1rh1tkfb65",
          "pro_01gsz97mq9pa4fkyy0wqenepkz"
        ],
        "upgrade_description": null
      },
      "status": "active",
      "import_meta": null,
      "created_at": "2023-02-23T12:43:09.062Z",
      "updated_at": "2024-04-05T15:56:39.477Z"
    }
  ],
  "meta": {
    "request_id": "bb093d50-ddb5-401a-a5ba-034b187b396e",
    "pagination": {
      "per_page": 50,
      "next": "https://api.paddle.com/products?after=pro_01gsz4s0w61y0pp88528f1wvvb",
      "has_more": false,
      "estimated_total": 6
    }
  }
}
```
