List cards
GET/v1/cards
The whole card catalog — 13,000+ Simplified Chinese cards —
filterable and sortable. Pass set_id to narrow to one set.
List items are the lightweight CardBrief (no pricing); fetch
GET /v1/cards/{card_id} for the full record with the embedded price summary.
Filters
name_contains— case-insensitive substring match on the English card name only. To match Chinese names (or pinyin), use/v1/search.card_type— one ofpokemon,trainer,supporter,stadium,energy. Trainer-class cards are split across three values:supporterandstadiumare their own types, andtrainercovers the rest (item-style cards).element— the Pokémon's energy type:Grass,Fire,Water,Lightning,Psychic,Darkness,Metal,Dragon,Fairy, orColorless. It isnullfor non-Pokémon cards and for cards whose type isn't catalogued yet, and null-element cards never match anelementfilter.rarity— exact match on the raw catalog code as ingested from the official Chinese catalog: letter codes (C,U,R,RR,SR,AR,SAR, …), the printed corner symbols (●,◆,★), or无标记("unmarked"). The response also carriesrarity_label, a human-readable English label (e.g.SR→"Super Rare") — filter onrarity, displayrarity_label.has_price—true/false, keeps cards with/without a current raw price. Requires hobby tier or higher (400 filter_not_availableon free).
Variants and tiers
Many cards exist as multiple prints: a base print plus variants (chiefly
the reverse-holo print of the same card; is_variant: true). The free tier
sees base prints only — variants are omitted from listings; hobby and pro see
all prints.
Sorting
sort takes a single field, --prefixed for descending. card_number
(default) and name work on every tier; price_raw requires hobby and
price_psa10 requires pro (400 invalid_sort otherwise). card_number is a
zero-padded string (e.g. "020") and sorts lexicographically. Cards with a
null sort value sort last.
Request
Responses
- 200
- 422
Successful Response
Validation Error