Export Products
Downloads the products datagrid as a CSV file — the same data the admin Catalog → Products "Export" button produces. The response is a binary text/csv attachment, not JSON.
Unlike the listing, the export is not paginated — it streams every row that matches the current filters, so you can export a whole filtered catalog in one call.
REST only
There is no GraphQL counterpart — binary file streams aren't expressible over GraphQL. Use this REST endpoint for the export.
Endpoint
| Endpoint | Method |
|---|---|
/api/admin/catalog/products/export | GET |
Request headers
| Header | Value |
|---|---|
Authorization | Bearer <token> |
Accept | text/csv — required. The endpoint only produces text/csv; sending Accept: application/json returns 406 Not Acceptable. |
Query parameters
| Parameter | Type | Description |
|---|---|---|
format | string | Export format — only csv is supported (the default). Any other value returns 422. |
The export also accepts the same filters as the listing, AND-combined (more filters = narrower result):
| Filter | Type | Description |
|---|---|---|
channel | string | Channel code for value resolution. |
name | string | Partial product-name match. |
sku | string | Partial SKU match. |
attribute_family | integer | Attribute-family ID. |
price_from / price_to | number | Price band (inclusive). price=50,200 is shorthand for both. |
product_id | string | A single ID or a comma-separated list (e.g. 1,22,2705). |
status | integer | 0 (disabled) or 1 (active). |
type | string | simple, virtual, downloadable, grouped, bundle, configurable, booking. |
Columns
The CSV carries the nine datagrid columns, in order:
| Header | Value |
|---|---|
ID | Product ID. |
Name | Product name for the resolved locale (empty for draft products with no name yet). |
SKU | Product SKU. |
Attribute Family | The product's attribute-family name. |
Price | The base price, formatted (e.g. $100.00). Empty for composite types (configurable / bundle / grouped / booking) that carry no own price. |
Quantity | Total stock across inventory sources. |
Status | Active or Disabled. |
Category | The primary category name (empty when uncategorised). |
Type | The product type. |
Permission
catalog.products

