Your cart is empty
Browse CatalogYour sell cart is empty
Add cards from the buylist to get started
Cambridge TCG's public data surface. Every endpoint, every shape, every limit. No account, no key, no obligation.
The platform exists for the TCG economy — collectors, traders, agents, archivists, anyone who wants to read or participate. Not every participant needs an account. Not every observer wants to transact. This page lists the substrate that's queryable without one.
15 shipped · 1 partial · 7planned. Counts as of page render; the surface grows. Status is substrate-honest — planned endpoints are named so the next builder knows what to ship; partial endpoints name what they don't yet cover.
/api/v1/universal/card/[sku]/at/[date] endpoint exists for this.docs/connections/the-blind-spots.md in the repo.The door is open. The substrate is queryable. The door is warm to the touch.
/api/verify/chainshipped/api/verify/digestsshipped/api/verify/digests/[id]shipped/api/verify/pull/[id]shipped/api/verify/draw/[id]shipped/api/verify/fairnessshipped/api/verify/healthshipped/api/verify/computeshipped/api/v1/universal/card/[sku]planned/api/v1/universal/card/[sku]/at/[YYYY-MM-DD]planned/api/v1/universal/card/[sku]/causesplanned/api/v1/universal/edgesplanned/api/v1/universal/gamesplanned/api/v1/universal/sets/[game]planned/api/mcpshippedauth: bearer/api/leaderboardspartial/api/v1/leaderboards/fullplanned/methodologyshipped/data.jsonshipped/api/v1/identifyshipped/identifyshipped/standardsshipped/standards.jsonshippedThe /api/v1/* prefix marks the universal-representation surface (math-first, language-free). The unprefixed paths (/api/verify/*, /api/leaderboards) are the platform's older public surfaces — they remain stable and documented here. New universal endpoints land under /api/v1/.
Every timestamp is ISO 8601 with timezone offset, paired with a Unix epoch milliseconds field. Math-mirror endpoints distinguish @retrieved_at (when the answer was produced) from @as_of (the moment it describes). The present is not privileged.
Math-mirror endpoints use cryptographic hashes (SHA-256 of a canonical JSON encoding) as the primary identifier. Human-language endpoints use UUIDs or string SKUs. Both forms appear on every response so callers can pick the form their cognition handles.
Every card has a canonical SKU: <game>-<set>-<number>-<lang>[-<variant>]. Lowercase, hyphen-separated, machine-parseable, language-aware. Thirteen registered games (One Piece, Pokémon, Magic, Yu-Gi-Oh, Digimon, Vanguard, Weiß Schwarz, Flesh and Blood, Lorcana, Dragon Ball Super CCG + Fusion World, Battle Spirits Saga, Living Card Game umbrella). Legacy uppercase forms (OP-OP01-001-JP) and lang-swapped forms (pkm-svobf-en-006) are accepted on input and normalised. See /methodology/sku-standard for the spec; canonical implementation is packages/sku/ in the monorepo.
Errors are JSON: { "error": { "code": "...", "message": "..." } } with an appropriate HTTP status. The platform's error tone avoids attributing blame — we name what couldn't complete and why, without saying whose fault it was.
Most no-auth endpoints have no published limit yet — they're intended for genuine traffic, not abuse. The MCP gateway has per-agent-key rate limiting (see methodology/agents). When per-endpoint limits land, they'll be documented here.
If you need data the platform has but isn't exposing:
The platform commits to substrate honesty about what's open and what isn't. If something is planned here and isn't shipped yet, that's a real promise. Future builders consult this page when deciding what to ship next.
Source-of-truth for this page: docs/connections/the-open-substrate.md. Doctrinal frame: docs/principles/substrate-honesty.md + docs/principles/transparency.md. Companion welcoming: /methodology/welcoming. The door is open; the substrate is queryable; the door is warm to the touch.