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.
Every field is optional unless marked; sensible defaults do the rest.
| Field | Type | What it does | Default |
|---|---|---|---|
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 |
One JSON object per result, with exactly these fields - no seller identities, no contact data, ever.
| Field | Type | Meaning |
|---|---|---|
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. |
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.