TCGdex API icon

TCGdex API

A Multilanguage Pokémon TCG Database with Cards Pictures and most of the informations contained on the cards

COMMUNITYNO AUTH0 INSTALLS
API Docs
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
        }
      }
    }
  }
}