{
  "id": "cardtrader",
  "displayName": "CardTrader (API v2 — blueprints & marketplace)",
  "sourceId": "cardtrader",
  "sourceName": "CardTrader",
  "sourceType": "marketplace",
  "sourceUrl": "https://www.cardtrader.com",
  "module": "api/cardtrader",
  "enginePriority": ["api"],
  "categories": ["magic_the_gathering", "pokemon", "yugioh", "one_piece_card_game", "disney_lorcana", "flesh_and_blood", "digimon_tcg", "dragon_ball_tcg", "star_wars_tcg", "other_tcg"],
  "regions": ["EU", "IT"],
  "country": "IT",
  "languages": ["en", "it", "es"],
  "currency": ["EUR", "USD"],
  "supportsListings": true,
  "supportsSold": false,
  "supportsAuctions": false,
  "supportsImages": true,
  "supportsCatalog": true,
  "supportsPopulation": false,
  "supportsLookup": false,
  "refreshFrequencyMinutes": 1440,
  "priority": "medium",
  "trustScore": 0.8,
  "attributionRequired": true,
  "termsUrl": "https://www.cardtrader.com/en/terms",
  "acquisitionMethod": "official REST API v2 (Bearer token from a CardTrader account)",
  "historicalDepth": "none",
  "requires": ["CARDTRADER_API_TOKEN"],
  "capabilities": ["catalog", "live_listings", "images"],
  "accessNotes": "CardTrader (Italy) is Europe's second card marketplace and publishes a documented REST API at https://api.cardtrader.com/api/v2 (docs: https://www.cardtrader.com/docs/api/full). Every call needs `Authorization: Bearer <token>`; the token is issued to any registered CardTrader account from its settings page — unauthenticated calls return 401 (verified live), so the connector is gated behind CARDTRADER_API_TOKEN. Endpoints used, all read-only: GET /games, GET /expansions (id, game_id, code, name), GET /blueprints/export?expansion_id=<id> (one blueprint per printing with scryfall_id, card_market_ids, tcg_player_id, image_url, fixed_properties such as collector_number/rarity) and GET /marketplace/products?expansion_id=<id> (the 25 cheapest public offers per blueprint: price cents + currency, quantity, properties_hash condition/language/foil, seller username/country/type, graded, bundle_size). Rate limits per docs: 200 requests / 10 s overall, 10 req/s on /marketplace/products (we stay at ≤ 1 req/s). The public website (Cloudflare) is never crawled. Seller usernames are personal data for 'normal' (private) sellers and are never stored; only user_type/country_code are kept. Offers are asking prices → listings, never sales; graded and bundle offers are flagged. Fixtures were built from the official documentation's example responses (no token available) and say so in their note.",
  "enabled": true,
  "schemaVersion": "1.0",
  "config": {
    "gameSlugs": {
      "magic": "magic_the_gathering",
      "pokemon": "pokemon",
      "yugioh": "yugioh",
      "one piece": "one_piece_card_game",
      "lorcana": "disney_lorcana",
      "flesh and blood": "flesh_and_blood",
      "digimon": "digimon_tcg",
      "dragon ball": "dragon_ball_tcg",
      "star wars": "star_wars_tcg",
      "vanguard": "other_tcg",
      "riftbound": "other_tcg",
      "union arena": "other_tcg",
      "battle spirits": "other_tcg",
      "gundam": "other_tcg"
    },
    "expansionsPerRun": 30,
    "includeMarketplace": true
  }
}
