{
  "id": "cardkingdom",
  "displayName": "Card Kingdom (retail & buylist prices)",
  "sourceId": "cardkingdom",
  "sourceName": "Card Kingdom",
  "sourceType": "dealer",
  "sourceUrl": "https://www.cardkingdom.com",
  "module": "api/cardkingdom",
  "enginePriority": ["api"],
  "categories": ["magic_the_gathering"],
  "regions": ["US"],
  "languages": ["en"],
  "currency": ["USD"],
  "supportsListings": false,
  "supportsSold": false,
  "supportsAuctions": false,
  "supportsImages": false,
  "supportsCatalog": true,
  "supportsPopulation": false,
  "supportsLookup": false,
  "refreshFrequencyMinutes": 1440,
  "priority": "medium",
  "trustScore": 0.8,
  "attributionRequired": true,
  "termsUrl": "https://www.cardkingdom.com/help/terms",
  "accessNotes": "Card Kingdom publishes its full singles price list (https://api.cardkingdom.com/api/pricelist, ~46 MB JSON, refreshed daily) and sealed price list (/api/sealed_pricelist) publicly; each singles row carries the Scryfall id, edition, foil flag, retail price, retail stock, buylist price and buylist demand. Fetched once per run with an identifying User-Agent (two requests). Retail = dealer asking price stored as price_observation kind 'market' with metadata.buylist; not a transaction. Identifiers: cardkingdom_id, scryfall_id. Sealed products get catalog items with metadata.sealed=true.",
  "enabled": true,
  "schemaVersion": "1.0",
  "config": {
    "includeSealed": true,
    "minRetailUsd": 0.5
  }
}
