TCGdex API
A Multilanguage Pokémon TCG Database with Cards Pictures and most of the informations contained on the cards
COMMUNITYNO AUTH0 INSTALLS
OpenAPI Specificationv3.0
{
"openapi": "3.0.3",
"servers": [
{
"url": "https://api.tcgdex.net/v2/{lang}",
"variables": {
"lang": {
"default": "en",
"enum": [
"en",
"fr",
"es",
"it",
"pt"
]
}
}
}
],
"info": {
"contact": {
"email": "contact@tcgdex.net",
"name": "TCGdex",
"url": "https://github.com/tcgdex/cards-database"
},
"description": "A Multilanguage Pokémon TCG Database with Cards Pictures and most of the informations contained on the cards.\nYou can find out more about TCGdex at [https://www.tcgdex.net](https://www.tcgdex.net) or on [Discord](https://discord.gg/NehYTAhsZE).",
"license": {
"name": "MIT License",
"url": "https://github.com/tcgdex/cards-database/blob/master/LICENSE"
},
"title": "TCGdex API",
"version": "2.0.0",
"x-logo": {
"url": "https://api.apis.guru/v2/cache/logo/https_tcgdex.net_apple-touch-icon.png"
},
"x-origin": [
{
"format": "openapi",
"url": "https://api.tcgdex.net/v2/openapi.yaml",
"version": "3.0"
}
],
"x-providerName": "tcgdex.net"
},
"externalDocs": {
"description": "Find out more about TCGdex",
"url": "http://www.tcgdex.net/docs"
},
"tags": [
{
"description": "Fetch cards globally",
"name": "cards"
},
{
"description": "differents requests to filter cards",
"name": "filters"
}
],
"paths": {
"/cards": {
"get": {
"description": "desc",
"operationId": "cards",
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/CardResume"
},
"type": "array"
}
}
},
"description": ""
}
},
"summary": "fetch the list of cards",
"tags": [
"cards"
]
}
},
"/cards/{cardId}": {
"get": {
"description": "Find a defined card thatusing its global id",
"operationId": "findPetsByTags",
"parameters": [
{
"description": "Tags to filter by",
"in": "path",
"name": "cardId",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Card"
}
}
},
"description": "successful operation"
},
"404": {
"description": "The Card doesn't exist"
}
},
"summary": "Finds Card by Global ID",
"tags": [
"cards"
]
}
},
"/categories": {
"get": {
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"type": "string"
},
"type": "array"
}
}
},
"description": "List cards categories"
}
},
"tags": [
"filters"
]
}
},
"/categories/{category}": {
"get": {
"parameters": [
{
"in": "path",
"name": "category",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StringEndpoint"
}
}
},
"description": "List cards with the category"
},
"404": {
"description": "The Category doesn't exist"
}
},
"tags": [
"filters"
]
}
},
"/dex-ids": {
"get": {
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"type": "string"
},
"type": "array"
}
}
},
"description": "List all possible Pokemon(s) Pokédex Ids that appeared in the TCG"
}
},
"tags": [
"filters"
]
}
},
"/dex-ids/{dexId}": {
"get": {
"parameters": [
{
"in": "path",
"name": "dexId",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/CardResume"
},
"type": "array"
}
}
},
"description": "Get the cards containing the specified dexId"
},
"404": {
"description": "no cards contain the specified dexID"
}
},
"tags": [
"filters"
]
}
},
"/energy-types": {
"get": {
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"type": "string"
},
"type": "array"
}
}
},
"description": "list the different Energy types an Energy card can have"
}
},
"tags": [
"filters"
]
}
},
"/energy-types/{energy-type}": {
"get": {
"parameters": [
{
"in": "path",
"name": "energy-type",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/CardResume"
},
"type": "array"
}
}
},
"description": "Get the Energy cards containing the specified energy-type"
},
"404": {
"description": "The specified energy-type doesn't exist"
}
},
"tags": [
"filters"
]
}
},
"/hp": {
"get": {
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"type": "string"
},
"type": "array"
}
}
},
"description": "List all different possibilities number of HP a card can have"
}
},
"tags": [
"filters"
]
}
},
"/hp/{hp}": {
"get": {
"parameters": [
{
"in": "path",
"name": "hp",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StringEndpoint"
}
}
},
"description": "Get the Pokémon cards containing specified number of HP"
},
"404": {
"description": "The HP count doesn't exist"
}
},
"tags": [
"filters"
]
}
},
"/illustrators": {
"get": {
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"type": "string"
},
"type": "array"
}
}
},
"description": "Get all the Pokémon cards illustrators"
}
},
"tags": [
"filters"
]
}
},
"/illustrators/{illustrator}": {
"get": {
"parameters": [
{
"in": "path",
"name": "illustrator",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StringEndpoint"
}
}
},
"description": "Get the cards containing the specified illustrator"
},
"404": {
"description": "The Illustrator doesn't exist"
}
},
"tags": [
"filters"
]
}
},
"/rarities": {
"get": {
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"type": "string"
},
"type": "array"
}
}
},
"description": "List cards rarities"
}
},
"tags": [
"filters"
]
}
},
"/rarities/{rarity}": {
"get": {
"parameters": [
{
"in": "path",
"name": "rarity",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StringEndpoint"
}
}
},
"description": "Get the cards containing the specified rarity"
},
"404": {
"description": "The Rarity doesn't exist"
}
},
"tags": [
"filters"
]
}
},
"/regulation-marks": {
"get": {
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"type": "string"
},
"type": "array"
}
}
},
"description": "List the current regulation marks"
}
},
"tags": [
"filters"
]
}
},
"/regulation-marks/{regulation-mark}": {
"get": {
"parameters": [
{
"in": "path",
"name": "regulation-mark",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/CardResume"
},
"type": "array"
}
}
},
"description": "Get every cards respecting the specified regulation-mark"
},
"404": {
"description": "The regulation-mark doesn't exist"
}
},
"tags": [
"filters"
]
}
},
"/retreats": {
"get": {
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"type": "string"
},
"type": "array"
}
}
},
"description": "return the different number of retreats count"
}
},
"tags": [
"filters"
]
}
},
"/retreats/{retreat}": {
"get": {
"parameters": [
{
"in": "path",
"name": "retreat",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StringEndpoint"
}
}
},
"description": "Get the cards containing the specified retreat count"
},
"404": {
"description": "The Retreat count doesn't exist"
}
},
"tags": [
"filters"
]
}
},
"/series": {
"get": {
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/SerieResume"
},
"type": "array"
}
}
},
"description": "Successful request"
}
},
"tags": [
"filters"
]
}
},
"/series/{serie}": {
"get": {
"parameters": [
{
"description": "the serie ID or name",
"in": "path",
"name": "serie",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Serie"
}
}
},
"description": "Success"
},
"404": {
"description": "The Serie doesn't exist"
}
},
"tags": [
"filters"
]
}
},
"/sets": {
"get": {
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/SetResume"
},
"type": "array"
}
}
},
"description": "Successful request"
}
},
"tags": [
"filters"
]
}
},
"/sets/{set}": {
"get": {
"parameters": [
{
"description": "the set ID or the set name",
"in": "path",
"name": "set",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Set"
}
}
},
"description": "Success"
},
"404": {
"description": "The Set doesn't exist"
}
},
"tags": [
"filters"
]
}
},
"/sets/{set}/{cardLocalId}": {
"get": {
"parameters": [
{
"in": "path",
"name": "set",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "cardLocalId",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Card"
}
}
},
"description": "Success"
},
"404": {
"description": "the Set or cardLocalId are incorrect"
}
},
"tags": [
"cards"
]
}
},
"/stages": {
"get": {
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"type": "string"
},
"type": "array"
}
}
},
"description": "Get all the possible stages a Pokémon card can have"
}
},
"tags": [
"filters"
]
}
},
"/stages/{stage}": {
"get": {
"parameters": [
{
"in": "path",
"name": "stage",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/CardResume"
},
"type": "array"
}
}
},
"description": "Get all the cards having the specified stage"
},
"404": {
"description": "The stage doesn't exist"
}
},
"tags": [
"filters"
]
}
},
"/suffixes": {
"get": {
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"type": "string"
},
"type": "array"
}
}
},
"description": "Get all the cards having the specified suffix"
}
},
"tags": [
"filters"
]
}
},
"/suffixes/{suffix}": {
"get": {
"parameters": [
{
"in": "path",
"name": "suffix",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/CardResume"
},
"type": "array"
}
}
},
"description": "Get all the cards having the specified stage suffix"
},
"404": {
"description": "The suffix doesn't exist"
}
},
"tags": [
"filters"
]
}
},
"/trainer-types": {
"get": {
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"type": "string"
},
"type": "array"
}
}
},
"description": "Get the different trainer-types"
}
},
"tags": [
"filters"
]
}
},
"/trainer-types/{trainer-type}": {
"get": {
"parameters": [
{
"in": "path",
"name": "trainer-type",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/CardResume"
},
"type": "array"
}
}
},
"description": "Get the cards containing with the specified trainer-type"
},
"404": {
"description": "The trainer-type doesn't exist"
}
},
"tags": [
"filters"
]
}
},
"/types": {
"get": {
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"type": "string"
},
"type": "array"
}
}
},
"description": "List all possible cards types"
}
},
"tags": [
"filters"
]
}
},
"/types/{type}": {
"get": {
"parameters": [
{
"in": "path",
"name": "type",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/CardResume"
},
"type": "array"
}
}
},
"description": "Get the cards containing the specified type"
},
"404": {
"description": "The Type doesn't exist"
}
},
"tags": [
"filters"
]
}
},
"/variants": {
"get": {
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"type": "string"
},
"type": "array"
}
}
},
"description": "Get the different variants available"
}
},
"tags": [
"filters"
]
}
},
"/variants/{variant}": {
"get": {
"parameters": [
{
"in": "path",
"name": "variant",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/CardResume"
},
"type": "array"
}
}
},
"description": "Get the cards available in the specified variant"
},
"404": {
"description": "The variant doesn't exist"
}
},
"tags": [
"filters"
]
}
}
},
"components": {
"schemas": {
"Card": {
"properties": {
"abilities": {
"items": {
"properties": {
"effect": {
"example": "As often as you like...",
"type": "string"
},
"name": {
"example": "Damage Swap",
"type": "string"
},
"type": {
"example": "Poke-POWER",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"attacks": {
"items": {
"properties": {
"cost": {
"items": {
"example": "",
"type": "string"
},
"type": "array"
},
"damage": {
"example": 30,
"type": "number"
},
"effect": {
"example": "Flip a coin. If heads, ...",
"type": "string"
},
"name": {
"example": "Confuse Ray",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"type": "array"
},
"category": {
"example": "Pokemon",
"type": "string"
},
"description": {
"type": "string"
},
"dexId": {
"items": {
"type": "number"
},
"type": "array",
"xml": {
"name": "dexIdItem",
"wrapped": true
}
},
"energyType": {
"type": "string"
},
"evolveFrom": {
"example": "Kadabra",
"type": "string"
},
"hp": {
"example": 80,
"type": "number"
},
"id": {
"example": "base1-1",
"type": "string"
},
"illustrator": {
"example": "Ken Sugimori",
"type": "string"
},
"image": {
"example": "https://assets.tcgdex.net/en/base/base1/1",
"type": "string"
},
"item": {
"properties": {
"effect": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"effect",
"name"
],
"type": "object"
},
"legal": {
"properties": {
"expanded": {
"example": false,
"type": "boolean"
},
"standard": {
"example": false,
"type": "boolean"
}
},
"type": "object"
},
"level": {
"example": 30,
"type": "number"
},
"localId": {
"example": "1",
"type": "string"
},
"name": {
"example": "Alakazam",
"type": "string"
},
"rarity": {
"example": "Rare",
"type": "string"
},
"regulationMark": {
"example": "D",
"type": "string"
},
"resistances": {
"items": {
"$ref": "#/components/schemas/WeakRes"
},
"type": "array",
"xml": {
"name": "resistance",
"wrapped": true
}
},
"retreat": {
"example": 3,
"type": "number"
},
"set": {
"$ref": "#/components/schemas/SetResume"
},
"stage": {
"example": "Stage2",
"type": "string"
},
"suffix": {
"type": "string"
},
"trainerType": {
"type": "string"
},
"types": {
"items": {
"example": "Psychic",
"type": "string"
},
"type": "array"
},
"variants": {
"properties": {
"firstEdition": {
"type": "boolean"
},
"holo": {
"type": "boolean"
},
"normal": {
"type": "boolean"
},
"reverse": {
"type": "boolean"
},
"wPromo": {
"type": "boolean"
}
},
"required": [
"firstEdition",
"holo",
"normal",
"reverse",
"wPromo"
],
"type": "object"
},
"weaknesses": {
"items": {
"$ref": "#/components/schemas/WeakRes"
},
"type": "array",
"xml": {
"name": "weakness",
"wrapped": true
}
}
},
"required": [
"category",
"id",
"legal",
"localId",
"name",
"rarity",
"set"
],
"type": "object"
},
"CardResume": {
"properties": {
"id": {
"example": "base1-1",
"type": "string"
},
"image": {
"example": "https://assets.tcgdex.net/en/base/base1/1",
"type": "string"
},
"localId": {
"example": "1",
"type": "string"
},
"name": {
"example": "Alakazam",
"type": "string"
}
},
"required": [
"id",
"localId",
"name"
],
"type": "object"
},
"Serie": {
"properties": {
"id": {
"type": "string"
},
"logo": {
"type": "string"
},
"name": {
"type": "string"
},
"sets": {
"items": {
"$ref": "#/components/schemas/SetResume"
},
"type": "array"
}
},
"required": [
"id",
"name",
"sets"
],
"type": "object"
},
"SerieResume": {
"properties": {
"id": {
"type": "string"
},
"logo": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name"
],
"type": "object"
},
"Set": {
"properties": {
"cardCount": {
"properties": {
"firstEd": {
"type": "number"
},
"holo": {
"type": "number"
},
"normal": {
"type": "number"
},
"official": {
"example": 100,
"type": "number"
},
"reverse": {
"type": "number"
},
"total": {
"example": 101,
"type": "number"
}
},
"required": [
"official",
"total"
],
"type": "object"
},
"cards": {
"items": {
"$ref": "#/components/schemas/CardResume"
},
"type": "array"
},
"id": {
"example": "base1",
"type": "string"
},
"logo": {
"example": "https://assets.tcgdex.net/en/base/base1/logo",
"type": "string"
},
"name": {
"example": "Base Set",
"type": "string"
},
"symbol": {
"example": "https://assets.tcgdex.net/univ/base/base1/symbol",
"type": "string"
}
},
"required": [
"cardCount",
"cards",
"id",
"name"
],
"type": "object"
},
"SetResume": {
"properties": {
"cardCount": {
"properties": {
"official": {
"example": 100,
"type": "number"
},
"total": {
"example": 101,
"type": "number"
}
},
"required": [
"official",
"total"
],
"type": "object"
},
"id": {
"example": "base1",
"type": "string"
},
"logo": {
"example": "https://assets.tcgdex.net/en/base/base1/logo",
"type": "string"
},
"name": {
"example": "Base Set",
"type": "string"
},
"symbol": {
"example": "https://assets.tcgdex.net/univ/base/base1/symbol",
"type": "string"
}
},
"required": [
"cardCount",
"id",
"name"
],
"type": "object"
},
"StringEndpoint": {
"properties": {
"cards": {
"items": {
"$ref": "#/components/schemas/CardResume"
},
"type": "array"
},
"name": {
"type": "string"
}
},
"required": [
"cards",
"name"
],
"type": "object"
},
"WeakRes": {
"items": {
"properties": {
"type": {
"example": "Psychic",
"type": "string"
},
"value": {
"example": "x2",
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
},
"type": "array",
"xml": {
"name": "WeakResItem",
"wrapped": true
}
}
}
}
}