{
  "id": "pokemontcg",
  "displayName": "Pokémon TCG API (pokemontcg.io)",
  "sourceId": "pokemontcg",
  "sourceName": "Pokémon TCG API",
  "sourceType": "catalog",
  "sourceUrl": "https://pokemontcg.io",
  "module": "api/pokemontcg",
  "enginePriority": ["api", "feed"],
  "categories": ["pokemon"],
  "regions": ["US", "EU"],
  "languages": ["en"],
  "currency": ["USD", "EUR"],
  "supportsListings": false,
  "supportsSold": false,
  "supportsAuctions": false,
  "supportsImages": true,
  "supportsCatalog": true,
  "supportsPopulation": false,
  "supportsLookup": false,
  "refreshFrequencyMinutes": 1440,
  "priority": "high",
  "trustScore": 0.8,
  "attributionRequired": true,
  "termsUrl": "https://docs.pokemontcg.io/",
  "accessNotes": "Public REST API v2 (https://api.pokemontcg.io/v2). Optional X-Api-Key (POKEMONTCG_API_KEY) raises limits (20k/day) — without a key ~1k/day and 30/min. Crawl = sets, then cards per set (pageSize 250, cursor {setIndex,page}). The API is intermittently unavailable (5xx); the connector retries with backoff and falls back to the maintainers' public GitHub mirror (PokemonTCG/pokemon-tcg-data, same card schema, no prices) for the catalog when the API keeps failing. Prices are TCGplayer (USD, per printing variant: normal/holofoil/reverseHolofoil/1stEdition…) and Cardmarket (EUR) daily aggregates with their own updatedAt → stored as price_observations, never as sales. Pokémon © Nintendo/Creatures/GAME FREAK; data attributed to pokemontcg.io.",
  "enabled": true,
  "schemaVersion": "1.0",
  "config": {
    "pageSize": 250,
    "requestIntervalMs": 2100,
    "mirrorBase": "https://raw.githubusercontent.com/PokemonTCG/pokemon-tcg-data/master"
  }
}
