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 in English:Grass,Fire,Water,Lightning,Psychic,Fighting,Darkness,Metal,Fairy,Dragon, orColorless(the translation of the card detail'slocal_element). It isnullfor non-Pokémon cards, and null-element cards never match anelementfilter. The card text itself (hp,attacks,local_subtypes, …) is returned byGET /v1/cards/{card_id}only and is not filterable.rarity— exact match on the raw rarity code as printed: 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 above see
all prints.
Every card carries a variant field naming its print treatment — non-holo,
holo, reverse, pokeball, masterball, or, for deck products, a mascot
stamp such as camerupt-stamp / reverse-camerupt-stamp. Prints sharing a
set and collector number are the same card and differ only by this treatment,
so variant is what tells them apart in a response. It is not a closed enum —
new sets add new stamps.
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. Prints sharing
a collector number are ordered base print first, then reverse, then Poké Ball,
then Master Ball, then any other variants — in both sort directions. Cards
with a null sort value sort last.
Request
Responses
- 200
- 422
Successful Response
Validation Error