EU market data
CardMarket Pokemon Card API
| Currency | Sources | Plan |
|---|---|---|
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
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{
"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.