Cardmarket listings

Live Cardmarket offers in EUR for Pokémon cards and sealed products, cursor-paginated.

Cardmarket Live Listings

GET/v1/cards/:id/listings/cardmarket1 credit per item returned

Current 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

idstringrequired

The unique card ID.

conditionstring

Native Cardmarket condition (e.g. "Mint", "Near Mint", "Excellent", "Good", "Light Played", "Played", "Poor").

variantstring

Printing variant (e.g. "Normal", "Holofoil", "Reverse Holofoil"). "Reverse Holo" is also accepted.

min_pricenumber

Minimum offer price (EUR).

max_pricenumber

Maximum offer price (EUR).

seller_countrystring

Only 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_countrystring

Leave 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.

graderstring

Only graded offers from this grader (e.g. "PSA", "CGC", "BGS"). Case-insensitive.

gradestring

Only 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_countinteger

Only offers from sellers with at least this many completed sales. Offers with no recorded sell_count are left out.

sortstring

Sort order. One of "price_asc", "price_desc". Defaults to price_asc.

limitnumber

Number of listings to return per page (max 20). Defaults to 20.

cursorstring

Opaque 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
Response
{
  "data": [
    {
      "id": 3456,
      "article_id": 1789012345,
      "price": 38.5,
      "variant": "Reverse Holofoil",
      "condition": "Near Mint",
      "seller": "CardKingdomEU",
      "quantity": 2,
      "language": "EN",
      "comment": "Pack fresh, sleeved immediately",
      "signed": false,
      "altered": false,
      "graded": false,
      "grader": null,
      "grade": null,
      "sell_count": 2022,
      "seller_country": "DE",
      "updated_at": "2026-08-11T14:22:00+00:00"
    },
    {
      "id": 3457,
      "article_id": 2123745294,
      "price": 12,
      "variant": "Reverse Holofoil",
      "condition": "Near Mint",
      "seller": "AlteredArtEU",
      "quantity": 1,
      "language": "EN",
      "comment": "signed by the artist, custom border",
      "signed": true,
      "altered": true,
      "graded": false,
      "grader": null,
      "grade": null,
      "sell_count": 0,
      "seller_country": null,
      "updated_at": "2026-08-11T09:04:00+00:00"
    },
    {
      "id": 3458,
      "article_id": 2098117640,
      "price": 410,
      "variant": "Reverse Holofoil",
      "condition": "Near Mint",
      "seller": "SlabHausEU",
      "quantity": 1,
      "language": "EN",
      "comment": "PSA 10 gem mint",
      "signed": false,
      "altered": false,
      "graded": true,
      "grader": "PSA",
      "grade": "10",
      "sell_count": 312,
      "seller_country": "IT",
      "updated_at": "2026-08-10T18:41:00+00:00"
    }
  ],
  "pagination": {
    "has_more": true,
    "next_cursor": "cDozOC41OjM0NTY=",
    "count": 20
  }
}

Cardmarket Sealed Listings

GET/v1/sealed/:id/listings/cardmarket1 credit per item returned

Current 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

idstringrequired

The unique sealed product ID.

conditionstring

Native Cardmarket condition. Rarely useful here — sealed offers usually carry no condition.

min_pricenumber

Minimum offer price (EUR).

max_pricenumber

Maximum offer price (EUR).

seller_countrystring

Only 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_countrystring

Leave 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.

graderstring

Only graded offers from this grader (e.g. "PSA", "CGC", "BGS"). Case-insensitive.

gradestring

Only 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_countinteger

Only 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.

sortstring

Sort order. One of "price_asc", "price_desc". Defaults to price_asc.

limitnumber

Number of listings to return per page (max 20). Defaults to 20.

cursorstring

Opaque 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
Response
{
  "data": [
    {
      "id": 88214,
      "article_id": 2133609704,
      "price": 289.9,
      "variant": "",
      "condition": null,
      "seller": "SealedVaultEU",
      "quantity": 1,
      "language": "EN",
      "comment": "Factory sealed, stored upright",
      "signed": false,
      "altered": false,
      "graded": false,
      "grader": null,
      "grade": null,
      "sell_count": 1210,
      "seller_country": "NL",
      "updated_at": "2026-08-13T09:56:22+00:00"
    }
  ],
  "pagination": {
    "has_more": true,
    "next_cursor": "cDoyODkuOTo4ODIxNA==",
    "count": 20
  }
}