# Face to Face Games connector (`face-to-face-games`) - Source: https://www.facetofacegames.com · 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) Major Canadian MTG/Pokémon/Lorcana retailer (Toronto + Montréal). Shopify storefront with clean per-game singles/sealed/high-end collections; titles embed number and set code. ## Collections → taxonomy | collection handle | category | brand / franchise / series | |---|---|---| | `magic-the-gathering-singles` | `magic_the_gathering` | Magic: The Gathering | | `magic-the-gathering-high-end` | `magic_the_gathering` | Magic: The Gathering | | `magic-the-gathering-sealed` | `magic_the_gathering` | Magic: The Gathering | | `pokemon-singles` | `pokemon` | Pokémon | | `pokemon-high-end` | `pokemon` | Pokémon | | `pokemon-sealed` | `pokemon` | Pokémon | | `lorcana-singles` | `disney_lorcana` | Disney Lorcana | | `lorcana-sealed` | `disney_lorcana` | Disney Lorcana | | `yu-gi-oh-premium` | `yugioh` | Yu-Gi-Oh! | | `one-piece` | `one_piece_card_game` | One Piece | | `star-wars-sealed` | `star_wars_tcg` | Star Wars Unlimited | | `riftbound-singles` | `other_tcg` | Riftbound | 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` Title pattern: `^(?.+?) - (?[^\s\[]+) - [^\[]*\[(?[a-z0-9]+)(?:-[^\]]*)?\]` (name / set / number) ## 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: events/WPN tickets, supplies (sleeves, deck boxes, playmats), the giant "single"/"archive"/flash-sale umbrella collections (duplicates of the per-game ones). ## Fixtures & tests `data/fixtures/face-to-face-games/` — live captures (`pnpm tsx connectors/api/_g3-shops-na-lib/capture.ts face-to-face-games`), trimmed single-product payloads incl. a sold-out variant and a graded item. `pnpm vitest run connectors/api/face-to-face-games` · live probe: `pnpm tsx connectors/api/_g3-shops-na-lib/probe.ts face-to-face-games`.