---
updatedAt: 2026-05-05T20:25:41.000Z
agentTools:
  siteIndex: https://docs.recurly.com/llms.txt
  projectIndex: https://docs.recurly.com/recurly-commerce/llms.txt
---

# Get Products

Retrieve a list of products

# OpenAPI definition

```json
{
  "openapi": "3.0.0",
  "paths": {
    "/api/v1/products": {
      "get": {
        "operationId": "getProducts",
        "summary": "Get Products",
        "description": "Retrieve a list of products",
        "parameters": [
          {
            "name": "page",
            "required": true,
            "in": "query",
            "description": "Page number",
            "schema": {
              "default": 1,
              "type": "number"
            }
          },
          {
            "name": "limit",
            "required": true,
            "in": "query",
            "description": "Items per page. Limit must be between 1 and 250.",
            "schema": {
              "default": 10,
              "type": "number"
            }
          },
          {
            "name": "sort",
            "required": false,
            "in": "query",
            "description": "Sort order. If not set, default is createdAt.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "desc",
            "required": false,
            "in": "query",
            "description": "Sort direction. If not set, default is ASC.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "minCreatedAt",
            "required": false,
            "in": "query",
            "description": "The min date of createdAt",
            "schema": {
              "format": "date-time",
              "default": "2023-01-01T00:00:00.000Z",
              "type": "string"
            }
          },
          {
            "name": "maxCreatedAt",
            "required": false,
            "in": "query",
            "description": "The max date of createdAt",
            "schema": {
              "format": "date-time",
              "default": "2023-01-01T00:00:00.000Z",
              "type": "string"
            }
          },
          {
            "name": "minUpdatedAt",
            "required": false,
            "in": "query",
            "description": "The min date of updatedAt",
            "schema": {
              "format": "date-time",
              "default": "2023-01-01T00:00:00.000Z",
              "type": "string"
            }
          },
          {
            "name": "maxUpdatedAt",
            "required": false,
            "in": "query",
            "description": "The min date of updatedAt",
            "schema": {
              "format": "date-time",
              "default": "2023-01-01T00:00:00.000Z",
              "type": "string"
            }
          },
          {
            "name": "includeDeleted",
            "required": false,
            "in": "query",
            "description": "If true, include deleted lines",
            "schema": {
              "default": false,
              "type": "boolean"
            }
          },
          {
            "name": "subscriptionId",
            "required": false,
            "in": "query",
            "description": "The subscription ID",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "productTitle",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "externalId",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved products",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductsResultDto"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Products API"
        ]
      }
    }
  },
  "info": {
    "title": "Recurly Commerce API Documentation",
    "description": "Recurly Commerce API Documentation",
    "version": "1.3",
    "contact": {}
  },
  "servers": [
    {
      "url": "https://subs.api.recurlycommerce.com"
    }
  ],
  "components": {
    "securitySchemes": {
      "bearer": {
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "type": "http"
      }
    },
    "schemas": {
      "ProductForVariantDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "createdAt": {
            "format": "date-time",
            "type": "string"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string"
          },
          "externalId": {
            "type": "string",
            "description": "The shopify product ID"
          },
          "imageUrl": {
            "type": "string",
            "nullable": true
          },
          "productTitle": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "id",
          "createdAt",
          "updatedAt",
          "externalId",
          "imageUrl",
          "productTitle",
          "description"
        ]
      },
      "SubscriptionOfferOptionDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "createdAt": {
            "format": "date-time",
            "type": "string"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string"
          },
          "externalId": {
            "type": "string",
            "description": "The shopify selling plan ID"
          },
          "type": {
            "type": "string",
            "enum": [
              "ONETIME_AND_SUBSCRIPTION",
              "ONE_TIME_AND_PREPAID_SUBSCRIPTION",
              "SUBSCRIPTION_ONLY",
              "PREPAID_SUBSCRIPTION_ONLY",
              "ONETIME_AND_SUBSCRIPTION_AND_PREPAID",
              "SUBSCRIPTION_AND_PREPAID",
              "MEMBERSHIP"
            ],
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "deliveryCadenceCount": {
            "type": "number"
          },
          "deliveryCadenceUnit": {
            "type": "string",
            "enum": [
              "HOUR",
              "DAY",
              "MONTH",
              "WEEK",
              "YEAR"
            ]
          },
          "billingCadenceCount": {
            "type": "number"
          },
          "billingCadenceUnit": {
            "type": "string",
            "enum": [
              "HOUR",
              "DAY",
              "MONTH",
              "WEEK",
              "YEAR"
            ]
          },
          "discount": {
            "type": "number"
          },
          "discountModifier": {
            "type": "string",
            "enum": [
              "PERCENTAGE",
              "AMOUNT",
              "FIXED_AMOUNT"
            ]
          },
          "archived": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "createdAt",
          "updatedAt",
          "externalId",
          "type",
          "name",
          "deliveryCadenceCount",
          "deliveryCadenceUnit",
          "billingCadenceCount",
          "billingCadenceUnit",
          "discount",
          "discountModifier",
          "archived"
        ]
      },
      "SubscriptionOfferDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "createdAt": {
            "format": "date-time",
            "type": "string"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string"
          },
          "externalId": {
            "type": "string",
            "description": "The shopify selling plan group ID"
          },
          "type": {
            "type": "string",
            "enum": [
              "ONETIME_AND_SUBSCRIPTION",
              "ONE_TIME_AND_PREPAID_SUBSCRIPTION",
              "SUBSCRIPTION_ONLY",
              "PREPAID_SUBSCRIPTION_ONLY",
              "ONETIME_AND_SUBSCRIPTION_AND_PREPAID",
              "SUBSCRIPTION_AND_PREPAID",
              "MEMBERSHIP"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "ACTIVE",
              "ARCHIVED",
              "DRAFT"
            ]
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "subscriptionOfferOptions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SubscriptionOfferOptionDto"
            }
          },
          "cancellationFlowId": {
            "type": "string",
            "nullable": true,
            "description": "The ID of the associated cancellation flow, if any"
          },
          "trialDurationValue": {
            "type": "number",
            "nullable": true
          },
          "trialDurationUnit": {
            "type": "string",
            "enum": [
              "DAYS",
              "WEEKS",
              "MONTHS",
              "YEARS"
            ],
            "nullable": true
          }
        },
        "required": [
          "id",
          "createdAt",
          "updatedAt",
          "externalId",
          "type",
          "status",
          "name",
          "description",
          "subscriptionOfferOptions",
          "trialDurationValue",
          "trialDurationUnit"
        ]
      },
      "VariantDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "externalId": {
            "type": "string",
            "description": "The shopify variant ID"
          },
          "status": {
            "type": "string",
            "enum": [
              "ACTIVE",
              "DELETED"
            ]
          },
          "currentPrice": {
            "type": "number"
          },
          "variantTitle": {
            "type": "string"
          },
          "sku": {
            "type": "string",
            "nullable": true
          },
          "requiresShipping": {
            "type": "boolean"
          },
          "product": {
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/ProductForVariantDto"
              }
            ]
          },
          "subscriptionOffer": {
            "$ref": "#/components/schemas/SubscriptionOfferDto"
          }
        },
        "required": [
          "id",
          "externalId",
          "status",
          "currentPrice",
          "variantTitle",
          "sku",
          "requiresShipping"
        ]
      },
      "ProductDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "createdAt": {
            "format": "date-time",
            "type": "string"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string"
          },
          "externalId": {
            "type": "string",
            "description": "The shopify product ID"
          },
          "status": {
            "type": "string",
            "enum": [
              "ACTIVE",
              "ARCHIVED",
              "DRAFT",
              "DELETED",
              "UNLISTED"
            ]
          },
          "imageUrl": {
            "type": "string",
            "nullable": true
          },
          "productTitle": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "variants": {
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/VariantDto"
              }
            ]
          },
          "subscriptionOffer": {
            "$ref": "#/components/schemas/SubscriptionOfferDto"
          }
        },
        "required": [
          "id",
          "createdAt",
          "updatedAt",
          "externalId",
          "status",
          "imageUrl",
          "productTitle",
          "description",
          "variants"
        ]
      },
      "ProductsResultDto": {
        "type": "object",
        "properties": {
          "page": {
            "type": "number",
            "description": "Current page number"
          },
          "limit": {
            "type": "number",
            "description": "Number of items per page"
          },
          "totalItems": {
            "type": "number",
            "description": "Total number of items"
          },
          "totalPages": {
            "type": "number",
            "description": "Total number of pages"
          },
          "products": {
            "description": "Array of products for the current page",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProductDto"
            }
          }
        },
        "required": [
          "page",
          "limit",
          "totalItems",
          "totalPages",
          "products"
        ]
      }
    }
  },
  "x-readme": {
    "explorer-enabled": false
  }
}
```