Card PricesCard PricesCardPrices
API Endpoints

Prices

Fetch price history and market trends. Requires Growth plan or higher.

Price History

GET /public/v1/prices/history/:game/:cardId

Requires: Growth plan or higher

Returns aggregated price snapshots for a card, bucketed by period.

Path Parameters

ParameterDescription
gameAny of the 24 supported game keys — see Supported Games.
cardIdCard _id or numeric productId

Query Parameters

ParameterTypeDescription
periodstringSnapshot granularity: daily, weekly, or monthly (default: weekly)

Example

curl "https://api.cardprices.io/public/v1/prices/history/yugioh/100042?period=weekly" \
  -H "X-API-Key: pub_live_YOUR_KEY"

Response

prices is an array of dated snapshots. Each snapshot's inner prices object maps a price type to its value at that date.

{
  "game": "yugioh",
  "cardId": "100042",
  "period": "weekly",
  "prices": [
    {
      "date": "2026-06-01T00:00:00.000Z",
      "prices": { "marketPrice": "12.50", "lowPrice": "10.00", "highPrice": "15.00" }
    },
    {
      "date": "2026-06-08T00:00:00.000Z",
      "prices": { "marketPrice": "13.25", "lowPrice": "11.00", "highPrice": "16.00" }
    }
  ]
}

If no history exists for the card + period, the API returns 404 with { "error": "NOT_FOUND", "message": "No price history found for this card." }.


GET /public/v1/prices/trends

Requires: Professional plan or higher

Returns the cards with the largest price movement for a given game, period, and direction.

Query Parameters

ParameterTypeDescription
gamestringRequired. Filter by game
periodstringdaily, weekly, or monthly (default: weekly)
directionstringrising or falling (default: rising)
pagenumberPage number (default: 1)
limitnumberNumber of results (default: 25, max: 100)

Example

curl "https://api.cardprices.io/public/v1/prices/trends?game=pokemon&period=weekly&direction=rising" \
  -H "X-API-Key: pub_live_YOUR_KEY"

Response

Each item is a trend record with its cardId populated to a lightweight card summary. percentageChange is the percent move over the period and latestPriceDouble is the most recent market price.

{
  "game": "pokemon",
  "period": "weekly",
  "direction": "rising",
  "total": 214,
  "page": 1,
  "limit": 25,
  "totalPages": 9,
  "trends": [
    {
      "_id": "60f1a0b2c3d4e5f6a7b8c9d0",
      "game": "pokemon",
      "cardId": {
        "name": "Charizard",
        "rarity": "Holo Rare",
        "number": "4/102",
        "productId": 100001,
        "image": "https://assets.pokemon.cardprices.io/100001.jpg"
      },
      "period": "weekly",
      "percentageChange": 20.0,
      "latestPriceDouble": 450.00,
      "trend": "rising",
      "updatedAt": "2026-06-08T00:00:00.000Z"
    }
  ]
}

Price Trends requires the Professional plan. See Plans at a Glance for current pricing.