Konami · since 1999
Yu-Gi-Oh! Trading Card Game API
ATK, DEF, level, rank, link rating, pendulum scale, attribute and archetype, plus synchronised TCG, OCG and Master Duel banlists.
- 13,720
- Cards
- 34,100
- Printings
- 604
- Sets
- 9
- Languages
Overview
What the Yu-Gi-Oh! dataset covers
Yu-Gi-Oh! remains one of the Big Three and is resurgent in 2026. TCGGraph structures the full card pool — Normal, Effect, Ritual, Fusion, Synchro, Xyz, Pendulum and Link monsters plus Spells and Traps — with ATK, DEF, level, rank, link rating and markers, pendulum scales, attributes, monster types and archetype membership, alongside continuously updated TCG, OCG, Master Duel and Speed Duel Forbidden & Limited lists.
Sourced from YGOPRODeck, Konami card database and TCGplayer.
Formats
- Advanced
- Traditional
- OCG
- Master Duel
- Speed Duel
- GOAT
Price sources
- TCGplayer
- Cardmarket
- eBay sold
curl -G "https://api.tcggraph.com/v1/cards" \
-d game=yugioh \
-d limit=5 \
-H "Authorization: Bearer $TCGGRAPH_KEY"{
cards(
game: YUGIOH
filter: { attribute: LIGHT, atk: { gte: 3000 } }
) {
nodes {
name
yugioh { atk def level race banlist { tcg } }
}
}
}Schema
Yu-Gi-Oh!-specific fields
Every card carries the shared core fields. These live under gameData in REST, and under the typed yugioh field in GraphQL.
| Field | Type | Description |
|---|---|---|
| frameType | Enum | normal, effect, ritual, fusion, synchro, xyz, link, pendulum, spell or trap. |
| attribute | Enum | DARK, LIGHT, EARTH, WATER, FIRE, WIND or DIVINE. |
| race | String | Monster type, or spell and trap sub-category. |
| atk | Int | Attack points. -1 represents ?. |
| def | Int | Defense points. Null for Link monsters. |
| level | Int | Level or Rank. |
| linkRating | Int | Link rating for Link monsters. |
| linkMarkers | [String] | Arrow directions. |
| pendulumScale | Int | Blue and red pendulum scale value. |
| archetypes | [String] | Archetype membership. |
| banlist | Object | Status per format: unlimited, semi_limited, limited or forbidden. |
Plus 21 core fields shared by every game — see the full reference.
Live data
Yu-Gi-Oh! cards in the public dataset
Real records returned by the API right now, sorted by market value, with both the American and the European quote.
| Card | Set | Number | Rarity | TCGplayer | Cardmarket |
|---|---|---|---|---|---|
| Exodia the Forbidden One | 25th Anniversary Tin: Dueling Heroes | TN23-EN002 | Quarter Century Secret Rare | $2.34 | €2.00 |
| Black Luster Soldier | Duel Terminal 7a | DT07-EN030 | Duel Terminal Rare Parallel Rare | $1.09 | €1.10 |
| Obelisk the Tormentor | 2016 Mega-Tins | CT13-EN002 | Secret Rare | $0.61 | €0.61 |
| Castle of Dark Illusions | Metal Raiders | MRD-073 | Common | $0.46 | €0.37 |
| Stardust Dragon | Collectible Tins 2008 Wave 1 | CT05-EN001 | Secret Rare | $0.43 | €0.45 |
| Dark Magician | 2016 Mega-Tins | CT13-EN003 | Ultra Rare | $0.33 | €0.30 |
| Royal Magical Library | Dark Revelation Volume 1 | DR1-EN129 | Common | $0.32 | €0.25 |
| Red-Eyes Black Dragon | 25th Anniversary Tin: Dueling Mirrors | MP24-EN054 | Prismatic Secret Rare | $0.21 | €0.19 |
The European market for Yu-Gi-Oh!
Konami prints separate European editions with their own set codes, and the 1st Edition versus Unlimited split does not map onto the American one. European cards also carry an eye-of-Anubis holofoil rather than the American square, which is why matching by name alone produces the wrong price.
Traded on Cardmarket in German, French, Italian, Spanish, Portuguese beyond English. How European pricing works.
Sets
Notable Yu-Gi-Oh! sets
LOB
Legend of Blue Eyes White Dragon
126 cards · 2002-03-08
RA04
Quarter Century Bonanza
300 cards · 2025-05-15
BUPR
Burst Protocol
100 cards · 2026-01-16
RA05
Rarity Collection V
300 cards · 2026-04-10
Modelling
Working with Yu-Gi-Oh! data
The decisions that catch people out when they first integrate Yu-Gi-Oh!. Each of these is a bug we have watched somebody ship.
The passcode is the real identifier
The eight-digit passcode printed in the bottom corner is stable across every reprint and every region, which makes it the only sane key for a deck list. Card names change between OCG and TCG and occasionally get errata'd outright; the passcode does not move.
Monster subtypes change which fields exist
Link monsters have link rating and arrows but no defence. Xyz monsters have rank instead of level. Pendulum monsters carry two scale values and a second text box. Reading level on a Link monster returns null, not zero, and treating that as a zero will quietly corrupt any curve calculation.
Two banlists, on different schedules
The TCG and OCG forbidden and limited lists are maintained separately and updated at different times, so a card can be legal at three copies in one region and forbidden in the other. Query legality with a region, and never assume one list applies globally.
Reprints are relentless
A popular staple can have forty printings across structure decks, tins and side sets, with a two-hundred-fold price spread between the first printing and the latest common. Group by passcode for gameplay, and keep the printings separate for anything touching money.
Recipes
Common Yu-Gi-Oh! queries
Three requests that cover most of what applications in this game actually ask for.
Deck-legal staples by passcode
Deck importers receive passcodes from YDK files and need the current card data.
Batch lookups cost 1 credit per card, and a single call avoids the round trips.
GET /v1/cards
?game=yugioh
&passcode=14558127,23434538,10045474
®ion=tcgHigh-attack LIGHT monsters that are still legal
Combine a stat threshold, an attribute and the current banlist in one query.
banlistStatus resolves against the live list, so it stays correct after each update.
GET /v1/cards
?game=yugioh
&attribute=LIGHT
&minAtk=3000
&banlistStatus=unlimited,semi-limited
®ion=tcgEvery printing of one card, cheapest first
Singles buyers want the least expensive copy, not the most famous one.
Passcode returns every printing; the sort surfaces the budget option first.
GET /v1/cards
?game=yugioh
&passcode=89631139
&include=prices,set
&sort=prices.market:ascGlossary
Yu-Gi-Oh! terms, and the fields that hold them
What players call a thing on the left, what you query on the right.
| Term | Field | Notes |
|---|---|---|
| Passcode | yugioh.passcode | Eight-digit code, stable across reprints and regions. The identifier to key on. |
| Level / Rank | yugioh.level | Rank is returned in the same field for Xyz monsters; check monsterType. |
| Link rating | yugioh.linkRating | Link monsters only. Arrows are a separate array of eight compass directions. |
| Pendulum scale | yugioh.scale | Present only on Pendulum monsters. Left and right scales are always equal. |
| Attribute | yugioh.attribute | DARK, LIGHT, EARTH, WATER, FIRE, WIND or DIVINE. |
| Archetype | yugioh.archetype | Official archetype membership, which is not always inferable from the name. |
| Banlist status | legalities.tcg | forbidden, limited, semi-limited or unlimited, per region. |
FAQ
Yu-Gi-Oh! API questions
Anything not covered here, email hello@tcggraph.com and a human who knows Yu-Gi-Oh! answers.
Also available
Add another game without another integration
Your Yu-Gi-Oh! key already works for every other game in the catalog. Change the YUGIOH enum and the rest of your code stays as it is.