Skip to main content
GET
List cards
Cards come back in catalog order — by expansion, then collector number — paged by cursor. This is how you walk the whole catalog: keep calling with the next_cursor you were handed until it comes back null. Pass expansion_id to walk one expansion instead. It is a filter, not a lookup: an id that matches nothing is an empty page, not a 404. Pass q to search by name or collector number. Rows then come back best-match first, each carrying a score, and the cursor keeps working exactly as it does without it. The two compose — ?q=charizard&expansion_id=base1 searches inside one expansion. A name resolves to candidates, not to one id. Dozens of cards are named exactly “Charizard”, so they all score identically and ?q=charizard hands back a list to choose from rather than an answer. Where rows tie at the top score the tie-break is id order, not relevance — the first row is the lowest id among equals, not the best match. Show the candidates and let someone pick, or narrow with expansion_id. Ranking is by similarity, so a misspelling still finds its card. To identify a card from a photo rather than from a name, use Scan a card. Rows here are summaries, not full card objects — enough to render a list, and without the metadata and printings. Fetch the card when someone opens one. Pass include=prices to attach a flat price list to every row and save a request per card. Without it the prices key is absent entirely — not null, and not an empty array.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

limit
string

How many rows to return. Defaults to 50 and stops at 200; a larger value is clamped, not rejected.

cursor
string

The next_cursor from the previous page. Omit it for the first page — a cursor this endpoint did not issue is ignored, and you get the first page back.

expansion_id
string

Narrow the list to one expansion. An id that matches nothing is an empty page, not a 404.

q
string

Search cards by name or collector number. Ranked best-match first, every row carrying its score, and the cursor keeps working.

Minimum string length: 1
include
string

Comma-separated extras to attach to every row. prices is the only value recognised today; anything else is dropped rather than rejected.

Response

Card list

data
object
required
error
object | null
required