Cardmarket API

Cardmarket API Documentation

EU-marketplace catalog and price-guide data. Chain idGame → idExpansion → idProduct, then read low/avg/trend (foil and non-foil) in a single request.

Chainable Workflow

How the Cardmarket API Works

Each endpoint returns the IDs needed for the next step.

1

List Games

/api/v2/cardmarket/games

Get Cardmarket-supported games and their idGame values.

2

Get Expansions

/api/v2/cardmarket/expansions/:idGame

Use the idGame to fetch expansions and their idExpansion values.

3

Get Singles

/api/v2/cardmarket/singles/:idExpansion

Use the idExpansion to fetch singles and their idProduct values.

4

Get Prices

/api/v2/cardmarket/prices/:idProduct

Use the idProduct to fetch the latest Cardmarket price guide.

5 Endpoints

Cardmarket API Endpoints

Authenticated via x-api-key. Same shape under /api/v1/cardmarket/*.

GET/api/v2/cardmarket/games
Public

List Cardmarket-supported games. Each row carries idGame for the next step.

GET/api/v2/cardmarket/expansions/:idGame
Hobby+

Paginated expansions for a Cardmarket game. Each row carries idExpansion.

GET/api/v2/cardmarket/singles/:idExpansion
Hobby+

Paginated singles in an expansion. Each row carries idProduct (Cardmarket) and productId (TCGPlayer cross-ref where available).

GET/api/v2/cardmarket/single/:idProduct
Hobby+

Single lookup by Cardmarket idProduct.

GET/api/v2/cardmarket/prices/:idProduct
Business+

Latest Cardmarket price guide: low, avg, trend, plus 1/7/30-day moving averages — both non-foil and foil variants.

Full Schemas

Every Field We Expose

Field-by-field reference for every Cardmarket-source endpoint.

Games

GET /api/v2/cardmarket/games
Public

Top of the Cardmarket catalog tree — one row per Cardmarket-supported game.

FieldTypeDescription
idGameintegerCardmarket game ID — use to fetch expansions.
namestringGame display name (e.g. "Pokemon", "Magic the Gathering").
abbreviationstringCardmarket short code.
apiExpansionsCountintegerNumber of expansions Cardmarket has indexed for this game.

Expansions

GET /api/v2/cardmarket/expansions/:idGame
Hobby+

All Cardmarket expansions for a game. Use the idExpansion to fetch singles.

FieldTypeDescription
idExpansionintegerCardmarket expansion ID.
idGameintegerParent game ID.
enNamestringEnglish expansion name.
abbreviationstringCardmarket short code for the set.
gameNamestringParent game name.
releaseDateISO dateRelease date of the expansion.
isReleasedbooleanWhether the expansion has been released yet.
apiSinglesCountintegerNumber of singles indexed in this expansion.

Singles

GET /api/v2/cardmarket/singles/:idExpansion
Hobby+

Every single (card) in a Cardmarket expansion. Each row carries a TCGPlayer cross-reference where available.

FieldTypeDescription
idProductintegerCardmarket product ID — primary key for prices and lookups.
idMetaproductintegerCardmarket metaproduct ID (groups variants of the same card).
idExpansionintegerParent expansion ID.
idGameintegerParent game ID.
enNamestringEnglish card name.
expansionNamestringParent expansion name.
expansionAbbreviationstringSet short code.
gameNamestringParent game name.
raritystringCardmarket rarity tier.
numberstringCollector number.
productIdintegerMatching TCGPlayer productId — null when no cross-reference is available.
imagestringHosted card image URL.

Single (lookup)

GET /api/v2/cardmarket/single/:idProduct
Hobby+

Lookup a single by Cardmarket idProduct. Returns the same fields as the singles list endpoint.

FieldTypeDescription
(see Singles)Identical schema to the Singles list endpoint above, returning a single row instead of paginated array.

Price Guide (per product)

GET /api/v2/cardmarket/prices/:idProduct
Business+

Latest Cardmarket price guide. Both non-foil and foil pricing in the same row.

FieldTypeDescription
idProductintegerCardmarket product ID.
idCategoryintegerCardmarket category ID.
lowdecimalLowest current listing price (non-foil).
avgdecimalAverage price (non-foil).
trenddecimalTrend price — Cardmarket's smoothed market-value estimate (non-foil).
avg1decimal1-day moving average (non-foil).
avg7decimal7-day moving average (non-foil).
avg30decimal30-day moving average (non-foil).
low-foildecimalLowest current listing price (foil).
avg-foildecimalAverage price (foil).
trend-foildecimalTrend price (foil).
avg1-foildecimal1-day moving average (foil).
avg7-foildecimal7-day moving average (foil).
avg30-foildecimal30-day moving average (foil).
processedAtISO timestampWhen the price guide was last refreshed.

Example Response

Foil and non-foil prices in the same row.

GET /api/v2/cardmarket/prices/242847
{
  "success": true,
  "data": {
    "idProduct": 242847,
    "idCategory": 23,
    "low": 3,
    "avg": null,
    "trend": 2.91,
    "avg1": null,
    "avg7": null,
    "avg30": null,
    "low-foil": null,
    "avg-foil": null,
    "trend-foil": 5.44,
    "avg1-foil": null,
    "avg7-foil": null,
    "avg30-foil": null,
    "processedAt": "2026-05-06T04:00:01.677Z"
  }
}

Frequently Asked Questions

What is the Cardmarket API?

The Cardmarket API gives programmatic access to Cardmarket-sourced catalog data (games, expansions, singles) and price guide data (low/avg/trend plus 1/7/30-day moving averages, including foil variants). It mirrors the chain pattern of our TCGPlayer API: idGame → idExpansion → idProduct.

How does the Cardmarket API differ from the TCGPlayer API?

Cardmarket is the dominant European marketplace; TCGPlayer is the dominant US marketplace. The Cardmarket API uses Cardmarket's own keyspace (idGame, idExpansion, idProduct) and price guide format. Cardmarket singles also expose the matching TCGPlayer productId where available, so you can bridge between the two marketplaces.

What plan do I need?

The /games endpoint is public. Expansions, singles and single-lookup require a Hobby plan or higher. Price guides require a Business plan or higher.

How are foil prices represented?

Each priceguide record contains both regular and foil pricing in the same row: low, avg, trend, avg1/7/30 for non-foil, plus low-foil, avg-foil, trend-foil, avg1-foil, avg7-foil, avg30-foil for foils.

Can I use V1 endpoints too?

Yes — the same endpoint shape is also available under /api/v1/cardmarket/* for callers already on V1.