---
title: "List CMS pages"
method: GET
path: "/pages"
tags: ["CMS Page"]
---

# List CMS pages

`GET /pages`

## Request

- Base URL: `http://localhost:8000/api/shop`
- URL: `http://localhost:8000/api/shop/pages`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/bagisto/apis/bagisto-shop-api/docs/pages/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns CMS pages, each with its current-locale `translation` embedded. Pass `url_key` to fetch the page the storefront shows at `/page/{url_key}`: it must be assigned to the current channel, and a CMS URL rewrite for an old key is followed. The result is then a list of one page, or empty. Public endpoint.

## Query parameters

- `url_key` string
- `page` integer
- `per_page` integer

## Headers

- `X-STOREFRONT-KEY` string, required
- `X-Locale` string
- `X-Channel` string
- `X-Currency` string

## Response `200`

List of CMS pages.

## Changes

- **2026-10-28** `b84d43839844`: 1 info
  - added the new optional `query` request parameter `url_key`

[Operation history](https://skmtc.dev/bagisto/apis/bagisto-shop-api/changes/pages/get.md)

---

[API](https://skmtc.dev/bagisto/apis/bagisto-shop-api.md) - [All operations](https://skmtc.dev/bagisto/apis/bagisto-shop-api/llms.txt) - [OpenAPI document](https://skmtc.dev/bagisto/apis/bagisto-shop-api/revisions/f619df36bf29?raw)
