---
title: "List categories"
method: GET
path: "/v1/categories"
tags: ["categories"]
---

# List categories

`GET /v1/categories`

Each product can be assigned to one or more shop categories in a hierarchical shop category tree.

You can use `/categories to get all categories.
By default the categories will be returned as a tree in it's hierarchical order. This can be changes with the `format` parameter.

To retrieve only specific categories the `ids` parameter can be used e.g.: `/categories?ids=123,456,789`.

You can also get individual categories with `/v1/categories/{categoryId}` or `/v1/categories/{categoryPath}`.

## Query parameters

- `ids` integer[]
- `format` 'tree' | 'list'
- `showHidden` boolean
- `depth` integer
- `with` string[]
- `locale` string

## Response `200`

successful operation

- Category[]
  - `id` integer, required — The unique identifier of the category.
  - `path` string, required — The slugs for all `rootlineIds` combined with `/` (e.g., `/women/fashion`).
  - `name` string, required — The name of the category
  - `slug` string, required — A short string to describe the current category (usable, for example, in URLs as).
  - `parentId` integer, required — The parent category ID (root-level categories have a parent ID of `0`)
  - `rootlineIds` integer[], required — The IDs for the path from the topmost root category to the current category, which is included as the last item.
  - `childrenIds` integer[], required — The child category IDs attached to the current category
  - `properties` CategoryProperty[], required — Properties attached to this category.
    - `name` string, required
    - `value` union, required
      - string
      - number
  - `isHidden` boolean, required — A flag that defines if a category should be displayed by the frontend
  - `depth` integer, required — The nesting level of the category (root-level depth = 1, child nodes = 2, child nodes' children = 3, etc.)
  - `supportedFilter` string[], required — A list of filters that can be used for filtering products in the category
  - `parent` Category — recursive
  - `shopLevelCustomData` object, required — Additional category data defined on the shop level
  - `countryLevelCustomData` object — Additional category data defined on the country level
  - `children` Category[] — An array of child category objects. Returned if requested as `tree format` or using `with`.

## Other responses

- `400` — required query parameter missing / invalid
- `401` — authentication failed

## Changes

- **2026-07-17** `8cfa924ae703` — 1 breaking, 9 warning, 5 info
  - for the `query` request parameter `depth`, default value `infinite` was removed
  - removed the optional property `items/countryLevelCustomData/appCatCountryBubbleUp` from the response with the `200` status
  - removed the optional property `items/countryLevelCustomData/appCatCountryLocalizedConfig` from the response with the `200` status
  - removed the optional property `items/countryLevelCustomData/appCatCountryName` from the response with the `200` status
  - …11 more
- **2023-08-06** `302b7c443b51` — 6 breaking, 9 info
  - for the `query` request parameter `depth`, default value `infinite` was added
  - the response property `items/properties/items/name` became optional for the status `200`
  - the response property `items/properties/items/value` became optional for the status `200`
  - the response property `items/shopLevelCustomData` became optional for the status `200`
  - …11 more

[Change history](https://skmtc.dev/scayle/apis/storefront-api-documentation/changes/v1/categories/get.md)

---

[API](https://skmtc.dev/scayle/apis/storefront-api-documentation.md) · [All operations](https://skmtc.dev/scayle/apis/storefront-api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/scayle/storefront-api-documentation/revisions/8cfa924ae703/schema)
