TypeScript 61.9%
HTML 37.2%
SQL 0.7%
1# cardtrader (gated)23CardTrader API v2 — `https://api.cardtrader.com/api/v2`, `Authorization: Bearer $CARDTRADER_API_TOKEN` (token from any CardTrader account's settings page; unauthenticated calls return 401). Docs: https://www.cardtrader.com/docs/api/full.45Flow: `GET /games` → `GET /expansions` (filtered to tracked games via `config.gameSlugs`, newest expansion ids first) → `GET /blueprints/export?expansion_id=` (catalog: `scryfall_id`, `card_market_ids` → `cardmarket_id`, `tcg_player_id`, image, `fixed_properties.collector_number`/rarity) → `GET /marketplace/products?expansion_id=` (25 cheapest public offers per blueprint: cents + currency, condition/language/foil properties, seller type/country, graded, bundle_size).67Output: `catalog_item` per blueprint + `listing` per offer (EUR/USD; private sellers anonymised; `bundle_size` → quantity; graded flagged). Rate limits: 200 req/10 s global, 10 req/s marketplace — connector uses 1 req/s. Cursor `{ expIdx }`.89Fixtures are built from the documentation's example responses (no token in this environment) and are labelled as such in their `note`.10