Cardmarket Repricer - Find Every Mispriced Card You Sell

Your Cardmarket prices were right the day you listed them, and the market has moved since. Feed in your stock export and get back only the cards whose price is now out of line: what you charge, what it is worth today, what to charge, and which rule decided. Reads the official and community exports.

$1.99 / 1,000 · Recently published - building its public record.

Run it on Apify → Free to try - runs bill per result on your own account.

What you give it

Every field is optional unless marked; sensible defaults do the rest.

FieldTypeWhat it doesDefault
stockCsv string Your stock, exported from Cardmarket. Paste it here: the API's JSON export, or a CSV from a stock exporter. It must carry the idProduct column, which is what each card is priced against. -
stockUrl string A direct link to the same file, if you would rather not paste it. Must be reachable without a login. -
game string Which game your stock is in. The price guide for it is loaded once per run. pokemon
reference string Cardmarket's own figure your prices are set against. trend
undercutPct integer Sit this far below the reference price. 5
undercutCents integer A flat amount taken off as well, if you price that way. 0
floorPct integer A hard floor. A thin market or an odd guide entry cannot drag a card below this. 60
minPriceEur string Absolute minimum price for any card. 0.02
maxChangePct integer Caps how far a single run can move any price. 0 turns the cap off. 25
roundToCents integer 1 for exact cents, 5 to land on 0.05, 10 on 0.10. 1
conditionMultipliers object Cardmarket publishes one price per card, not one per condition, so the ladder is yours. Defaults: MT 1.05, NM 1, EX 0.9, GD 0.8, LP 0.7, PL 0.6, PO 0.5. -
onlyChanged boolean On by default, so you pay for decisions rather than for a copy of your stock. True
maxItems integer Stop after this many rows. 5000

What you get back

One JSON object per result, with exactly these fields - no seller identities, no contact data, ever.

FieldTypeMeaning
idProduct ['integer', 'null'] Cardmarket product id from your stock file. This is what the row was priced against.
idArticle ['string', 'null'] Your own article id, carried straight through so you can match rows back to your stock.
cardName ['string', 'null'] Card name as your stock file spells it.
productUrl ['string', 'null'] The card's own page on Cardmarket. Null for games Cardmarket gives no public product path.
expansion ['string', 'null'] Expansion as your stock file spells it.
condition ['string', 'null'] Condition code from your file. Drives which multiplier was applied.
language ['string', 'null'] Language from your file, carried through untouched. It does not affect the suggestion.
isFoil boolean True when the row was priced off the foil columns rather than the regular ones.
isPlayset boolean True when the row is a playset, in which case the suggestion is four cards' worth.
quantity integer Copies on that stock row. Carried through; it does not affect the price.
currentPriceEur ['number', 'null'] What you charge today, read from your file.
referencePriceEur ['number', 'null'] Cardmarket's figure the suggestion is built from, before your condition ladder and undercut.
suggestedPriceEur ['number', 'null'] What to charge. Absent when the card could not be priced - see reason.
changeEur ['number', 'null'] Suggested minus current. Negative means a cut.
changePct ['number', 'null'] The same move in percent. Filter on this to review the big ones first.
reason string Why this price: repriced, held-at-floor, capped-by-max-change, already-at-target, signed-card-left-alone, no-price-published, no-foil-price-published, no-price-guide-entry.
currency string Always EUR: Cardmarket is a euro marketplace.
priceGuideDate string Date of the price guide the suggestion came from. One file per day.
stockRow integer Line number in your stock file, so a surprising row is easy to find.

Health

Recently published - building its public record. Live record, failures included: status page.

Full documentation, examples and the AI-assistant prompt live on the store page.