Cardmarket listings
Live Cardmarket offers in EUR for Pokémon cards and sealed products, cursor-paginated.
Cardmarket Live Listings
/v1/cards/:id/listings/cardmarket1 credit per item returnedCurrent Cardmarket seller offers, in EUR. Results are scoped to the card's own set language: an English card never returns German listings. Price-keyset pagination and Cardmarket's native condition names. "Reverse Holo" and "Reverse Holofoil" are accepted as the same variant.
Offers flagged signed, altered, or graded are still returned, but don't count toward the card's market price. grader and grade are parsed from seller comments when possible, so a graded offer can still show null for either. To leave flagged offers out, pass graded=false&signed=false&altered=false.
seller_country is the seller's country as a two-letter code, or null when we don't know it. That includes offers scraped before the field existed, and they fill in as each card is refreshed.
sell_count is the seller's completed sales, as Cardmarket reports them. It explains why a market price can sit above the cheapest offer: an offer from a seller with no completed sales doesn't set a price. null means no count was recorded for the row, which is not the same as zero; 0 means Cardmarket reports the seller as having sold nothing.
Parameters
idstringrequiredThe unique card ID.
conditionstringNative Cardmarket condition (e.g. "Mint", "Near Mint", "Excellent", "Good", "Light Played", "Played", "Poor").
variantstringPrinting variant (e.g. "Normal", "Holofoil", "Reverse Holofoil"). "Reverse Holo" is also accepted.
min_pricenumberMinimum offer price (EUR).
max_pricenumberMaximum offer price (EUR).
seller_countrystringOnly offers from sellers in these countries, as comma-separated ISO 3166-1 alpha-2 codes (e.g. "IT,DE"). Case-insensitive, at most 30. Offers with no known seller country are left out.
exclude_seller_countrystringLeave out offers from sellers in these countries, in the same format (e.g. "CN,HK"). Offers with no known seller country stay in.
gradedboolean"true" for graded offers only, "false" for raw offers only.
graderstringOnly graded offers from this grader (e.g. "PSA", "CGC", "BGS"). Case-insensitive.
gradestringOnly graded offers at this grade (e.g. "10", "9.5").
signedboolean"true" for signed offers only, "false" to leave them out.
alteredboolean"true" for altered offers only, "false" to leave them out.
min_sell_countintegerOnly offers from sellers with at least this many completed sales. Offers with no recorded sell_count are left out.
sortstringSort order. One of "price_asc", "price_desc". Defaults to price_asc.
limitnumberNumber of listings to return per page (max 20). Defaults to 20.
cursorstringOpaque pagination cursor returned from a previous response.
Try it
curl -H "X-API-Key: YOUR_API_KEY" \https://api.pkmnprices.com/v1/cards/{id}/listings/cardmarket
Cardmarket Sealed Listings
/v1/sealed/:id/listings/cardmarket1 credit per item returnedCurrent Cardmarket seller offers for a sealed product, in EUR. There's no variant filter: every sealed offer is stored with an empty variant. And results aren't restricted to one language: a sealed product owns its offers outright rather than sharing a Cardmarket article across languages, so check the language field per row. condition is usually null here too.
Offers flagged signed, altered, graded or opened are still returned, but don't count toward the market price. To leave them out, pass graded=false&signed=false&altered=false&opened=false.
seller_country is the seller's country as a two-letter code, or null when we don't know it. That includes offers scraped before the field existed, and they fill in as each card is refreshed.
sell_count is the seller's completed sales, as Cardmarket reports them. It explains why a market price can sit above the cheapest offer: an offer from a seller with no completed sales doesn't set a price. null means no count was recorded for the row, which is not the same as zero; 0 means Cardmarket reports the seller as having sold nothing.
Parameters
idstringrequiredThe unique sealed product ID.
conditionstringNative Cardmarket condition. Rarely useful here — sealed offers usually carry no condition.
min_pricenumberMinimum offer price (EUR).
max_pricenumberMaximum offer price (EUR).
seller_countrystringOnly offers from sellers in these countries, as comma-separated ISO 3166-1 alpha-2 codes (e.g. "IT,DE"). Case-insensitive, at most 30. Offers with no known seller country are left out.
exclude_seller_countrystringLeave out offers from sellers in these countries, in the same format (e.g. "CN,HK"). Offers with no known seller country stay in.
gradedboolean"true" for graded offers only, "false" for raw offers only.
graderstringOnly graded offers from this grader (e.g. "PSA", "CGC", "BGS"). Case-insensitive.
gradestringOnly graded offers at this grade (e.g. "10", "9.5").
signedboolean"true" for signed offers only, "false" to leave them out.
alteredboolean"true" for altered offers only, "false" to leave them out.
min_sell_countintegerOnly offers from sellers with at least this many completed sales. Offers with no recorded sell_count are left out.
openedboolean"true" for offers whose seller says the product is not sealed, "false" to leave them out.
sortstringSort order. One of "price_asc", "price_desc". Defaults to price_asc.
limitnumberNumber of listings to return per page (max 20). Defaults to 20.
cursorstringOpaque pagination cursor returned from a previous response.
Try it
curl -H "X-API-Key: YOUR_API_KEY" \https://api.pkmnprices.com/v1/sealed/{id}/listings/cardmarket