---
title: "List the most popular offerings"
method: GET
path: "/shop/offering-search/most-popular"
tags: ["Offerings"]
---

# List the most popular offerings

`GET /shop/offering-search/most-popular`

Returns the offerings most often sold over the trailing four
weeks, capped by `per_page` and ordered by sales count descending.
Useful for "Popular at this site" sections on the storefront and
operator quick-pick lists.

Filters mirror the main offering search:

- `offering_type` accepts a comma-separated list; prefix a type
  with `-` to exclude it (e.g. `appointment,-package`).
- `practitioner_id` narrows appointment results to those tied to
  the given practitioners.

Requires the `RESERVATIONS_VIEW` permission on the targeted site.

## Query parameters

- `offering_type` OfferingType[]
- `practitioner_id` string[]
- `site_id` string, uuid, required
- `per_page` integer

## Response `200`

The most popular offerings.

- object
  - `data` Offering[], required — Offerings ordered by recent sales count.
    - `id` string, object-id, required
    - `categories` object[], required
      - `id` string, object-id, required
      - `name` string, required
    - `image_url` string, nullable, required
    - `inventory_categories` object[]
      - `id` string, object-id, required
      - `name` string, required
    - `members_only` boolean, required
    - `name` string, required
    - `offering_type` 'appointment' | 'appointment_enquiry' | 'area_booking' | 'course' | 'hotel_room_reservation' | 'membership' | 'package' | 'product' | 'session' | 'table_reservation' | 'voucher', required — Discriminator describing what kind of sellable item an `Offering` represents. The value determines which downstream schema (`Appointment`, `Session`, `Package`, etc.) the offering's `offering_id` resolves against, and which checkout/booking flow applies.

## Other responses

- `401` — The user is unauthenticated
- `403` — The authenticated user does not have permission.
- `422` — The request didn't pass validation

---

[API](https://skmtc.dev/try/apis/trybe-api.md) · [All operations](https://skmtc.dev/try/apis/trybe-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/try/trybe-api/revisions/f37f92702da5/schema)
