Listrune / Docs

Cardmarket CSV guide

The stock-import file: columns, language ids, and the foil flag that means different things per game.

Cardmarket has had no public API since 2023. The stock import is the only bulk route in, and it is a CSV you upload yourself. Listrune builds that file from a batch.

You need a Pro or Powerseller account. The stock import is not available on a normal seller account.

Uploading

  1. Export the batch — the file downloads as cardmarket-stock-….csv.
  2. On Cardmarket go to Account → Stock → Import.
  3. Upload the file and read the result.

Test with two or three rows before trusting a full batch. Listrune's column set follows Cardmarket's published template, but it has not been validated against every account type.

The columns

ColumnWhat Listrune puts there
idProductCardmarket's own product id for that exact printing. Without it the row is rejected.
countQuantity.
priceYour list price, always in euros — see below.
conditionMT, NM, EX, GD, LP, PL or PO.
languageCardmarket's numeric language id, not a code.
isFoilY or N — and it does not mean the same thing in every game.
commentLeft empty.

Prices are always in euros

Cardmarket sells in euros for everyone. If your Listrune account is set to another currency, the file is still written in euros, converted at the rate on the export.

Language ids

IdLanguageIdLanguage
1English7Japanese
2French8Portuguese
3German9Russian
4Spanish10Korean
5Italian11Traditional Chinese
6Simplified Chinese

What isFoil means — read this one

This is the field most likely to cost you money, because Cardmarket uses one flag for three different ideas:

Pokémon
The flag marks a Reverse Holo. A Holo Rare is its own separate product and must not be flagged, or it lists as the reverse — usually the cheaper card. Listrune flags only reverse holos.
Magic
The flag is the foil treatment, and covers etched foils too.
Yu-Gi-Oh!
Rarity is part of the product itself, so nothing is ever flagged.

Rows Listrune holds back

Any card without a Cardmarket product id is left out, with the reason on the row. The stock import rejects rows without idProduct, so sending them would just produce a longer error report.

Magic cards get their id from Scryfall automatically. For Pokémon and Yu-Gi-Oh! it is not always in the source data — you can type the id onto the card in the batch editor, and the row becomes exportable.