# Cardboard Memories connector (`cardboard-memories`) - Source: https://www.cardboardmemories.ca · dealer · CA · CAD · Shopify storefront - Acquisition: public `/collections//products.json?limit=250&page=N` (shared `ShopifyStoreConnector` adapter wrapped by `MarketPinnedShopifyConnector`, which adds a `localization=CA` cookie so Shopify Markets never geo-converts prices; no store-specific code) - Records: `listing` (asking prices, one per variant; out-of-stock variants → `ended`) - Refresh: every 12 h (ACTIVE→NORMAL boundary, large catalogue) · history: none (listings only) New Brunswick comic & sports-card shop. Shopify storefront; hockey/football/baseball boxes with UPC-like SKUs, Yu-Gi-Oh! singles, comics by publisher, Funko. ## Collections → taxonomy | collection handle | category | brand / franchise / series | |---|---|---| | `hockey-cards` | `hockey_cards` | — | | `football-cards-1` | `football_cards` | — | | `baseball-cards` | `baseball_cards` | — | | `basketball-cards` | `basketball_cards` | — | | `sports-cards` | `sports_cards` | — | | `upper-deck-authenticated` | `sports_memorabilia` | Upper Deck Authenticated | | `yu-gi-oh-singles` | `yugioh` | Yu-Gi-Oh! | | `pokemon` | `pokemon` | Pokémon | | `pokemon-booster-boxes` | `pokemon` | Pokémon | | `magic-the-gathering` | `magic_the_gathering` | Magic: The Gathering | | `magic-the-gathering-boxes` | `magic_the_gathering` | Magic: The Gathering | | `funko-pop` | `funko` | Funko | | `comic-books` | `comics` | — | | `dc-comics` | `dc_comics` | DC | Rules (first match wins, applied to "title | product_type | tags | collection"): - `^(?=[\s\S]*\bhockey\b)[\s\S]*\| sports-cards$` → `hockey_cards` - `^(?=[\s\S]*\bbaseball\b)[\s\S]*\| sports-cards$` → `baseball_cards` - `^(?=[\s\S]*\bbasketball\b)[\s\S]*\| sports-cards$` → `basketball_cards` - `^(?=[\s\S]*\bfootball\b)[\s\S]*\| sports-cards$` → `football_cards` - `^(?=[\s\S]*\b(soccer|premier league|uefa|fifa)\b)[\s\S]*\| sports-cards$` → `soccer_cards` - `^(?=[\s\S]*\b(formula 1|formula one|\bf1\b)\b)[\s\S]*\| sports-cards$` → `f1_cards` - `^(?=[\s\S]*\b(marvel|spider-?man|x-men|avengers|wolverine|hulk|deadpool|iron man|captain america|fantastic four|daredevil|venom|punisher)\b)[\s\S]*\| (comic-books)$` → `marvel_comics` (franchise Marvel) - `^(?=[\s\S]*\b(dc comics|batman|superman|wonder woman|justice league|the flash|green lantern|aquaman|detective comics|action comics|harley quinn|joker|nightwing|swamp thing)\b)[\s\S]*\| (comic-books)$` → `dc_comics` (franchise DC) Excluded (regex): `gift card|sleeves?|deck box|binder|playmat|toploader|top loader|storage box|dice|tokens? only|bundle of|mystery|buylist|submission|event ticket|\bentry\b|tournament|store credit|pre-?release event|supplies|card savers?|\brepack|bulk lot|\blot of\b|\bpaints?\b|primer|brushes|online (pack|code)|digital code|code card|unused digital|ptcgo|ptcg live|bags? (and|&) boards|\bmylar|comic bags|backing boards|magnetic holder|one-touch|\bpaint` ## Access & compliance See `accessNotes` in meta.json: robots.txt verified 2026-09-08 (standard Shopify rules, products.json paths allowed), honest UA, 1 req / 1.5 s, listings only, no personal data. Not fetched: RPG books, miniatures, paints, supplies (binders, sleeves, deck boxes), trade paperbacks. ## Fixtures & tests `data/fixtures/cardboard-memories/` — live captures (`pnpm tsx connectors/api/_g3-shops-na-lib/capture.ts cardboard-memories`), trimmed single-product payloads incl. a sold-out variant. `pnpm vitest run connectors/api/cardboard-memories` · live probe: `pnpm tsx connectors/api/_g3-shops-na-lib/probe.ts cardboard-memories`.