---
title: "List Card Categories"
method: GET
path: "/v1/cards/categories"
tags: ["Card Search"]
---

# List Card Categories

`GET /v1/cards/categories`

Return Card Hedge's card categories from the Supabase `set_groups` cache.

This endpoint does not call Card Hedge while serving a request. Categories
are ordered by `group_type` and then `name`; `placeholder_image` is null
when no image is configured, and protocol-relative cached URLs are returned
as absolute HTTPS URLs.

## Response `200`

Successful Response

- CardCategoriesResponse — Categories cached from Card Hedge in Supabase.
  - `count` integer, required — Number of returned categories
  - `categories` CardCategory[] — Categories ordered by group type and name
    - `id` string, required — Stable Card Hedge set-group identifier
    - `name` string, required — Display name for the category
    - `slug` string, required — URL-safe category slug
    - `group_type` string, required — Top-level category group, such as Sports Cards or Trading Cards
    - `placeholder_image` string, nullable — Absolute placeholder image URL, when one is configured

---

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