EU market data

CardMarket Pokemon Card API

Use market=EU when your workflow needs EUR pricing and CardMarket-specific source fields instead of US eBay or TCGPlayer data.
CurrencySourcesPlan
EUR
EU cards are separate records from US cards.
2 CardMarket feeds
Price Trend and active listings are separate fields.
Pro+
EU market access requires Pro or higher.

Endpoint

GET /cards?market=EU

curl -H "X-API-Key: YOUR_KEY" \
  "https://api.poketrace.com/v1/cards?search=charizard&market=EU&limit=2"

Returns EU cards with currency EUR, refs.cardmarketId, cardmarket AGGREGATED values, and cardmarket_unsold tiers by condition, grade, country, and language.

  • EU/CardMarket data requires Pro or higher.
  • EU Normal/Holofoil labels do not distinguish First Edition from Unlimited. Selected cards, starting with Base Set Blastoise, have explicit First Edition variants based on confirmed asking offers. General EU prices and older histories may combine editions.
  • cardmarket_unsold values are asking prices from active listings, not completed-sale comps.

Parameters

Search Parameters

market
enum
Set to EU to return CardMarket-backed cards.
EU
search
string
Search by card name before reading EU CardMarket fields.
charizard
limit
number
Cards per page. API schema accepts up to 100; docs examples use small pages.
20
cursor
string
Pagination cursor for /cards.
YnNfMg==
cardmarket_ids
csv
Comma-separated CardMarket IDs, max 20. cardmarketIds alias is also accepted.
273927,273550
game
enum
Use pokemon or pokemon-japanese when distinguishing EU card languages by product identity.
pokemon-japanese

Detail Parameters

GET /cards/:id?market=EU
route
Fetch full EU details for one card.
/cards/eu_273927?market=EU
GET /cards/:id/prices/:tier/history
route
Fetch EU history for AGGREGATED, raw condition, or graded tier.
/cards/eu_273927/prices/NEAR_MINT/history?period=30d

Response fields

CardMarket Price Trend

The cardmarket source is the stable EU baseline.

prices.cardmarket.AGGREGATED.avg
number | null
CardMarket Price Trend style value for the card.
385
avg1d / avg7d / avg30d
number | null
Short-window trend averages where available.
380 / 375 / 370
low / high / saleCount
null or omitted
AGGREGATED Price Trend is not a per-listing spread.
low: null
refs.cardmarketId
string | number | null
CardMarket product reference for matching external systems.
273927

Active Listings

The cardmarket_unsold source is active asking-price inventory.

prices.cardmarket_unsold.NEAR_MINT
object
Raw active listings for a condition tier.
avg, low, high, saleCount
prices.cardmarket_unsold.PSA_10
object
Graded active listings where slab data is available.
PSA_10.country.DE
country
object
Breakdown by seller country, such as DE, FR, IT, ES, PL, or BE.
country.DE.avg
country.*.language
object
Nested language slices under country. Common keys include ALL, EN, and JP.
country.DE.language.EN.avg
median3d / median7d / median30d
number | null
Rolling medians from active listings, with anomalies excluded.
410

Examples

Read EU Near Mint by country and language
const response = await fetch(
  "https://api.poketrace.com/v1/cards?search=charizard&market=EU&limit=1",
  { headers: { "X-API-Key": process.env.POKETRACE_API_KEY } },
)

const card = (await response.json()).data[0]
const nearMint = card.prices.cardmarket_unsold?.NEAR_MINT
const germanEnglishAvg = nearMint?.country?.DE?.language?.EN?.avg
EU response fields
{
  "market": "EU",
  "currency": "EUR",
  "refs": { "tcgplayerId": null, "cardmarketId": "273927" },
  "prices": {
    "cardmarket": {
      "AGGREGATED": { "avg": 385, "low": null, "high": null, "avg7d": 375 }
    },
    "cardmarket_unsold": {
      "NEAR_MINT": {
        "avg": 420,
        "low": 350,
        "high": 890,
        "saleCount": 125,
        "country": {
          "DE": { "avg": 410, "language": { "ALL": { "avg": 401 }, "EN": { "avg": 432 } } }
        }
      }
    }
  }
}

Two Sources, Different Meaning

Use cardmarket.AGGREGATED as the conservative baseline. Use cardmarket_unsold when you need current supply, country spread, language spread, or graded asking prices.

Country and Language

Country is based on seller origin. Language is nested under country when the listing has both dimensions; top-level language can appear in history rows that do not have seller country.

Do Not Mix Markets Blindly

US and EU cards are separate market records. Compare them only when your product explicitly explains currency, source, liquidity, and supply differences.

Frequently asked questions

Does PokeTrace expose CardMarket Pokemon prices?

Yes. Use market=EU on /cards or fetch an EU card by ID. Responses include cardmarket Price Trend values and cardmarket_unsold active listing summaries.

Can I filter CardMarket prices by country or language?

The endpoint does not take a country query filter, but EU response data can include country and nested language objects that your app can read directly.