Introduction
TCGGraph is one API for every trading card game. The same request shape, the same auth and the same rate limit whether you are querying Pokémon, Magic or One Piece.
The shape of the API
Every card in every game shares a set of core fields — identity, set, collector number, rarity, artist, rules text, images, prices and format legality. Anything that only makes sense in one game lives under gameData, a typed payload whose shape is declared per game.
That means a Pokémon card exposes hp and attacks, a Magic card exposes manaCost and oracleText, and a Lorcana card exposes lore and willpower — without any of them being flattened into a soup of nullable columns.
REST or GraphQL
REST is the primary interface. It is the fastest thing to reach for, it works from a shell script, and it covers every capability the API has. Start there.
GraphQL is available for the case REST handles poorly: fetching several related resources, or several games, in a single round trip while selecting only the fields you need. Both interfaces read the same data through the same cache, so you can mix them freely.
Your first call
Free keys work immediately and need no approval. Every endpoint is available on every plan; plans differ in credits and rate limit, not in features.
curl "https://api.tcggraph.com/v1/cards?game=pokemon&name=charizard&limit=3" \
-H "Authorization: Bearer $TCGGRAPH_KEY"Supported games
8 games are live today. Each has its own reference page listing the fields available under gameData.
- Pokémon Trading Card Game
- Magic: The Gathering
- One Piece Card Game
- Yu-Gi-Oh! Trading Card Game
- Disney Lorcana
- Star Wars: Unlimited
- Digimon Card Game
- Grand Archive
Where to go next
- QuickstartYour first authenticated request in under a minute.
- AuthenticationAPI keys, headers, scopes and key rotation.
- RESTEndpoints, filters, pagination and response shape.
- GraphQLSchema, connections and the typed game namespaces.
- PricesCardmarket in EUR, TCGplayer in USD, and how to pick.
- ErrorsStatus codes, error bodies and how to handle them.
- Rate limits & creditsHow credits are counted and what happens at the cap.
- ClientsCall it with any HTTP client, or generate a typed one.
- WebhooksSigned events for sets, prices and legality changes.