Advanced Syntax Random YGOPRODeck

Yu-Gi-Oh! API Guide - YGOPRODECK

Yu-Gi-Oh! API by YGOPRODeck

This is version 6 of the API. Please see here for the latest version.

This is currently the latest API version (v6).

NOTE ON IMAGES: Do not download images directly from this site. Doing so will result in an IP blacklist. Please read this guide on where to download images.

Upgrade Note: Please read through the documentation before upgrading to v6. The back-end has been completely overhauled and optimized. In theory, your code should continute to work by simply upgrading to v6 but I encourage running tests first.

Older Versions

API Changelog v6.0.1 (last update 16th February 2020):

  • Added "staple" as a parameter.
  • Added "tcg_date" and "ocg_date" as a misc response. See misc response info.
  • Added "treated_as" as a misc response. See misc response info.
  • Fixed an issue where the Random Card endpoint was returning an incorrect syntax for card prices.
  • Correct JSON response with correct response codes.
  • Optimized code massively. Line count reduced by roughly 50%.
  • Format data shown in response.
  • Numbers now correctly returned as INT instead of STRING (id, atk, def ,level, etc etc).
  • Added misc_info optional response info
  • French Language removed but maintained in older versions.
  • Added API Showcase

Our Yu-Gi-Oh! API is now available for public consumption. Below are the details on how to use the API and what kind of response is to be expected from the API.

Please download and store all data pulled from this API locally to keep the amount of API calls used to a minimum. Failure to do so may result in either your IP address being blacklisted or the API being rolled back.

Rate Limiting on the API is enabled. The rate limit is 20 requests per 1 second. If you exceed this, you are blocked from accessing the API for 1 hour. We will monitor this rate limit for now and adjust accordingly.

Our API responses are cached on our side. The cache timings will be given below. These are subject to change.


While our API is and always will be completely free to use, please consider white-listing YGOPRODeck.com on your adblocker.

Get Card Information

The Card Information endpoint is available at https://db.ygoprodeck.com/api/v6/cardinfo.php

This is the only endpoint that is now needed. You can pass multiple paramters to this endpoint to filter the information retrieved.

The following endpoint parameters can be passed:

  • name - The exact name of the card.
  • fname - A fuzzy search using a string. For example &fname=Magician to search by all cards with "Magician" in the name.
  • id - The ID of the card. You cannot pass this alongside name.
  • type - The type of card you want to filter by. See below "Card Types Returned" to see all available types.
  • atk - Filter by atk value.
  • def - Filter by def value.
  • level - Filter by card level/RANK.
  • race - Filter by the card race which is officially called type (Spellcaster, Warrior, Insect, etc). This is also used for Spell/Trap cards (see below).
  • attribute - Filter by the card attribute.
  • link - Filter the cards by Link value.
  • linkmarker - Filter the cards by Link Marker value (Top, Bottom, Left, Right, Bottom-Left, Bottom-Right, Top-Left, Top-Right). You can pass multiple comma separated values to this parameter (see examples below).
  • scale - Filter the cards by Pendulum Scale value.
  • set - Filter the cards by card set (Metal Raiders, Soul Fusion, etc).
  • archetype - Filter the cards by archetype (Dark Magician, Prank-Kids, Blue-Eyes, etc).
  • banlist - Filter the cards by banlist (TCG, OCG, Goat).
  • sort - Sort the order of the cards (atk, def, name, type, level, id, new).
  • format - Sort the format of the cards (goat, ocg goat, speed duel, rush duel, duel links). Note: Duel Links is not 100% accurate but is close.
  • misc - Show additional response info (Card Views, Beta Name, etc.).
  • staple - Check if card is a staple.

You can also use the following equation symbols for atk, def and level:
"lt" (less than), "lte" (less than equals to), "gt" (greater than), "gte" (greater than equals to).

Examples: atk=lt2500 (atk is less than 2500), def=gte2000 (def is greater than or equal to 2000) and level=lte8 (level is less than or equal to 8).

The specific results from this endpoint are cached for 2 days (172800 seconds) but will be manually cleared upon new card entry.

Response Information:

Monster Cards

  • id - ID or Passocde of the card.
  • name - Name of the card.
  • type* - The type of card you are viewing (Normal Monster, Effect Monster, Synchro Monster, etc).
  • desc - Card description/effect.
  • atk - The ATK value of the card.
  • def - The DEF value of the card.
  • level - The Level/RANK of the card.
  • race - The card race which is officially called type (Spellcaster, Warrior, Insect, etc).
  • attribute - The attribute of the card.

Spell/Trap Cards

  • id - ID or Passocde of the card.
  • name - Name of the card.
  • type* - The type of card you are viewing (Spell Card or Trap Card).
  • desc - Card description/effect.
  • race - The card race which is officially called type for Spell/Trap Cards (Field, Equip, Counter, etc).

Card Archetype

  • archetype - The Archetype that the card belongs to. We take feedback on Archetypes here.

Additional Response for Pendulum Monsters

  • scale - The Pendulum Scale Value.

Additional Response for Link Monsters

  • linkval - The Link Value of the card if it's of type "Link Monster".
  • linkmarkers - The Link Markers of the card if it's of type "Link Monster". This information is returned as an array.

Card Sets

  • A Card Sets array is now returned as of v5. card_sets
  • The array holds each set the card is found in. Each set contains the following info: set_name, set_code, set_rarity, set_price.
  • set_price is the $ value.

Card Images

  • A Card Images array is now returned as of v5. card_images
  • The array holds each image/alt artwork image along with the Card ID. Each set contains the following info: id, image_url, image_url_small.
  • Take this example: https://db.ygoprodeck.com/api/v6/cardinfo.php?name=Decode%20Talker
  • It contains two sets of Card IDs/Images within the card_images array. This is for the default artwork and the additional alternative artwork.

Card Prices

  • A Card Prices array is now returned as of v5. card_prices
  • The array holds card prices from multiple vendors. This is the lowest price found across multiple versions of that card.
  • cardmarket_price - The price of the card from Cardmarket (in €).
  • coolstuffinc_price - The price of the card from CoolStuffInc (in $).
  • tcgplayer_price - The price of the card from Tcgplayer (in $).
  • ebay_price - The price of the card from eBay (in $).
  • amazon_price - The price of the card from Amazon (in $).

Banlist Info

  • A Banlist Info array is now returned as of v5. banlist_info
  • The array holds banlist information for that card.
  • ban_tcg - The status of the card on the TCG Ban List.
  • ban_ocg - The status of the card on the OCG Ban List.
  • ban_goat - The status of the card on the GOAT Format Ban List.

Misc Information Returned:

  • beta_name - The Old/Temporary/Translated name the card had.
  • views - The number of times a card has been viewed in our database (does not include API/external views).
  • formats - The available formats the card is in (tcg, ocg, goat, ocg goat, duel links, rush duel or speed duel).
  • treated_as - If the card is treated as another card. For example, Harpie Lady 1,2,3 are treated as Harpie Lady.
  • tcg_date - The original date the card was released in the TCG.
  • ocg_date - The original date the card was released in the OCG.

If a piece of response info is empty or null then it will NOT show up. For example, Link Monsters have no DEF, Level or Scale value so those values will not be returned.

[
	{
		id: 6983839,
		name: "Tornado Dragon",
		type: "XYZ Monster",
		desc: "2 Level 4 monsters Once per turn, during either player's turn: You can detach 1 Xyz Material from this card, then target 1 Spell/Trap Card on the field; destroy it.",
		atk: 2100,
		def: 2000,
		level: 4,
		race: "Wyrm",
		attribute: "WIND",
		card_sets: [
			{
				set_name: "Battles of Legend: Relentless Revenge",
				set_code: "BLRR-EN084",
				set_rarity: "Secret Rare",
				set_price: "$3.72"
			},
			{
				set_name: "Duel Devastator",
				set_code: "DUDE-EN019",
				set_rarity: "Ultra Rare",
				set_price: "$1.2"
			},
			{
				set_name: "Maximum Crisis",
				set_code: "MACR-EN081",
				set_rarity: "Secret Rare",
				set_price: "$3.76"
			}
		],
		card_images: [
		{
			id: 6983839,
			image_url: "https://storage.googleapis.com/ygoprodeck.com/pics/6983839.jpg",
			image_url_small: "https://storage.googleapis.com/ygoprodeck.com/pics_small/6983839.jpg"
		}
		],
		card_prices: [
			{
			cardmarket_price: "€0.37",
			tcgplayer_price: "$0.23",
			ebay_price: "$1.50",
			amazon_price: "$0.29"
			}
		]
	}
]
Tornado Dragon API response
https://db.ygoprodeck.com/api/v6/cardinfo.php?name=Tornado%20Dragon

Example Usage

The following is a list of examples you can do using the possible endpoint parameters shown above.

    Get all cards

  • https://db.ygoprodeck.com/api/v6/cardinfo.php
  • Get "Dark Magician" card information

  • https://db.ygoprodeck.com/api/v6/cardinfo.php?name=Dark Magician
  • Get all cards belonging to "Blue-Eyes" archetype

  • https://db.ygoprodeck.com/api/v6/cardinfo.php?archetype=Blue-Eyes
  • Get all Level 4/RANK 4 Water cards and order by atk

  • https://db.ygoprodeck.com/api/v6/cardinfo.php?level=4&attribute=water&sort=atk
  • Get all cards on the TCG Banlist who are level 4 and order them by name (A-Z)

  • https://db.ygoprodeck.com/api/v6/cardinfo.php?banlist=tcg&level=4&sort=name
  • Get all Dark attribute monsters from the Metal Raiders set

  • https://db.ygoprodeck.com/api/v6/cardinfo.php?set=metal%20raiders&attribute=dark
  • Get all cards with "Wizard" in their name who are LIGHT attribute monsters with a race of Spellcaster

  • https://db.ygoprodeck.com/api/v6/cardinfo.php?fname=Wizard&attribute=light&race=spellcaster
  • Get all Spell Cards that are Equip Spell Cards

  • https://db.ygoprodeck.com/api/v6/cardinfo.php?type=spell%20card&race=equip
  • Get all Speed Duel Format Cards

  • https://db.ygoprodeck.com/api/v6/cardinfo.php?format=Speed Duel
  • Get all Water Link Monsters who have Link Markers of "Top" and "Right"

  • https://db.ygoprodeck.com/api/v6/cardinfo.php?attribute=water&type=Link%20Monster&linkmarker=top,bottom
  • Get Card Information while also using the misc parameter

  • https://db.ygoprodeck.com/api/v6/cardinfo.php?name=Tornado%20Dragon&misc=yes
  • https://db.ygoprodeck.com/api/v6/cardinfo.php?staple=yes
[ 
    {
        Set Name: "2-Player Starter Deck: Yuya & Declan",
        Set Code: "YS15",
        Number of Cards: "42"
    },
    {
        Set Name: "2013 Collectible Tins Wave 1",
        Set Code: "CT10",
        Number of Cards: "9"
    },
    {
        Set Name: "2013 Collectible Tins Wave 2",
        Set Code: "CT10",
        Number of Cards: "9"
    },
    {
        Set Name: "2014 Mega-Tin Mega Pack",
        Set Code: "MP14",
        Number of Cards: "246"
    },
    {
        Set Name: "2014 Mega-Tins",
        Set Code: "CT11",
        Number of Cards: "6"
    },
    {
        Set Name: "2015 Mega-Tin Mega Pack",
        Set Code: "MP15",
        Number of Cards: "247"
    },
    {
        Set Name: "2015 Mega-Tins",
        Set Code: "CT12",
        Number of Cards: "6"
    },
    {
        Set Name: "2016 Mega-Tin Mega Pack",
        Set Code: "MP16",
        Number of Cards: "239"
    },
    {
        Set Name: "2016 Mega-Tins",
        Set Code: "CT13",
        Number of Cards: "12"
    },
    {
        Set Name: "2017 Mega-Tin Mega Pack",
        Set Code: "MP17",
        Number of Cards: "239"
    },
    {
        Set Name: "2017 Mega-Tins",
        Set Code: "CT14",
        Number of Cards: "8"
    },
    {
        Set Name: "2018 Mega-Tin Mega Pack",
        Set Code: "MP18",
        Number of Cards: "233"
    },
    {
        Set Name: "2018 Mega-Tins",
        Set Code: "CT15",
        Number of Cards: "10"
    },
    {
        Set Name: "2019 Gold Sarcophagus Tin",
        Set Code: "CT16",
        Number of Cards: "15"
    },
    {
        Set Name: "2019 Gold Sarcophagus Tin Mega Pack",
        Set Code: "MP19",
        Number of Cards: "270"
    },
    {
        Set Name: "Absolute Powerforce",
        Set Code: "ABPF",
        Number of Cards: "99"
    },
    {
        Set Name: "Absolute Powerforce Sneak Peek Participation Card",
        Set Code: "ABPF",
        Number of Cards: "1"
    },
    {
        Set Name: "Absolute Powerforce: Special Edition",
        Set Code: "ABPF",
        Number of Cards: "2"
    },
    {
        Set Name: "Abyss Rising",
        Set Code: "ABYR",
        Number of Cards: "100"
    },
    {
        Set Name: "Abyss Rising Sneak Peek Participation Card",
        Set Code: "ABYR",
        Number of Cards: "1"
    },
    {
        Set Name: "Abyss Rising: Special Edition",
        Set Code: "ABYR",
        Number of Cards: "2"
    },
    {
        Set Name: "Advanced Demo Deck Extra Pack",
        Set Code: "DEM4",
        Number of Cards: "10"
    },
    {
        Set Name: "Ancient Prophecy",
        Set Code: "ANPR",
        Number of Cards: "98"
    },
    {
        Set Name: "Ancient Prophecy Sneak Peek Participation Card",
        Set Code: "ANPR",
        Number of Cards: "1"
    },
    {
        Set Name: "Ancient Prophecy: Special Edition",
        Set Code: "ANPR",
        Number of Cards: "2"
    },
    {
        Set Name: "Ancient Sanctuary",
        Set Code: "AST",
        Number of Cards: "112"
    },
    {
        Set Name: "Anniversary Pack",
        Set Code: "YAP1",
        Number of Cards: "8"
    },
    {
        Set Name: "Astral Pack Eight",
        Set Code: "AP08",
        Number of Cards: "27"
    },
    {
        Set Name: "Astral Pack Five",
        Set Code: "AP05",
        Number of Cards: "26"
    },
    {
        Set Name: "Astral Pack Four",
        Set Code: "AP04",
        Number of Cards: "26"
    },
    {
        Set Name: "Astral Pack One",
        Set Code: "AP01",
        Number of Cards: "25"
    },
    {
        Set Name: "Astral Pack Seven",
        Set Code: "AP07",
        Number of Cards: "27"
    },
    {
        Set Name: "Astral Pack Six",
        Set Code: "AP06",
        Number of Cards: "28"
    },
    {
        Set Name: "Astral Pack Three",
        Set Code: "AP03",
        Number of Cards: "26"
    },
    {
        Set Name: "Astral Pack Two",
        Set Code: "AP02",
        Number of Cards: "25"
    },
    {
        Set Name: "Battle Pack 2: War of the Giants",
        Set Code: "BP02",
        Number of Cards: "213"
    }
]
Portion of Card Sets API
https://db.ygoprodeck.com/api/v6/cardsets.php

Endpoint Information + Languages

Parameter "Race" values:

    Monster Cards

  • Aqua
  • Beast
  • Beast-Warrior
  • Creator-God
  • Cyberse
  • Dinosaur
  • Divine-Beast
  • Dragon
  • Fairy
  • Fiend
  • Fish
  • Insect
  • Machine
  • Plant
  • Psychic
  • Pyro
  • Reptile
  • Rock
  • Sea Serpent
  • Spellcaster
  • Thunder
  • Warrior
  • Winged Beast
  • Spell Cards

  • Normal
  • Field
  • Equip
  • Continuous
  • Quick-Play
  • Ritual
  • Trap Cards

  • Normal
  • Continuous
  • Counter

Parameter "Type" values:

    Main Deck Types

  • "Effect Monster"
  • "Flip Effect Monster"
  • "Flip Tuner Effect Monster"
  • "Gemini Monster"
  • "Normal Monster"
  • "Normal Tuner Monster"
  • "Pendulum Effect Monster"
  • "Pendulum Flip Effect Monster"
  • "Pendulum Normal Monster"
  • "Pendulum Tuner Effect Monster"
  • "Ritual Effect Monster"
  • "Ritual Monster"
  • "Skill Card"
  • "Spell Card"
  • "Spirit Monster"
  • "Toon Monster"
  • "Trap Card"
  • "Tuner Monster"
  • "Union Effect Monster"
  • Extra Deck Types

  • "Fusion Monster"
  • "Link Monster"
  • "Pendulum Effect Fusion Monster"
  • "Synchro Monster"
  • "Synchro Pendulum Effect Monster"
  • "Synchro Tuner Monster"
  • "XYZ Monster"
  • "XYZ Pendulum Effect Monster"
[{
	"id": 23771716,
	"name": "7 Colored Fish",
	"type": "Normal Monster",
	"desc": "A rare rainbow fish that has never been caught by mortal man.",
	"atk": 1800,
	"def": 800,
	"level": 4,
	"race": "Fish",
	"attribute": "WATER",
	"card_sets": [{
		"set_name": "Gold Series",
		"set_code": "GLD1-EN001",
		"set_rarity": "Common",
		"set_price": "$0.7"
	}, {
		"set_name": "Metal Raiders",
		"set_code": "MRD-098",
		"set_rarity": "Common",
		"set_price": "$1.05"
	}, {
		"set_name": "Metal Raiders",
		"set_code": "MRD-E098",
		"set_rarity": "Common",
		"set_price": "$6.21"
	}, {
		"set_name": "Metal Raiders",
		"set_code": "MRD-EN098",
		"set_rarity": "Common",
		"set_price": "$2.95"
	}, {
		"set_name": "Starter Deck: Joey",
		"set_code": "SDJ-008",
		"set_rarity": "Common",
		"set_price": "$1.05"
	}, {
		"set_name": "Structure Deck: Fury from the Deep",
		"set_code": "SD4-EN002",
		"set_rarity": "Common",
		"set_price": "$1.08"
	}],
	"card_images": [{
		"id": 23771716,
		"image_url": "https://storage.googleapis.com/ygoprodeck.com/pics/23771716.jpg",
		"image_url_small": "https://storage.googleapis.com/ygoprodeck.com/pics_small/23771716.jpg"
	}],
	"card_prices": [{
		"cardmarket_price": "\u20ac0.10",
		"tcgplayer_price": "$0.25",
		"ebay_price": "$1.75",
		"amazon_price": "$0.05"
	}]
}, {
	"id": 42431843,
	"name": "Ancient Brain",
	"type": "Normal Monster",
	"desc": "A fallen fairy that is powerful in the dark.",
	"atk": 1000,
	"def": 700,
	"level": 3,
	"race": "Fiend",
	"attribute": "DARK",
	"card_sets": [{
		"set_name": "Metal Raiders",
		"set_code": "MRD-082",
		"set_rarity": "Common",
		"set_price": "$1.06"
	}, {
		"set_name": "Metal Raiders",
		"set_code": "MRD-E082",
		"set_rarity": "Common",
		"set_price": "$17.7"
	}, {
		"set_name": "Metal Raiders",
		"set_code": "MRD-EN082",
		"set_rarity": "Common",
		"set_price": "$2.95"
	}, {
		"set_name": "Speed Duel: Trials of the Kingdom",
		"set_code": "SBTK-EN004",
		"set_rarity": "Common",
		"set_price": "$0.95"
	}],
	"card_images": [{
		"id": 42431843,
		"image_url": "https://storage.googleapis.com/ygoprodeck.com/pics/42431843.jpg",
		"image_url_small": "https://storage.googleapis.com/ygoprodeck.com/pics_small/42431843.jpg"
	}],
	"card_prices": [{
		"cardmarket_price": "\u20ac0.05",
		"tcgplayer_price": "$0.14",
		"ebay_price": "$2.95",
		"amazon_price": "$0.01"
	}]
}, {
	"id": 93221206,
	"name": "Ancient Elf",
	"type": "Normal Monster",
	"desc": "This elf is rumored to have lived for thousands of years. He leads an army of spirits against his enemies.",
	"atk": 1450,
	"def": 1200,
	"level": 4,
	"race": "Spellcaster",
	"attribute": "LIGHT",
	"card_sets": [{
		"set_name": "Metal Raiders",
		"set_code": "MRD-037",
		"set_rarity": "Common",
		"set_price": "$1.09"
	}, {
		"set_name": "Metal Raiders",
		"set_code": "MRD-E037",
		"set_rarity": "Common",
		"set_price": "$7.32"
	}, {
		"set_name": "Metal Raiders",
		"set_code": "MRD-EN037",
		"set_rarity": "Common",
		"set_price": "$0.00"
	}, {
		"set_name": "Starter Deck: Yugi",
		"set_code": "SDY-024",
		"set_rarity": "Common",
		"set_price": "$1.06"
	}, {
		"set_name": "Starter Deck: Yugi",
		"set_code": "SDY-E022",
		"set_rarity": "Common",
		"set_price": "$16.67"
	}],
	"card_images": [{
		"id": 93221206,
		"image_url": "https://storage.googleapis.com/ygoprodeck.com/pics/93221206.jpg",
		"image_url_small": "https://storage.googleapis.com/ygoprodeck.com/pics_small/93221206.jpg"
	}],
	"card_prices": [{
		"cardmarket_price": "\u20ac0.11",
		"tcgplayer_price": "$0.20",
		"ebay_price": "$0.99",
		"amazon_price": "$0.05"
	}]
}, {
	"id": 43230671,
	"name": "Ancient Lizard Warrior",
	"type": "Normal Monster",
	"desc": "Before the dawn of man, this lizard warrior ruled supreme.",
	"atk": 1400,
	"def": 1100,
	"level": 4,
	"race": "Reptile",
	"attribute": "EARTH",
	"card_sets": [{
		"set_name": "Metal Raiders",
		"set_code": "MRD-050",
		"set_rarity": "Common",
		"set_price": "$1.02"
	}, {
		"set_name": "Metal Raiders",
		"set_code": "MRD-E050",
		"set_rarity": "Common",
		"set_price": "$7.08"
	}, {
		"set_name": "Metal Raiders",
		"set_code": "MRD-EN050",
		"set_rarity": "Common",
		"set_price": "$2.1"
	}],
	"card_images": [{
		"id": 43230671,
		"image_url": "https://storage.googleapis.com/ygoprodeck.com/pics/43230671.jpg",
		"image_url_small": "https://storage.googleapis.com/ygoprodeck.com/pics_small/43230671.jpg"
	}],
	"card_prices": [{
		"cardmarket_price": "\u20ac0.18",
		"tcgplayer_price": "$0.14",
		"ebay_price": "$0.99",
		"amazon_price": "$0.01"
	}]
}, {
	"id": 15480588,
	"name": "Armored Lizard",
	"type": "Normal Monster",
	"desc": "A lizard with a very tough hide and a vicious bite.",
	"atk": 1500,
	"def": 1200,
	"level": 4,
	"race": "Reptile",
	"attribute": "EARTH",
	"card_sets": [{
		"set_name": "Dark Beginning 1",
		"set_code": "DB1-EN143",
		"set_rarity": "Common",
		"set_price": "$1.04"
	}, {
		"set_name": "Metal Raiders",
		"set_code": "MRD-005",
		"set_rarity": "Common",
		"set_price": "$1.04"
	}, {
		"set_name": "Metal Raiders",
		"set_code": "MRD-E005",
		"set_rarity": "Common",
		"set_price": "$4.87"
	}, {
		"set_name": "Metal Raiders",
		"set_code": "MRD-EN005",
		"set_rarity": "Common",
		"set_price": "$2.95"
	}, {
		"set_name": "Starter Deck: Joey",
		"set_code": "SDJ-009",
		"set_rarity": "Common",
		"set_price": "$1.06"
	}],
	"card_images": [{
		"id": 15480588,
		"image_url": "https://storage.googleapis.com/ygoprodeck.com/pics/15480588.jpg",
		"image_url_small": "https://storage.googleapis.com/ygoprodeck.com/pics_small/15480588.jpg"
	}],
	"card_prices": [{
		"cardmarket_price": "\u20ac0.02",
		"tcgplayer_price": "$0.13",
		"ebay_price": "$0.99",
		"amazon_price": "$0.01"
	}]
}]
Limited number of Metal Raiders API response
https://db.ygoprodeck.com/api/v6/cardinfo.php?set=metal%20raiders&num=5

Card Images

Users who pull our card images directly from our server instead of our google cloud repository will be immediately blacklisted.

Card images can be pulled from our Google Cloud server but please only pull an image once and then store it locally. If we find you are pulling a very high volume of images per second then your IP will be blacklisted and blocked.

Our card images are in .jpg format and are web optimized.

All of our cloud URLs will either be https://storage.googleapis.com/ygoprodeck.com/pics/ or https://storage.googleapis.com/ygoprodeck.com/pics_small/. You pass the ID of the card to retrieve the image.

Example Limit Reverse Card Image: https://storage.googleapis.com/ygoprodeck.com/pics/27551.jpg

The image URLs are found within the JSON response as both image_url and image_url_small and are within the card_images array.

Alternative artwork (if available) will also be listed within the card_images array.

Since v3: Card images are now properly returned without slashes being incorrectly escaped as it was with v2.


Card Images


Random Card

The Random Card endpoint can be found at https://db.ygoprodeck.com/api/v6/randomcard.php.

This follows the same rate limiting procedures as the card lookup endpoint.

Cache Control is disabled for this endpoint so it should always provide a fresh card.

If any GET parameters are found in the call, then it will return an error.

All Card Sets

The Card Sets endpoint can be found at https://db.ygoprodeck.com/api/v6/cardsets.php.

This follows the same rate limiting procedures as the card lookup endpoint.

This simply returns all of the current Yu-Gi-Oh! Card Set Names we have stored in the database.

This contains the following response info: Set Name, Set Code, Number of Cards and TCG Date (Release Date).

Use this to get a quick snapshot of all the Yu-Gi-Oh! Card Sets sorted by A-Z.

If any GET parameters are found in the call, then it will return an error.

Card Set Information

The Card Sets Information endpoint can be found at https://db.ygoprodeck.com/api/v6/cardsetsinfo.php.

This requires a parameter of "setcode".

Example usage: https://db.ygoprodeck.com/api/v6/cardsetsinfo.php?setcode=SDY-046

This follows the same rate limiting procedures as the card lookup endpoint.

This returns the following information: id, name, set_name, set_code, set_rarity and set_price (in $).

If no (or invalid) GET parameters are found in the call, then it will return an error.

All Card Archetypes

The Card Archetypes endpoint can be found at https://db.ygoprodeck.com/api/v6/archetypes.php.

This follows the same rate limiting procedures as the card lookup endpoint.

This simply returns all of the current Yu-Gi-Oh! Card Archetype Names we have stored in the database.

Use this to get a quick snapshot of all the Yu-Gi-Oh! Card Archtypes sorted by A-Z.

If any GET parameters are found in the call, then it will return an error.

Error Checking

The main features of v3 is more thorough error checking.

All error codes now return a correct 400 response header.

Almost every parameter will now return an error code if an invalid value is passed to it (as opposed to ignoring it and returning all cards like in previous versions). The user will also be prompted on all the correct possible values to pass so they aren't left guessing.

Here is an example of an invalid value sent through the attribute parameter: https://db.ygoprodeck.com/api/v6/cardinfo.php?type=Effect%20Monster&attribute=wood&num=2

The response returned: {"error":"Attribute value of wood is invalid. Please use a correct attribute value. Attribute accepts 'dark', 'earth', 'fire', 'light', 'water', 'wind' or 'divine' and is not case sensitive."}

The only way to return all cards now is by having 0 parameters in the request: https://db.ygoprodeck.com/api/v6/cardinfo.php. If invalid parameters are sent, an error will also be returned.

This should save users bandwidth on receiving large requests when requesting malformed urls.

{
    error: "Attribute value of wood is invalid. Please use a correct attribute value. Attribute accepts 'dark', 'earth', 'fire', 'light', 'water', 'wind' or 'divine' and is not case sensitive."
}
Invalid Value passed to API (Wood)
https://db.ygoprodeck.com/api/v6/cardinfo.php?type=Effect%20Monster&attribute=wood&num=2

API Showcase

The following is a list of sites/services that make use of our API and have allowed us to showcase them. Check them out!

Duel Links Meta

Duel Links Meta


Yugiohdeck

Yugiohdeck

Yu-Gi-Oh! Tracker

Yu-Gi-Oh! Tracker

YGOPRODeck Discord Bot

YGOPRODeck Discord Bot