{
  "raw": {
    "url": "https://www.cardtrader.com/cards/89",
    "externalId": "89",
    "kind": "catalog_item",
    "engine": "api",
    "fetchedAt": "2026-09-08T03:00:00.000Z",
    "payload": {
      "game": { "id": 1, "name": "Magic", "display_name": "Magic: the Gathering" },
      "categorySlug": "magic_the_gathering",
      "expansion": { "id": 8, "game_id": 1, "code": "tm10", "name": "Magic 2010 Tokens" },
      "blueprint": {
        "id": 89,
        "name": "Beast // Plant",
        "version": null,
        "game_id": 1,
        "category_id": 2,
        "expansion_id": 8,
        "image_url": null,
        "scryfall_id": "381854e2-7369-473e-a604-4dd7c010fc89",
        "card_market_ids": [362677],
        "tcg_player_id": null,
        "fixed_properties": null
      },
      "products": [
        {
          "id": 105234025,
          "blueprint_id": 89,
          "name_en": "Beast // Plant",
          "quantity": 1,
          "price": { "cents": 390, "currency": "EUR" },
          "description": null,
          "properties_hash": { "condition": "Near Mint", "mtg_language": "it", "mtg_foil": false, "signed": true, "altered": false },
          "expansion": { "id": 8, "code": "tm10", "name_en": "Magic 2010 Tokens" },
          "user": { "id": 51242, "username": "seller", "can_sell_via_hub": false, "country_code": "DE", "user_type": "normal" },
          "graded": true,
          "on_vacation": true,
          "bundle_size": 4
        },
        {
          "id": 105234026,
          "blueprint_id": 89,
          "name_en": "Beast // Plant",
          "quantity": 1,
          "price": { "cents": 0, "currency": "EUR" },
          "properties_hash": { "condition": "Poor" },
          "graded": false,
          "on_vacation": false,
          "bundle_size": 1
        }
      ]
    }
  },
  "expect": {
    "count": 2,
    "kinds": ["catalog_item", "listing"],
    "requiredFields": ["attributes.set", "attributes.name"]
  },
  "note": "NOT a live capture (gated: CARDTRADER_API_TOKEN missing). Blueprint 89 'Beast // Plant' and the Money/cart example ids come from the official docs; the offer rows exercise edge cases described in the Products structure (graded=true, on_vacation=true, bundle_size 4, signed, Italian language, and a zero-price row that must be dropped)."
}
