> ## Documentation Index
> Fetch the complete documentation index at: https://docs.plato.ae/llms.txt
> Use this file to discover all available pages before exploring further.

# Menu Categories

> Read restaurant menu categories with pagination and optional products.

Use the menu categories API to render category navigation or category landing pages.

```text theme={null}
GET /api/public/menu/categories
```

This endpoint currently expects the API key in the query string.

## Example

```bash theme={null}
curl "https://api.plato.ae/api/public/menu/categories?apiKey=$PLATO_API_KEY&includeProducts=true"
```

## Query Parameters

| Parameter         | Type       | Default     | Notes                                           |
| ----------------- | ---------- | ----------- | ----------------------------------------------- |
| `apiKey`          | string     | required    | Plato API key.                                  |
| `search`          | string     | none        | Search category names.                          |
| `slug`            | string     | none        | Fetch one category by exact slug.               |
| `ids`             | comma list | none        | Fetch specific category ids.                    |
| `sortBy`          | string     | `createdAt` | `name`, `createdAt`, `updatedAt`, or `slug`.    |
| `sortOrder`       | string     | `desc`      | `asc` or `desc`.                                |
| `page`            | number     | `1`         | Page number.                                    |
| `limit`           | number     | `20`        | Minimum `1`, maximum `100`.                     |
| `includeProducts` | boolean    | `false`     | Include published products under each category. |

## Response

```json theme={null}
{
  "data": [
    {
      "id": "category_123",
      "slug": "burgers",
      "name": {
        "en": "Burgers"
      },
      "description": null,
      "thumbnail": null,
      "smallThumbnail": null,
      "showcase": null,
      "productsCount": 12,
      "products": [
        {
          "id": "product_123",
          "slug": "classic-burger",
          "name": {
            "en": "Classic Burger"
          },
          "priceOptions": [],
          "published": true,
          "soldout": false
        }
      ],
      "createdAt": "2026-06-17T08:20:00.000Z",
      "updatedAt": "2026-06-17T09:15:00.000Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 5,
    "totalPages": 1,
    "hasMore": false
  }
}
```

`products` is only included when `includeProducts=true`.

## Notes

* Included products are published products.
* Use `includeProducts=false` for navigation menus.
* Use `includeProducts=true` for category pages that need the first product list immediately.
