{"updated_at":"2026-06-22","mission":"Reverse gatekeeping for TCG data and tooling: map free/open resources, publish safe Cambridge TCG signals, and help every party compound love, joy, and fair access.","principles":["Free first: publish the map, examples, and context before asking anyone to pay.","No private data: share aggregate/public signals, not customer identities or order details.","Attribution and terms: respect upstream APIs, licenses, rate limits, and brand rules.","Cache and mirror responsibly: use free compute for public snapshots, not for scraping abuse.","Make it useful to every party: collectors, players, sellers, stores, builders, and researchers."],"parties":[{"key":"collectors","name":"Collectors","needs":["Plain-language price context before buying or trading","Collection tools that do not hide basic data behind a paywall","Signals for scarcity, demand, and fair trade-in expectations"],"whatCambridgeCanShare":["Free price guide pages and public card snapshots","CSV/JSON exports where safe and non-private","Education around spreads, liquidity, condition, and risk"]},{"key":"players","name":"Players","needs":["Affordable deck discovery and rules references","Budget alternatives instead of pure hype chasing","Community spaces where new players can ask beginner questions"],"whatCambridgeCanShare":["Deck-builder routes, guides, and public deck examples","Links to official rules and community deck resources","Low-cost card discovery powered by the catalog"]},{"key":"sellers","name":"Sellers","needs":["Clear buylist/trade-in expectations","Trust, escrow, and payout transparency","Simple paths to list cards without expert tooling"],"whatCambridgeCanShare":["Trade-in values and quote workflows","Trust and safety explanations","Marketplace liquidity signals that help sellers price fairly"]},{"key":"stores","name":"Local stores","needs":["Reusable operational patterns for inventory and pricing","Non-exclusive data commons instead of isolated spreadsheets","Ways to cooperate without giving away customer/private data"],"whatCambridgeCanShare":["Open architecture notes and API-shaped data where safe","Stock/pricing pipeline learnings","A contribution path for corrections and shared references"]},{"key":"builders","name":"Builders","needs":["Documented data sources, schemas, and examples","Free compute paths for prototypes and community tools","Clear boundaries around licenses, rate limits, and attribution"],"whatCambridgeCanShare":["Public JSON endpoints for commons metadata","llms.txt discovery hints for agents and crawlers","Open-source-friendly resource maps and issue-ready tasks"]},{"key":"researchers","name":"Researchers","needs":["Cleanly separated public signals vs. private customer data","Reproducible snapshots and citations","Ethical use notes for crawlers and model-assisted analysis"],"whatCambridgeCanShare":["Public, anonymised market descriptions","Source citations and update cadence notes","A safety posture: robots, cache headers, and no scraping of private routes"]}],"resources":[{"id":"cambridge-price-guide","name":"Cambridge TCG Price Guide","kind":"data","access":"public","url":"/prices","use":"Free Cambridge TCG price pages for UK-facing Japanese TCG retail and trade-in context.","caution":"Operational prices can move; always verify live item pages before checkout or trade-in.","helps":["collectors","sellers","players","researchers"]},{"id":"cambridge-market-pulse","name":"Cambridge Market Pulse API","kind":"data","access":"public","url":"/api/market/pulse","use":"Public liquidity, watch, trade, spread, and movement buckets generated from Cambridge marketplace data.","caution":"Use aggregate signals responsibly; do not infer or expose private customer behaviour.","helps":["collectors","sellers","builders","researchers"]},{"id":"pokemon-tcg-api","name":"Pokémon TCG API","kind":"data","access":"free","url":"https://pokemontcg.io/","use":"Card metadata and images for Pokémon tooling, search, and collection prototypes.","caution":"Respect its API rules, attribution expectations, and rate limits; Cambridge pricing remains separate.","helps":["collectors","players","builders","researchers"]},{"id":"scryfall","name":"Scryfall API and bulk data","kind":"data","access":"free","url":"https://scryfall.com/docs/api","use":"Best-in-class public card search/API design reference and free bulk data pattern for TCG builders.","caution":"Magic data is not Cambridge inventory; use as inspiration and respect Scryfall terms and rate guidance.","helps":["builders","researchers","collectors"]},{"id":"ygoprodeck","name":"YGOPRODeck API","kind":"data","access":"free","url":"https://ygoprodeck.com/api-guide/","use":"Yu-Gi-Oh! card metadata API for community tools and cross-game schema inspiration.","caution":"Follow API etiquette; do not mix third-party data into Cambridge commercial listings without review.","helps":["players","builders","researchers"]},{"id":"github-actions","name":"GitHub Actions minutes for public repos","kind":"compute","access":"free-tier","url":"https://docs.github.com/actions","use":"CI, scheduled checks, static builds, data snapshots, and contributor validation for open-source commons.","caution":"Keep secrets out of public logs; use least-privilege tokens and do not run untrusted workflows with secrets.","helps":["builders","stores","researchers"]},{"id":"cloudflare-pages-workers","name":"Cloudflare Pages and Workers","kind":"compute","access":"free-tier","url":"https://developers.cloudflare.com/workers/platform/pricing/","use":"Edge-host static pages, lightweight public APIs, cache layers, and small scheduled jobs close to users.","caution":"Design for cache-first public data; avoid storing private customer data in public worker examples.","helps":["builders","stores","researchers"]},{"id":"vercel-hobby","name":"Vercel Hobby / preview deploys","kind":"compute","access":"free-tier","url":"https://vercel.com/docs/accounts/plans/hobby","use":"Fast preview deploys for Next.js community pages and non-critical prototypes.","caution":"Production commerce deployments should use the account/plan that matches business usage and compliance needs.","helps":["builders","stores"]},{"id":"sqlite-duckdb","name":"SQLite + DuckDB local compute","kind":"compute","access":"open-source","url":"https://duckdb.org/","use":"Turn unused laptop/server time into reproducible local analysis of public CSV/JSON snapshots.","caution":"Separate public snapshots from private operational/customer data.","helps":["builders","stores","researchers"]},{"id":"cambridge-llms","name":"Cambridge TCG llms.txt","kind":"space","access":"public","url":"/llms.txt","use":"A crawler/agent-readable map of public Cambridge TCG pages and non-private capabilities.","caution":"Robots and API boundaries still apply; agents should avoid account, admin, and checkout flows.","helps":["builders","researchers","collectors"]},{"id":"open-source-issues","name":"Open contribution queue","kind":"community","access":"open-source","url":"/commons#contribute","use":"A public backlog shape for data corrections, guides, API examples, and commons improvements.","caution":"Moderate contributions; never accept private data, credential dumps, or copyrighted scans without permission.","helps":["builders","players","collectors","stores"]}]}