# TCGdex

> Look up Pokemon Trading Card Game cards, sets and series on TCGdex, the open card database: get any card with its attacks, abilities, rarity, legality, prices and image, search cards by name, type, HP, set, rarity or illustrator, list every set and series, read Cardmarket and TCGplayer prices, and draw a random card. Covers every set from Base Set to Pokemon TCG Pocket, in 18 languages. No account or API key required.

App · Gaming · 10 actions. Web page: https://docs.lodol.com/docs/integrations/tcgdex

## Actions

### Get a card

Look one Pokemon card up by its TCGdex id, such as swsh3-136: the set id, a hyphen and the number printed on the card. Returns everything on it: category, HP, types, stage, attacks, abilities, weaknesses, resistances, retreat cost, rarity, illustrator, regulation mark, legality, variants, image addresses and a price summary, in any of 18 languages. No account or API key required.

**Inputs**

- Card id (`card_id`, text, required): The card's TCGdex id: the set id, a hyphen and the number printed on the card, such as swsh3-136. Search cards gives the ids of the cards it finds.
- Language (`language`, text): Optional. The language to read the card data in. Defaults to English. English and French are complete; the others are still being filled in, so a card may be missing in one of them while present in English. One of: `en` (English), `fr` (French), `es` (Spanish), `es-mx` (Spanish (Mexico)), `it` (Italian), `pt` (Portuguese), `pt-br` (Portuguese (Brazil)), `pt-pt` (Portuguese (Portugal)), `de` (German), `nl` (Dutch), and 8 more. Default: `en`.

**Outputs**: The card.

- `abilities` (list): The Pokemon's abilities, powers and bodies.
- `attacks` (list): The Pokemon's attacks, in printed order.
- `boosters` (list): The booster packs the card comes in, for Pokemon TCG Pocket. Empty when it comes in every pack or the set has no packs.
- `category` (text): Pokemon, Trainer or Energy.
- `description` (text): The Pokedex flavour text printed on the card.
- `dex_ids` (list): The National Pokedex numbers of the Pokemon on the card. Empty for a Trainer or an Energy.
- `effect` (text): The text of a Trainer or an Energy card. Null for a Pokemon.
- `energy_type` (text): Normal or Special, for an Energy. Null for a Pokemon or a Trainer.
- `evolves_from` (text): The Pokemon this one evolves from. Null for a Basic Pokemon, a Trainer or an Energy.
- `hp` (number): The Pokemon's HP. Null for a Trainer or an Energy.
- `id` (text): The card's id, such as swsh3-136.
- `illustrator` (text): Who illustrated the card.
- `image` (text): The card image's address without a quality or file extension, as TCGdex gives it. Null when TCGdex has no image of the card yet.
- `image_url` (text): The card image at 600 by 825 pixels as a PNG, ready to post. Null when TCGdex has no image.
- `image_url_webp` (text): The same image as a WebP, the smaller file. Null when TCGdex has no image.
- `item_effect` (text): What the held item does, if any.
- `item_name` (text): The name of the item the Pokemon holds, if any.
- `legal_expanded` (true/false): Whether the card is legal in the Expanded format.
- `legal_standard` (true/false): Whether the card is legal in the Standard format.
- `level` (text): The level, for a LV.X card.
- `local_id` (text): The number printed on the card within its set, such as 136.
- `name` (text): The card's name.
- `prices` (object): The card's market prices in brief. Get a card's prices has every one.
- `rarity` (text): The card's rarity, such as Uncommon or Rare Holo.
- `regulation_mark` (text): The regulation mark in the bottom corner, such as G. Null on older cards.
- `resistances` (list): The Pokemon's resistances.
- `retreat` (number): The Pokemon's retreat cost. Null for a Trainer or an Energy.
- `set` (object): The set the card is in.
- `set_id` (text): The id of the set the card is in.
- `set_name` (text): The name of the set the card is in.
- `stage` (text): The Pokemon's stage: Basic, Stage1, Stage2, VMAX and so on.
- `suffix` (text): The suffix after the name, such as ex, GX or V.
- `thumbnail_url` (text): The card image at 245 by 337 pixels as a PNG. Null when TCGdex has no image.
- `trainer_type` (text): The kind of Trainer: Item, Supporter, Stadium, Tool and so on. Null for a Pokemon or an Energy.
- `types` (list): The Pokemon's types, such as Fire. Empty for a Trainer or an Energy.
- `updated` (text): When TCGdex last updated the card's data, prices aside.
- `variants` (object): Which printings of the card exist.
- `weaknesses` (list): The Pokemon's weaknesses.

**Example output**

```json
{
  "abilities": [],
  "attacks": [
    {
      "cost": [
        "Colorless"
      ],
      "damage": null,
      "damage_number": null,
      "effect": "Draw 3 cards.",
      "name": "Feelin' Fine"
    },
    {
      "cost": [
        "Colorless"
      ],
      "damage": "90",
      "damage_number": 90,
      "effect": "Flip a coin. If tails, this attack does nothing.",
      "name": "Tail Smash"
    }
  ],
  "boosters": [],
  "category": "Pokemon",
  "description": "It makes a nest to suit its long and skinny body. The nest is impossible for other Pok\u00e9mon to enter.",
  "dex_ids": [
    162
  ],
  "effect": null,
  "energy_type": null,
  "evolves_from": "Sentret",
  "hp": 110,
  "id": "swsh3-136",
  "illustrator": "tetsuya koizumi",
  "image": "https://assets.tcgdex.net/en/swsh/swsh3/136",
  "image_url": "https://assets.tcgdex.net/en/swsh/swsh3/136/high.png",
  "image_url_webp": "https://assets.tcgdex.net/en/swsh/swsh3/136/high.webp",
  "item_effect": null,
  "item_name": null,
  "legal_expanded": true,
  "legal_standard": false,
  "level": null,
  "local_id": "136",
  "name": "Furret",
  "prices": {
    "cardmarket_average_eur": 0.07,
    "cardmarket_low_eur": 0.02,
    "cardmarket_trend_eur": 0.07,
    "cardmarket_updated": "2026-10-08T22:54:32.852Z",
    "tcgplayer_low_usd": 0.02,
    "tcgplayer_market_usd": 0.27,
    "tcgplayer_updated": "2026-10-08T22:55:07.014Z"
  },
  "rarity": "Uncommon",
  "regulation_mark": "D",
  "resistances": [],
  "retreat": 1,
  "set": {
    "card_count_official": 189,
    "card_count_total": 201,
    "id": "swsh3",
    "logo": "https://assets.tcgdex.net/en/swsh/swsh3/logo",
    "logo_url": "https://assets.tcgdex.net/en/swsh/swsh3/logo.png",
    "name": "Darkness Ablaze",
    "symbol": "https://assets.tcgdex.net/univ/swsh/swsh3/symbol",
    "symbol_url": "https://assets.tcgdex.net/univ/swsh/swsh3/symbol.png"
  },
  "set_id": "swsh3",
  "set_name": "Darkness Ablaze",
  "stage": "Stage1",
  "suffix": null,
  "thumbnail_url": "https://assets.tcgdex.net/en/swsh/swsh3/136/low.png",
  "trainer_type": null,
  "types": [
    "Colorless"
  ],
  "updated": "2026-07-01T21:27:44+01:00",
  "variants": {
    "first_edition": false,
    "holo": false,
    "normal": true,
    "reverse": true,
    "w_promo": false
  },
  "weaknesses": [
    {
      "type": "Fighting",
      "value": "\u00d72"
    }
  ]
}
```

### Get a card by set and number

Look one card up by its set and the number printed on it, such as 136 in Darkness Ablaze (swsh3), the way a card is read off a binder page or a decklist. A missing leading zero is fine: 1 finds 001. Returns the same full record as Get a card.

**Inputs**

- Set (`set_id`, text, required): The set, chosen from the list of every set TCGdex has, or its id typed by hand, such as swsh3 or A1.
- Card number (`local_id`, text, required): The number printed on the card within its set: the 136 of 136/189. Letters are part of it where printed, such as SWSH001 or TG12.
- Language (`language`, text): Optional. The language to read the card data in. Defaults to English. English and French are complete; the others are still being filled in, so a card may be missing in one of them while present in English. One of: `en` (English), `fr` (French), `es` (Spanish), `es-mx` (Spanish (Mexico)), `it` (Italian), `pt` (Portuguese), `pt-br` (Portuguese (Brazil)), `pt-pt` (Portuguese (Portugal)), `de` (German), `nl` (Dutch), and 8 more. Default: `en`.

**Outputs**: The card.

- `abilities` (list): The Pokemon's abilities, powers and bodies.
- `attacks` (list): The Pokemon's attacks, in printed order.
- `boosters` (list): The booster packs the card comes in, for Pokemon TCG Pocket. Empty when it comes in every pack or the set has no packs.
- `category` (text): Pokemon, Trainer or Energy.
- `description` (text): The Pokedex flavour text printed on the card.
- `dex_ids` (list): The National Pokedex numbers of the Pokemon on the card. Empty for a Trainer or an Energy.
- `effect` (text): The text of a Trainer or an Energy card. Null for a Pokemon.
- `energy_type` (text): Normal or Special, for an Energy. Null for a Pokemon or a Trainer.
- `evolves_from` (text): The Pokemon this one evolves from. Null for a Basic Pokemon, a Trainer or an Energy.
- `hp` (number): The Pokemon's HP. Null for a Trainer or an Energy.
- `id` (text): The card's id, such as swsh3-136.
- `illustrator` (text): Who illustrated the card.
- `image` (text): The card image's address without a quality or file extension, as TCGdex gives it. Null when TCGdex has no image of the card yet.
- `image_url` (text): The card image at 600 by 825 pixels as a PNG, ready to post. Null when TCGdex has no image.
- `image_url_webp` (text): The same image as a WebP, the smaller file. Null when TCGdex has no image.
- `item_effect` (text): What the held item does, if any.
- `item_name` (text): The name of the item the Pokemon holds, if any.
- `legal_expanded` (true/false): Whether the card is legal in the Expanded format.
- `legal_standard` (true/false): Whether the card is legal in the Standard format.
- `level` (text): The level, for a LV.X card.
- `local_id` (text): The number printed on the card within its set, such as 136.
- `name` (text): The card's name.
- `prices` (object): The card's market prices in brief. Get a card's prices has every one.
- `rarity` (text): The card's rarity, such as Uncommon or Rare Holo.
- `regulation_mark` (text): The regulation mark in the bottom corner, such as G. Null on older cards.
- `resistances` (list): The Pokemon's resistances.
- `retreat` (number): The Pokemon's retreat cost. Null for a Trainer or an Energy.
- `set` (object): The set the card is in.
- `set_id` (text): The id of the set the card is in.
- `set_name` (text): The name of the set the card is in.
- `stage` (text): The Pokemon's stage: Basic, Stage1, Stage2, VMAX and so on.
- `suffix` (text): The suffix after the name, such as ex, GX or V.
- `thumbnail_url` (text): The card image at 245 by 337 pixels as a PNG. Null when TCGdex has no image.
- `trainer_type` (text): The kind of Trainer: Item, Supporter, Stadium, Tool and so on. Null for a Pokemon or an Energy.
- `types` (list): The Pokemon's types, such as Fire. Empty for a Trainer or an Energy.
- `updated` (text): When TCGdex last updated the card's data, prices aside.
- `variants` (object): Which printings of the card exist.
- `weaknesses` (list): The Pokemon's weaknesses.

**Example output**

```json
{
  "abilities": [],
  "attacks": [
    {
      "cost": [
        "Incolore"
      ],
      "damage": null,
      "damage_number": null,
      "effect": "Piochez 3 cartes.",
      "name": "Mode Cool"
    },
    {
      "cost": [
        "Incolore"
      ],
      "damage": "90",
      "damage_number": 90,
      "effect": "Lancez une pi\u00e8ce. Si c'est pile, cette attaque ne fait rien.",
      "name": "\u00c9clate-Queue"
    }
  ],
  "boosters": [],
  "category": "Pok\u00e9mon",
  "description": null,
  "dex_ids": [
    162
  ],
  "effect": null,
  "energy_type": null,
  "evolves_from": "Fouinette",
  "hp": 110,
  "id": "swsh3-136",
  "illustrator": "tetsuya koizumi",
  "image": "https://assets.tcgdex.net/fr/swsh/swsh3/136",
  "image_url": "https://assets.tcgdex.net/fr/swsh/swsh3/136/high.png",
  "image_url_webp": "https://assets.tcgdex.net/fr/swsh/swsh3/136/high.webp",
  "item_effect": null,
  "item_name": null,
  "legal_expanded": true,
  "legal_standard": false,
  "level": null,
  "local_id": "136",
  "name": "Fouinar",
  "prices": {
    "cardmarket_average_eur": 0.07,
    "cardmarket_low_eur": 0.02,
    "cardmarket_trend_eur": 0.07,
    "cardmarket_updated": "2026-10-08T22:54:32.852Z",
    "tcgplayer_low_usd": 0.02,
    "tcgplayer_market_usd": 0.27,
    "tcgplayer_updated": "2026-10-08T22:55:07.014Z"
  },
  "rarity": "Peu Commune",
  "regulation_mark": "D",
  "resistances": [],
  "retreat": 1,
  "set": {
    "card_count_official": 189,
    "card_count_total": 201,
    "id": "swsh3",
    "logo": "https://assets.tcgdex.net/fr/swsh/swsh3/logo",
    "logo_url": "https://assets.tcgdex.net/fr/swsh/swsh3/logo.png",
    "name": "T\u00e9n\u00e8bres Embras\u00e9es",
    "symbol": "https://assets.tcgdex.net/univ/swsh/swsh3/symbol",
    "symbol_url": "https://assets.tcgdex.net/univ/swsh/swsh3/symbol.png"
  },
  "set_id": "swsh3",
  "set_name": "T\u00e9n\u00e8bres Embras\u00e9es",
  "stage": "Niveau 1",
  "suffix": null,
  "thumbnail_url": "https://assets.tcgdex.net/fr/swsh/swsh3/136/low.png",
  "trainer_type": null,
  "types": [
    "Incolore"
  ],
  "updated": "2026-07-01T21:27:44+01:00",
  "variants": {
    "first_edition": false,
    "holo": false,
    "normal": true,
    "reverse": true,
    "w_promo": false
  },
  "weaknesses": [
    {
      "type": "Combat",
      "value": "\u00d72"
    }
  ]
}
```

### Get a card's prices

Read a card's market prices: Cardmarket in euros (average, low, trend and the 1, 7 and 30 day averages, with holo prices) and TCGplayer in US dollars (low, mid, high, market and direct low for each printing). Prices are updated daily; a card a marketplace does not list says so rather than failing. The way to build a price alert or value a collection.

**Inputs**

- Card id (`card_id`, text, required): The card's TCGdex id: the set id, a hyphen and the number printed on the card, such as swsh3-136. Search cards gives the ids of the cards it finds.
- Language (`language`, text): Optional. The language to read the card data in. Defaults to English. English and French are complete; the others are still being filled in, so a card may be missing in one of them while present in English. One of: `en` (English), `fr` (French), `es` (Spanish), `es-mx` (Spanish (Mexico)), `it` (Italian), `pt` (Portuguese), `pt-br` (Portuguese (Brazil)), `pt-pt` (Portuguese (Portugal)), `de` (German), `nl` (Dutch), and 8 more. Default: `en`.

**Outputs**: The card's market prices.

- `card_id` (text): The card's id.
- `cardmarket` (object): Cardmarket's prices, in euros, updated daily.
- `cardmarket_trend_eur` (number): Cardmarket's trend price in euros. Null when Cardmarket does not list the card.
- `language` (text): The language the data was read in, as a code.
- `name` (text): The card's name.
- `set_id` (text): The id of the set the card is in.
- `set_name` (text): The name of the set the card is in.
- `tcgplayer` (object): TCGplayer's prices, in US dollars, per printing.
- `tcgplayer_market_usd` (number): TCGplayer's market price in US dollars, read off the first variant that has one (normal, then holofoil, then reverse holofoil). Null when TCGplayer does not list the card.

**Example output**

```json
{
  "card_id": "swsh3-136",
  "cardmarket": {
    "available": true,
    "average": 0.07,
    "average_1_day": 0.02,
    "average_30_days": 0.08,
    "average_7_days": 0.08,
    "holo_average": 0.28,
    "holo_average_1_day": 0.2,
    "holo_average_30_days": 0.27,
    "holo_average_7_days": 0.33,
    "holo_low": 0.04,
    "holo_trend": 0.27,
    "low": 0.02,
    "product_id": 483559,
    "trend": 0.07,
    "unit": "EUR",
    "updated": "2026-10-08T22:54:32.852Z"
  },
  "cardmarket_trend_eur": 0.07,
  "language": "en",
  "name": "Furret",
  "set_id": "swsh3",
  "set_name": "Darkness Ablaze",
  "tcgplayer": {
    "available": true,
    "unit": "USD",
    "updated": "2026-10-08T22:55:07.014Z",
    "variants": [
      {
        "direct_low": null,
        "high": 25.26,
        "low": 0.02,
        "market": 0.27,
        "mid": 0.25,
        "product_id": 219333,
        "variant": "normal"
      },
      {
        "direct_low": null,
        "high": 19.8,
        "low": 0.17,
        "market": 0.42,
        "mid": 0.42,
        "product_id": 219333,
        "variant": "reverse-holofoil"
      }
    ]
  },
  "tcgplayer_market_usd": 0.27
}
```

### Get a random card

Draw one card at random from the whole database, with the same full record as Get a card. Good for a card of the day post or a quiz.

**Inputs**

- Language (`language`, text): Optional. The language to read the card data in. Defaults to English. English and French are complete; the others are still being filled in, so a card may be missing in one of them while present in English. One of: `en` (English), `fr` (French), `es` (Spanish), `es-mx` (Spanish (Mexico)), `it` (Italian), `pt` (Portuguese), `pt-br` (Portuguese (Brazil)), `pt-pt` (Portuguese (Portugal)), `de` (German), `nl` (Dutch), and 8 more. Default: `en`.

**Outputs**: The card.

- `abilities` (list): The Pokemon's abilities, powers and bodies.
- `attacks` (list): The Pokemon's attacks, in printed order.
- `boosters` (list): The booster packs the card comes in, for Pokemon TCG Pocket. Empty when it comes in every pack or the set has no packs.
- `category` (text): Pokemon, Trainer or Energy.
- `description` (text): The Pokedex flavour text printed on the card.
- `dex_ids` (list): The National Pokedex numbers of the Pokemon on the card. Empty for a Trainer or an Energy.
- `effect` (text): The text of a Trainer or an Energy card. Null for a Pokemon.
- `energy_type` (text): Normal or Special, for an Energy. Null for a Pokemon or a Trainer.
- `evolves_from` (text): The Pokemon this one evolves from. Null for a Basic Pokemon, a Trainer or an Energy.
- `hp` (number): The Pokemon's HP. Null for a Trainer or an Energy.
- `id` (text): The card's id, such as swsh3-136.
- `illustrator` (text): Who illustrated the card.
- `image` (text): The card image's address without a quality or file extension, as TCGdex gives it. Null when TCGdex has no image of the card yet.
- `image_url` (text): The card image at 600 by 825 pixels as a PNG, ready to post. Null when TCGdex has no image.
- `image_url_webp` (text): The same image as a WebP, the smaller file. Null when TCGdex has no image.
- `item_effect` (text): What the held item does, if any.
- `item_name` (text): The name of the item the Pokemon holds, if any.
- `legal_expanded` (true/false): Whether the card is legal in the Expanded format.
- `legal_standard` (true/false): Whether the card is legal in the Standard format.
- `level` (text): The level, for a LV.X card.
- `local_id` (text): The number printed on the card within its set, such as 136.
- `name` (text): The card's name.
- `prices` (object): The card's market prices in brief. Get a card's prices has every one.
- `rarity` (text): The card's rarity, such as Uncommon or Rare Holo.
- `regulation_mark` (text): The regulation mark in the bottom corner, such as G. Null on older cards.
- `resistances` (list): The Pokemon's resistances.
- `retreat` (number): The Pokemon's retreat cost. Null for a Trainer or an Energy.
- `set` (object): The set the card is in.
- `set_id` (text): The id of the set the card is in.
- `set_name` (text): The name of the set the card is in.
- `stage` (text): The Pokemon's stage: Basic, Stage1, Stage2, VMAX and so on.
- `suffix` (text): The suffix after the name, such as ex, GX or V.
- `thumbnail_url` (text): The card image at 245 by 337 pixels as a PNG. Null when TCGdex has no image.
- `trainer_type` (text): The kind of Trainer: Item, Supporter, Stadium, Tool and so on. Null for a Pokemon or an Energy.
- `types` (list): The Pokemon's types, such as Fire. Empty for a Trainer or an Energy.
- `updated` (text): When TCGdex last updated the card's data, prices aside.
- `variants` (object): Which printings of the card exist.
- `weaknesses` (list): The Pokemon's weaknesses.

**Example output**

```json
{
  "abilities": [],
  "attacks": [
    {
      "cost": [
        "Metal",
        "Colorless"
      ],
      "damage": "30",
      "damage_number": 30,
      "effect": "During your opponent\u2019s next turn, this Pok\u00e9mon takes 30 less damage from attacks (after applying Weakness and Resistance).",
      "name": "Guard Press"
    },
    {
      "cost": [
        "Metal",
        "Metal",
        "Colorless"
      ],
      "damage": "80+",
      "damage_number": 80,
      "effect": "If this Pok\u00e9mon has a Pok\u00e9mon Tool card attached to it, this attack does 40 more damage.",
      "name": "Metal Arms"
    }
  ],
  "boosters": [],
  "category": "Pokemon",
  "description": "It has a body and heart of steel. It worked with its allies to punish people when they hurt Pok\u00e9mon.",
  "dex_ids": [
    638
  ],
  "effect": null,
  "energy_type": null,
  "evolves_from": null,
  "hp": 120,
  "id": "sm8-129",
  "illustrator": "Kouki Saitou",
  "image": "https://assets.tcgdex.net/en/sm/sm8/129",
  "image_url": "https://assets.tcgdex.net/en/sm/sm8/129/high.png",
  "image_url_webp": "https://assets.tcgdex.net/en/sm/sm8/129/high.webp",
  "item_effect": null,
  "item_name": null,
  "legal_expanded": true,
  "legal_standard": false,
  "level": null,
  "local_id": "129",
  "name": "Cobalion",
  "prices": {
    "cardmarket_average_eur": 1.5,
    "cardmarket_low_eur": 0.5,
    "cardmarket_trend_eur": 1.83,
    "cardmarket_updated": "2026-10-08T22:54:32.859Z",
    "tcgplayer_low_usd": 0.39,
    "tcgplayer_market_usd": 0.75,
    "tcgplayer_updated": "2026-10-08T22:55:03.893Z"
  },
  "rarity": "Rare",
  "regulation_mark": null,
  "resistances": [
    {
      "type": "Psychic",
      "value": "-20"
    }
  ],
  "retreat": 2,
  "set": {
    "card_count_official": 214,
    "card_count_total": 236,
    "id": "sm8",
    "logo": "https://assets.tcgdex.net/en/sm/sm8/logo",
    "logo_url": "https://assets.tcgdex.net/en/sm/sm8/logo.png",
    "name": "Lost Thunder",
    "symbol": "https://assets.tcgdex.net/univ/sm/sm8/symbol",
    "symbol_url": "https://assets.tcgdex.net/univ/sm/sm8/symbol.png"
  },
  "set_id": "sm8",
  "set_name": "Lost Thunder",
  "stage": "Basic",
  "suffix": null,
  "thumbnail_url": "https://assets.tcgdex.net/en/sm/sm8/129/low.png",
  "trainer_type": null,
  "types": [
    "Metal"
  ],
  "updated": "2026-08-19T19:10:03Z",
  "variants": {
    "first_edition": false,
    "holo": false,
    "normal": true,
    "reverse": false,
    "w_promo": false
  },
  "weaknesses": [
    {
      "type": "Fire",
      "value": "\u00d72"
    }
  ]
}
```

### Get a series

Get one series by its id, such as swsh or tcgp: its release date, its first and latest set, and every set in it with card counts, oldest first.

**Inputs**

- Series (`serie_id`, text, required): The series, chosen from the list of every series TCGdex has, or its id typed by hand, such as swsh or tcgp.
- Language (`language`, text): Optional. The language to read the card data in. Defaults to English. English and French are complete; the others are still being filled in, so a card may be missing in one of them while present in English. One of: `en` (English), `fr` (French), `es` (Spanish), `es-mx` (Spanish (Mexico)), `it` (Italian), `pt` (Portuguese), `pt-br` (Portuguese (Brazil)), `pt-pt` (Portuguese (Portugal)), `de` (German), `nl` (Dutch), and 8 more. Default: `en`.

**Outputs**: The series.

- `first_set` (object): The first set of the series.
- `id` (text): The series' id, such as swsh. Get a series takes it.
- `language` (text): The language the data was read in, as a code.
- `last_set` (object): The latest set of the series.
- `logo` (text): The series logo's address without a file extension. Null when TCGdex has none.
- `logo_url` (text): The series logo as a PNG, ready to post.
- `name` (text): The series' name, such as Sword & Shield.
- `release_date` (text): When the series' first set was released, as YYYY-MM-DD.
- `set_count` (number): How many sets the series has.
- `sets` (list): Every set in the series, oldest first, each in brief.

**Example output**

```json
{
  "first_set": {
    "card_count_official": 307,
    "card_count_total": 307,
    "id": "swshp",
    "logo": "https://assets.tcgdex.net/en/swsh/swshp/logo",
    "logo_url": "https://assets.tcgdex.net/en/swsh/swshp/logo.png",
    "name": "SWSH Black Star Promos",
    "symbol": "https://assets.tcgdex.net/univ/swsh/swshp/symbol",
    "symbol_url": "https://assets.tcgdex.net/univ/swsh/swshp/symbol.png"
  },
  "id": "swsh",
  "language": "en",
  "last_set": {
    "card_count_official": 159,
    "card_count_total": 160,
    "id": "swsh12.5",
    "logo": "https://assets.tcgdex.net/en/swsh/swsh12.5/logo",
    "logo_url": "https://assets.tcgdex.net/en/swsh/swsh12.5/logo.png",
    "name": "Crown Zenith",
    "symbol": "https://assets.tcgdex.net/univ/swsh/swsh12.5/symbol",
    "symbol_url": "https://assets.tcgdex.net/univ/swsh/swsh12.5/symbol.png"
  },
  "logo": "https://assets.tcgdex.net/en/swsh/swsh1/logo",
  "logo_url": "https://assets.tcgdex.net/en/swsh/swsh1/logo.png",
  "name": "Sword & Shield",
  "release_date": "2019-11-15",
  "set_count": 26,
  "sets": [
    {
      "card_count_official": 307,
      "card_count_total": 307,
      "id": "swshp",
      "logo": "https://assets.tcgdex.net/en/swsh/swshp/logo",
      "logo_url": "https://assets.tcgdex.net/en/swsh/swshp/logo.png",
      "name": "SWSH Black Star Promos",
      "symbol": "https://assets.tcgdex.net/univ/swsh/swshp/symbol",
      "symbol_url": "https://assets.tcgdex.net/univ/swsh/swshp/symbol.png"
    },
    {
      "card_count_official": 202,
      "card_count_total": 216,
      "id": "swsh1",
      "logo": "https://assets.tcgdex.net/en/swsh/swsh1/logo",
      "logo_url": "https://assets.tcgdex.net/en/swsh/swsh1/logo.png",
      "name": "Sword & Shield",
      "symbol": "https://assets.tcgdex.net/univ/swsh/swsh1/symbol",
      "symbol_url": "https://assets.tcgdex.net/univ/swsh/swsh1/symbol.png"
    },
    {
      "card_count_official": 192,
      "card_count_total": 209,
      "id": "swsh2",
      "logo": "https://assets.tcgdex.net/en/swsh/swsh2/logo",
      "logo_url": "https://assets.tcgdex.net/en/swsh/swsh2/logo.png",
      "name": "Rebel Clash",
      "symbol": "https://assets.tcgdex.net/univ/swsh/swsh2/symbol",
      "symbol_url": "https://assets.tcgdex.net/univ/swsh/swsh2/symbol.png"
    }
  ]
}
```

### Get a set

Get one set by its id, such as swsh3 or A1: its series, release date, Standard and Expanded legality, card counts by printing, booster packs and every card in it in brief, ready to look up one by one or post as a checklist.

**Inputs**

- Set (`set_id`, text, required): The set, chosen from the list of every set TCGdex has, or its id typed by hand, such as swsh3 or A1.
- Language (`language`, text): Optional. The language to read the card data in. Defaults to English. English and French are complete; the others are still being filled in, so a card may be missing in one of them while present in English. One of: `en` (English), `fr` (French), `es` (Spanish), `es-mx` (Spanish (Mexico)), `it` (Italian), `pt` (Portuguese), `pt-br` (Portuguese (Brazil)), `pt-pt` (Portuguese (Portugal)), `de` (German), `nl` (Dutch), and 8 more. Default: `en`.

**Outputs**: The set.

- `abbreviation` (text): The set's official abbreviation, such as DAA.
- `boosters` (list): The set's booster packs, for Pokemon TCG Pocket. Empty otherwise.
- `card_count_first_edition` (number): How many cards exist as a first edition.
- `card_count_holo` (number): How many cards exist as a holo.
- `card_count_normal` (number): How many cards exist as a normal printing.
- `card_count_official` (number): The count printed on the cards, such as the 189 of 136/189.
- `card_count_reverse` (number): How many cards exist as a reverse holo.
- `card_count_total` (number): How many cards the set has in all, secret rares included.
- `cards` (list): Every card in the set, in brief, in set order.
- `cards_listed` (number): How many cards the list holds.
- `id` (text): The set's id, such as swsh3. Get a set takes it.
- `language` (text): The language the data was read in, as a code.
- `legal_expanded` (true/false): Whether the set is legal in the Expanded format.
- `legal_standard` (true/false): Whether the set is legal in the Standard format.
- `logo` (text): The set logo's address without a file extension. Null when TCGdex has none.
- `logo_url` (text): The set logo as a PNG, ready to post.
- `name` (text): The set's name, such as Darkness Ablaze.
- `release_date` (text): When the set was released, as YYYY-MM-DD.
- `serie` (object): The series the set belongs to.
- `symbol` (text): The set symbol's address without a file extension. Null when TCGdex has none.
- `symbol_url` (text): The set symbol as a PNG, ready to post.
- `tcg_online_code` (text): The set's code in Pokemon TCG Online and Live, such as DAA.

**Example output**

```json
{
  "abbreviation": "DAA",
  "boosters": [],
  "card_count_first_edition": 0,
  "card_count_holo": 69,
  "card_count_normal": 138,
  "card_count_official": 189,
  "card_count_reverse": 157,
  "card_count_total": 201,
  "cards": [
    {
      "id": "swsh3-1",
      "image": "https://assets.tcgdex.net/en/swsh/swsh3/1",
      "image_url": "https://assets.tcgdex.net/en/swsh/swsh3/1/high.png",
      "image_url_webp": "https://assets.tcgdex.net/en/swsh/swsh3/1/high.webp",
      "local_id": "1",
      "name": "Butterfree V",
      "set_id": "swsh3",
      "thumbnail_url": "https://assets.tcgdex.net/en/swsh/swsh3/1/low.png"
    },
    {
      "id": "swsh3-2",
      "image": "https://assets.tcgdex.net/en/swsh/swsh3/2",
      "image_url": "https://assets.tcgdex.net/en/swsh/swsh3/2/high.png",
      "image_url_webp": "https://assets.tcgdex.net/en/swsh/swsh3/2/high.webp",
      "local_id": "2",
      "name": "Butterfree VMAX",
      "set_id": "swsh3",
      "thumbnail_url": "https://assets.tcgdex.net/en/swsh/swsh3/2/low.png"
    },
    {
      "id": "swsh3-3",
      "image": "https://assets.tcgdex.net/en/swsh/swsh3/3",
      "image_url": "https://assets.tcgdex.net/en/swsh/swsh3/3/high.png",
      "image_url_webp": "https://assets.tcgdex.net/en/swsh/swsh3/3/high.webp",
      "local_id": "3",
      "name": "Paras",
      "set_id": "swsh3",
      "thumbnail_url": "https://assets.tcgdex.net/en/swsh/swsh3/3/low.png"
    }
  ],
  "cards_listed": 201,
  "id": "swsh3",
  "language": "en",
  "legal_expanded": true,
  "legal_standard": false,
  "logo": "https://assets.tcgdex.net/en/swsh/swsh3/logo",
  "logo_url": "https://assets.tcgdex.net/en/swsh/swsh3/logo.png",
  "name": "Darkness Ablaze",
  "release_date": "2020-08-14",
  "serie": {
    "id": "swsh",
    "logo": null,
    "logo_url": null,
    "name": "Sword & Shield"
  },
  "symbol": "https://assets.tcgdex.net/univ/swsh/swsh3/symbol",
  "symbol_url": "https://assets.tcgdex.net/univ/swsh/swsh3/symbol.png",
  "tcg_online_code": "DAA"
}
```

### List card field values

List every value one card field takes across the database: the types, rarities, categories, stages, suffixes, trainer types, energy types, regulation marks, HP values, retreat costs, Pokedex numbers, variants or illustrators. Use it to see what Search cards can be narrowed by, or to spell a rarity the way TCGdex does.

**Inputs**

- Field (`field`, text, required): The card field whose values to list. One of: `types` (Types (Fire, Water, ...)), `rarities`, `categories` (Categories (Pokemon, Trainer, Energy)), `stages` (Stages (Basic, Stage1, VMAX, ...)), `suffixes` (Suffixes (ex, GX, V, ...)), `trainer_types` (Trainer types (Item, Supporter, ...)), `energy_types` (Energy types (Normal, Special)), `regulation_marks` (Regulation marks), `hp` (HP values), `retreats` (Retreat costs), and 3 more.
- Language (`language`, text): Optional. The language to read the card data in. Defaults to English. English and French are complete; the others are still being filled in, so a card may be missing in one of them while present in English. One of: `en` (English), `fr` (French), `es` (Spanish), `es-mx` (Spanish (Mexico)), `it` (Italian), `pt` (Portuguese), `pt-br` (Portuguese (Brazil)), `pt-pt` (Portuguese (Portugal)), `de` (German), `nl` (Dutch), and 8 more. Default: `en`.

**Outputs**: The values the field takes.

- `count` (number): How many values there are.
- `field` (text): The field that was listed, such as rarities.
- `language` (text): The language the data was read in, as a code.
- `values` (list): Every value the field takes across the database, as text, in the order TCGdex lists them.

**Example output**

```json
{
  "count": 11,
  "field": "types",
  "language": "en",
  "values": [
    "Colorless",
    "Darkness",
    "Dragon",
    "Fairy",
    "Fighting",
    "Fire",
    "Grass",
    "Lightning",
    "Metal",
    "Psychic",
    "Water"
  ]
}
```

### List series

List every series of the Pokemon TCG, from Base and Neo to Scarlet & Violet, Mega Evolution and Pokemon TCG Pocket, each with its id, name and logo address; pass the id to Get a series for its sets.

**Inputs**

- Language (`language`, text): Optional. The language to read the card data in. Defaults to English. English and French are complete; the others are still being filled in, so a card may be missing in one of them while present in English. One of: `en` (English), `fr` (French), `es` (Spanish), `es-mx` (Spanish (Mexico)), `it` (Italian), `pt` (Portuguese), `pt-br` (Portuguese (Brazil)), `pt-pt` (Portuguese (Portugal)), `de` (German), `nl` (Dutch), and 8 more. Default: `en`.

**Outputs**: Every series.

- `count` (number): How many series were listed.
- `language` (text): The language the data was read in, as a code.
- `series` (list): The series, oldest first, each in brief. Get a series takes the id.

**Example output**

```json
{
  "count": 21,
  "language": "en",
  "series": [
    {
      "id": "misc",
      "logo": null,
      "logo_url": null,
      "name": "Miscellaneous"
    },
    {
      "id": "base",
      "logo": "https://assets.tcgdex.net/en/base/base1/logo",
      "logo_url": "https://assets.tcgdex.net/en/base/base1/logo.png",
      "name": "Base"
    },
    {
      "id": "gym",
      "logo": "https://assets.tcgdex.net/en/gym/gym1/logo",
      "logo_url": "https://assets.tcgdex.net/en/gym/gym1/logo.png",
      "name": "Gym"
    }
  ]
}
```

### List sets

List every Pokemon TCG set from Base Set to the latest, or narrow to one series or a word in the name. Each set comes back with its id, name, logo and symbol addresses and card counts; pass the id to Get a set for its cards.

**Inputs**

- Name contains (`name`, text): Optional. Only sets whose name contains this text, regardless of case, such as base or Darkness.
- Series (`serie_id`, text): Optional. Only sets or cards of this series, chosen from the list or typed as its id, such as swsh or tcgp for Pokemon TCG Pocket.
- Sort by (`sort_by`, text): Optional. How to order the sets: by id or by name. Leave blank for release order, oldest first. One of: `id` (Set id), `name`.
- Sort order (`sort_order`, text): Optional. Which way to order the list. Only applies alongside Sort by. One of: `ASC` (Ascending), `DESC` (Descending).
- Language (`language`, text): Optional. The language to read the card data in. Defaults to English. English and French are complete; the others are still being filled in, so a card may be missing in one of them while present in English. One of: `en` (English), `fr` (French), `es` (Spanish), `es-mx` (Spanish (Mexico)), `it` (Italian), `pt` (Portuguese), `pt-br` (Portuguese (Brazil)), `pt-pt` (Portuguese (Portugal)), `de` (German), `nl` (Dutch), and 8 more. Default: `en`.

**Outputs**: The sets that matched.

- `count` (number): How many sets were listed.
- `language` (text): The language the data was read in, as a code.
- `sets` (list): The sets, each in brief. Get a set takes the id.

**Example output**

```json
{
  "count": 1,
  "language": "en",
  "sets": [
    {
      "card_count_official": 189,
      "card_count_total": 201,
      "id": "swsh3",
      "logo": "https://assets.tcgdex.net/en/swsh/swsh3/logo",
      "logo_url": "https://assets.tcgdex.net/en/swsh/swsh3/logo.png",
      "name": "Darkness Ablaze",
      "symbol": "https://assets.tcgdex.net/univ/swsh/swsh3/symbol",
      "symbol_url": "https://assets.tcgdex.net/univ/swsh/swsh3/symbol.png"
    }
  ]
}
```

### Search cards

Search every Pokemon card by name, category, type, rarity, set, series, illustrator, stage, suffix, trainer or energy type, what it evolves from, Pokedex number, HP range, retreat cost or regulation mark, then sort and page the result. Each card comes back in brief: id, number, name, set and image addresses; pass the id to Get a card for the full record. Leave every filter blank to page through the whole database. No account or API key required.

**Inputs**

- Name (`name`, text): Optional. The card name, or part of one, such as Pikachu or Charizard ex. Matched regardless of case unless Name match is set to Is exactly.
- Name match (`name_match`, text): Optional. How the name is matched: contains (the default), starts with, ends with, or is exactly. Contains, starts with and ends with ignore case; is exactly matches the name as printed, so Furret finds the Furret cards and furret finds none. One of: `contains`, `exact` (Is exactly), `starts_with` (Starts with), `ends_with` (Ends with). Default: `contains`.
- Category (`category`, text): Optional. Only Pokemon, Trainer or Energy cards. One of: `Pokemon`, `Trainer`, `Energy`.
- Type (`pokemon_type`, text): Optional. Only Pokemon of this type, such as Fire or Water. A card with two types matches either. One of: `Colorless`, `Darkness`, `Dragon`, `Fairy`, `Fighting`, `Fire`, `Grass`, `Lightning`, `Metal`, `Psychic`, `Water`.
- Rarity (`rarity`, text): Optional. Only cards of this rarity, spelled as TCGdex does: Common, Uncommon, Rare, Rare Holo, Ultra Rare, Illustration rare, One Diamond and so on. List card field values gives every rarity.
- Set (`set_id`, text): Optional. Only cards from this set, chosen from the list or typed as its id, such as swsh3.
- Series (`serie_id`, text): Optional. Only sets or cards of this series, chosen from the list or typed as its id, such as swsh or tcgp for Pokemon TCG Pocket.
- Illustrator (`illustrator`, text): Optional. Only cards by this illustrator, spelled as TCGdex credits them, such as Ken Sugimori or Mitsuhiro Arita.
- Stage (`stage`, text): Optional. Only Pokemon of this stage, such as Basic or VMAX. One of: `Baby`, `Basic`, `Stage1`, `Stage2`, `BREAK`, `LEVEL-UP`, `MEGA`, `RESTORED`, `V-UNION`, `VMAX`, `VSTAR`.
- Suffix (`suffix`, text): Optional. Only Pokemon with this suffix after the name, such as ex, GX or V. One of: `EX`, `GX`, `Legend`, `Prime`, `SP`, `TAG TEAM-GX`, `V`, `ex`.
- Trainer type (`trainer_type`, text): Optional. Only Trainer cards of this kind: Item, Supporter, Stadium, Tool and so on. One of: `Item`, `Supporter`, `Stadium`, `Tool`, `Technical Machine`, `Rocket's Secret Machine`.
- Energy type (`energy_type`, text): Optional. Only Energy cards of this kind: Normal (basic energy) or Special. One of: `Normal`, `Special`.
- Evolves from (`evolves_from`, text): Optional. Only Pokemon that evolve from this one, such as Sentret to find every Furret.
- Pokedex number (`dex_id`, number): Optional. Only cards of the Pokemon with this National Pokedex number, such as 25 for Pikachu. At least 1.
- Minimum HP (`hp_min`, number): Optional. Only Pokemon with at least this many HP. At least 0.
- Maximum HP (`hp_max`, number): Optional. Only Pokemon with at most this many HP. At least 0.
- Retreat cost (`retreat`, number): Optional. Only Pokemon with exactly this retreat cost. At least 0.
- Regulation mark (`regulation_mark`, text): Optional. Only cards with this regulation mark, the letter in the bottom corner that decides Standard legality, such as G or H.
- Only cards with an image (`with_image`, true/false): Optional. Leave out the cards TCGdex has no image of yet, for a workflow that posts the picture. Default: `false`.
- Sort by (`sort_by`, text): Optional. How to order the cards: by id, by number in the set or by name. Leave blank for the database's own order, which is by number within each set. One of: `id` (Card id), `localId` (Number in the set), `name`.
- Sort order (`sort_order`, text): Optional. Which way to order the list. Only applies alongside Sort by. One of: `ASC` (Ascending), `DESC` (Descending).
- Page (`page`, number): Optional. Which page of the result to return. Defaults to the first; the result's next_page says which to ask for next. At least 1. Default: `1`.
- Cards per page (`items_per_page`, number): Optional. How many cards to return per page, from 1 to 250. Defaults to 25. From 1 to 250. Default: `25`.
- Language (`language`, text): Optional. The language to read the card data in. Defaults to English. English and French are complete; the others are still being filled in, so a card may be missing in one of them while present in English. One of: `en` (English), `fr` (French), `es` (Spanish), `es-mx` (Spanish (Mexico)), `it` (Italian), `pt` (Portuguese), `pt-br` (Portuguese (Brazil)), `pt-pt` (Portuguese (Portugal)), `de` (German), `nl` (Dutch), and 8 more. Default: `en`.

**Outputs**: One page of the cards that matched.

- `cards` (list): The cards on this page, each in brief. Get a card takes the id.
- `count` (number): How many cards this page holds.
- `has_more` (true/false): Whether more cards are left after this page.
- `items_per_page` (number): How many cards a page holds.
- `language` (text): The language the data was read in, as a code.
- `next_page` (number): The page to ask for next. Null on the last page.
- `page` (number): Which page this is, from 1.
- `total_count` (number): How many cards matched in all.
- `total_pages` (number): How many pages the result runs to.

**Example output**

```json
{
  "cards": [
    {
      "id": "swsh3-136",
      "image": "https://assets.tcgdex.net/en/swsh/swsh3/136",
      "image_url": "https://assets.tcgdex.net/en/swsh/swsh3/136/high.png",
      "image_url_webp": "https://assets.tcgdex.net/en/swsh/swsh3/136/high.webp",
      "local_id": "136",
      "name": "Furret",
      "set_id": "swsh3",
      "thumbnail_url": "https://assets.tcgdex.net/en/swsh/swsh3/136/low.png"
    },
    {
      "id": "sv09-168",
      "image": "https://assets.tcgdex.net/en/sv/sv09/168",
      "image_url": "https://assets.tcgdex.net/en/sv/sv09/168/high.png",
      "image_url_webp": "https://assets.tcgdex.net/en/sv/sv09/168/high.webp",
      "local_id": "168",
      "name": "Furret",
      "set_id": "sv09",
      "thumbnail_url": "https://assets.tcgdex.net/en/sv/sv09/168/low.png"
    },
    {
      "id": "sv09-119",
      "image": "https://assets.tcgdex.net/en/sv/sv09/119",
      "image_url": "https://assets.tcgdex.net/en/sv/sv09/119/high.png",
      "image_url_webp": "https://assets.tcgdex.net/en/sv/sv09/119/high.webp",
      "local_id": "119",
      "name": "Furret",
      "set_id": "sv09",
      "thumbnail_url": "https://assets.tcgdex.net/en/sv/sv09/119/low.png"
    }
  ],
  "count": 3,
  "has_more": true,
  "items_per_page": 3,
  "language": "en",
  "next_page": 2,
  "page": 1,
  "total_count": 4,
  "total_pages": 2
}
```
