# List categories as a tree

**Publié le** : 2026-05-12
**Catégorie** : Storefront API

## `GET /categories/tree`

**List categories as a tree**

Return categories as a nested tree (each node carries a `children[]`
of sub-categories). Same envelope as `/categories` (top-level
`data`, `blogUrlMode`, `locale`).

### Responses

| Status | Description |
| --- | --- |
| `200` | Successful response |


> **Notes:** Cache: `Cache-Control: public, max-age=300`. Rate-limit bucket: general.

### Examples

```curl
curl "https://api.lynkow.com/public/{siteId}/categories/tree?locale=en"
```

```javascript
const res = await fetch(`https://api.lynkow.com/public/${siteId}/categories/tree?locale=en`)
const { data, blogUrlMode, locale } = await res.json()
```

### Response Example

```json
"{\n  \"data\": [\n    {\n      \"id\": \"01J9PA0NZK7BX4HQ7M2DC9V5T8\",\n      \"name\": \"Engineering\",\n      \"slug\": \"engineering\",\n      \"path\": \"/blog/engineering\",\n      \"locale\": \"en\",\n      \"contentCount\": 12,\n      \"children\": [\n        {\n          \"id\": \"01J9PE2T4VHQR9K3M7B6X8N1FW\",\n          \"name\": \"Performance\",\n          \"slug\": \"performance\",\n          \"path\": \"/blog/engineering/performance\",\n          \"locale\": \"en\",\n          \"contentCount\": 4,\n          \"children\": []\n        }\n      ]\n    }\n  ],\n  \"blogUrlMode\": \"with-categories\",\n  \"locale\": \"en\"\n}\n"
```

---