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.
How the Cardmarket API Works
Each endpoint returns the IDs needed for the next step.
List Games
/api/v2/cardmarket/gamesGet Cardmarket-supported games and their idGame values.
Get Expansions
/api/v2/cardmarket/expansions/:idGameUse the idGame to fetch expansions and their idExpansion values.
Get Singles
/api/v2/cardmarket/singles/:idExpansionUse the idExpansion to fetch singles and their idProduct values.
Get Prices
/api/v2/cardmarket/prices/:idProductUse the idProduct to fetch the latest Cardmarket price guide.
Cardmarket API Endpoints
Authenticated via x-api-key. Same shape under /api/v1/cardmarket/*.
/api/v2/cardmarket/gamesList Cardmarket-supported games. Each row carries idGame for the next step.
/api/v2/cardmarket/expansions/:idGamePaginated expansions for a Cardmarket game. Each row carries idExpansion.
/api/v2/cardmarket/singles/:idExpansionPaginated singles in an expansion. Each row carries idProduct (Cardmarket) and productId (TCGPlayer cross-ref where available).
/api/v2/cardmarket/single/:idProductSingle lookup by Cardmarket idProduct.
/api/v2/cardmarket/prices/:idProductLatest Cardmarket price guide: low, avg, trend, plus 1/7/30-day moving averages — both non-foil and foil variants.
Every Field We Expose
Field-by-field reference for every Cardmarket-source endpoint.
Games
GET /api/v2/cardmarket/gamesTop of the Cardmarket catalog tree — one row per Cardmarket-supported game.
| Field | Type | Description |
|---|---|---|
| idGame | integer | Cardmarket game ID — use to fetch expansions. |
| name | string | Game display name (e.g. "Pokemon", "Magic the Gathering"). |
| abbreviation | string | Cardmarket short code. |
| apiExpansionsCount | integer | Number of expansions Cardmarket has indexed for this game. |
Expansions
GET /api/v2/cardmarket/expansions/:idGameAll Cardmarket expansions for a game. Use the idExpansion to fetch singles.
| Field | Type | Description |
|---|---|---|
| idExpansion | integer | Cardmarket expansion ID. |
| idGame | integer | Parent game ID. |
| enName | string | English expansion name. |
| abbreviation | string | Cardmarket short code for the set. |
| gameName | string | Parent game name. |
| releaseDate | ISO date | Release date of the expansion. |
| isReleased | boolean | Whether the expansion has been released yet. |
| apiSinglesCount | integer | Number of singles indexed in this expansion. |
Singles
GET /api/v2/cardmarket/singles/:idExpansionEvery single (card) in a Cardmarket expansion. Each row carries a TCGPlayer cross-reference where available.
| Field | Type | Description |
|---|---|---|
| idProduct | integer | Cardmarket product ID — primary key for prices and lookups. |
| idMetaproduct | integer | Cardmarket metaproduct ID (groups variants of the same card). |
| idExpansion | integer | Parent expansion ID. |
| idGame | integer | Parent game ID. |
| enName | string | English card name. |
| expansionName | string | Parent expansion name. |
| expansionAbbreviation | string | Set short code. |
| gameName | string | Parent game name. |
| rarity | string | Cardmarket rarity tier. |
| number | string | Collector number. |
| productId | integer | Matching TCGPlayer productId — null when no cross-reference is available. |
| image | string | Hosted card image URL. |
Single (lookup)
GET /api/v2/cardmarket/single/:idProductLookup a single by Cardmarket idProduct. Returns the same fields as the singles list endpoint.
| Field | Type | Description |
|---|---|---|
| (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/:idProductLatest Cardmarket price guide. Both non-foil and foil pricing in the same row.
| Field | Type | Description |
|---|---|---|
| idProduct | integer | Cardmarket product ID. |
| idCategory | integer | Cardmarket category ID. |
| low | decimal | Lowest current listing price (non-foil). |
| avg | decimal | Average price (non-foil). |
| trend | decimal | Trend price — Cardmarket's smoothed market-value estimate (non-foil). |
| avg1 | decimal | 1-day moving average (non-foil). |
| avg7 | decimal | 7-day moving average (non-foil). |
| avg30 | decimal | 30-day moving average (non-foil). |
| low-foil | decimal | Lowest current listing price (foil). |
| avg-foil | decimal | Average price (foil). |
| trend-foil | decimal | Trend price (foil). |
| avg1-foil | decimal | 1-day moving average (foil). |
| avg7-foil | decimal | 7-day moving average (foil). |
| avg30-foil | decimal | 30-day moving average (foil). |
| processedAt | ISO timestamp | When the price guide was last refreshed. |
Example Response
Foil and non-foil prices in the same row.
{
"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.