Skip to content
Prepaid, no subscription trap. Top up a balance and we draw the monthly fee from it.
tcggraph

Get a set

One set and a page of its cards.

GEThttps://api.tcggraph.com/v1/sets/{code}2 credits · metering

Billed as a search, 2 credits, because it returns a page of cards: the same work as /v1/cards?set=.

Every /v1/cards filter applies to the cards listed, and meta is the card list's, with priceSource.

Path parameters

ParameterTypeDescription
coderequiredstringThe set code, case-insensitive.

Query parameters

Any other query parameter is a 400 naming it and listing these, so a misspelt one is never silently ignored. api_key is accepted on every endpoint as an alternative to the header.

ParameterTypeDescription
gamestringWhich game's set, when the code exists in more than one. Set codes are unique within a game and language only.

One of: pokemon, magic-the-gathering, one-piece, yugioh, disney-lorcana, star-wars-unlimited, digimon, grand-archive, dragon-ball-super

languagestringWhich language's set: Pokémon sv3 is Obsidian Flames in English and Ruler of the Black Flame in Japanese. Without it the English set is used, and a code no English set has resolves in whatever language holds it. The cards listed are in the set's language unless this asks for another (de lists a set's German printings).

One of: en, de, fr, it, es, pt, ja, ko, ru, zhs, zht, th, id, ph, qya, dw, grc, he, ar, la, sa, all

Default: en, else the set's own

namestringPart of the English name. Case, accents and punctuation are ignored: charizard matches Charizard ex and Dark Charizard, pokedex matches Pokédex.
textstringPart of the rules text, case-insensitive.
collectorNumberstringThe printed number. Only the part before / counts and leading zeros are ignored, so 6, 006 and 006/165 match the same card. Numbers that print a set prefix keep it (OP05-119). Parallel and reprint printings that share a printed number are stored with a suffix (OP05-119_p2); the printed number matches all of them, and a number with the suffix matches only that one.
raritystringThe whole rarity, case-insensitive, as the game spells it (Double Rare, mythic, SR).
artiststringThe whole artist credit, case-insensitive. mitsuhiro arita matches; arita does not.
sourcestringWhich marketplace minPrice, maxPrice and sort=price read. Every card still returns all of its quotes. Case-insensitive. Echoed as meta.priceSource.

One of: cardmarket, tcgplayer, cardkingdom, manapool

Default: cardmarket

regionstringThe same choice by market: EU is cardmarket, NA and US are tcgplayer. Case-insensitive. source wins when both are sent.

One of: EU, NA, US

minPricenumberLowest retail market price, inclusive, in the source's currency (EUR on Cardmarket). Reads the normal finish where the card has one, otherwise one of its other retail finishes. Cards with no quote on the source are excluded.
maxPricenumberHighest retail market price, inclusive. Read the same way as minPrice.
sortstring- for descending. price reads the quote minPrice reads; gradedPrice reads the graded slot (PSA 10 unless grader and grade say otherwise); released is the set's release date. Cards without the value sort last either way. Ties break on id, so pages are stable.

One of: name, -name, price, -price, gradedPrice, -gradedPrice, released, -released

Default: name

graderstringWith grade, the graded slot sort=gradedPrice orders by. Both or neither. The slots that exist: raw/ungraded, any/7, any/8, any/9, any/9.5, psa/10, bgs/10, cgc/10, sgc/10.

One of: raw, any, psa, bgs, cgc, sgc

gradestringThe other half of the slot. Without either, sort=gradedPrice reads PSA 10.

One of: ungraded, 7, 8, 9, 9.5, 10

{field}stringAny gameData field the game declares (GET /v1/games/{slug} lists them as schema): types=fire, hp=330, colors=U. Case-insensitive; a list field matches when any member does; a nested field is a dotted path (banlist.tcg=forbidden). A name no game declares is a 400 naming what would have worked.
min{Field} / max{Field}numberInclusive bounds on a numeric gameData field: minHp=300, maxManaValue=2. A card without the field, or with a non-number such as *, is outside every bound.
pageintegerPage number, from 1. Below 1 reads as 1. A page past the end returns an empty data with hasMore: false.

Default: 1

limitintegerRows per page, 1 to 100. Out-of-range values are clamped, not refused; meta.limit reports the size used.

Default: 20

Response

200 The set, with a page of its cards.

FieldTypeDescription
dataobjectA Set object with its cards.
data.codestringThe set code.
data.gamestringThe game.

One of: pokemon, magic-the-gathering, one-piece, yugioh, disney-lorcana, star-wars-unlimited, digimon, grand-archive, dragon-ball-super

data.namestringThe set name.
data.languagestringThe set's language.
data.releasedAtstring | nullYYYY-MM-DD.
data.cardCountintegerCards in the set.
data.cardsCard[] (Card reference)The page of cards.
metaPageMetaPaging of cards.
meta.pageintegerThe page returned, from 1.
meta.limitintegerThe page size used, after clamping to 1–100.
meta.totalCountintegerRows matching the filters, across every page.
meta.totalPagesintegerceil(totalCount / limit), and at least 1.
meta.hasMorebooleanWhether a later page has rows. The loop condition for paging.
meta.priceSourcestringThe source minPrice, maxPrice and sort=price ran against: source or region if sent, else cardmarket.

One of: cardmarket, tcgplayer, cardkingdom, manapool

Examples

Real responses from the production API, recorded on 2026-09-24 by the script that also checks every field above against them. Arrays are shown in full.

151, two cards

curl "https://api.tcggraph.com/v1/sets/sv3pt5?limit=2" \
  -H "Authorization: Bearer $TCGGRAPH_API_KEY"
200 · X-Credits-Cost: 2
{
  "data": {
    "code": "sv3pt5",
    "game": "pokemon",
    "name": "151",
    "language": "en",
    "releasedAt": "2023-09-22",
    "cardCount": 207,
    "cards": [
      {
        "id": "pkm_sv3pt5_63",
        "game": "pokemon",
        "name": "Abra",
        "language": "en",
        "printedName": null,
        "englishId": null,
        "pricesFrom": "own",
        "set": {
          "code": "sv3pt5",
          "name": "151",
          "language": "en",
          "releasedAt": "2023-09-22"
        },
        "collectorNumber": "63",
        "rarity": "Common",
        "artist": "Mitsuhiro Arita",
        "text": "Abra can teleport in its sleep. Apparently the more deeply Abra sleeps, the farther its teleportations go.",
        "images": {
          "small": "https://cards.tcggraph.io/sv/pkm_sv3pt5_63/small.webp",
          "normal": "https://cards.tcggraph.io/sv/pkm_sv3pt5_63/normal.webp",
          "large": "https://cards.tcggraph.io/sv/pkm_sv3pt5_63/large.webp"
        },
        "hashes": {
          "phash": "b2324fc94fa5b4d0",
          "phashColor": "a23e4fc9cda4b494b29247cd4f25b4f0b23a85c44f6f78d0"
        },
        "prices": [
          {
            "source": "cardmarket",
            "region": "EU",
            "listType": "retail",
            "finish": "normal",
            "currency": "EUR",
            "market": 0.06,
            "low": 0.02,
            "trend": 0.06,
            "avg1": 0.03,
            "avg7": 0.05,
            "avg30": 0.07,
            "updatedAt": "2026-09-24T07:34:30.239Z"
          },
          {
            "source": "cardmarket",
            "region": "EU",
            "listType": "retail",
            "finish": "reverse-holo",
            "currency": "EUR",
            "market": 0.26,
            "low": 0.02,
            "trend": 0.26,
            "avg1": 0.17,
            "avg7": 0.27,
            "avg30": 0.27,
            "updatedAt": "2026-09-24T07:34:30.239Z"
          },
          {
            "source": "tcgplayer",
            "region": "NA",
            "listType": "retail",
            "finish": "normal",
            "currency": "USD",
            "market": 0.14,
            "low": 0.01,
            "trend": null,
            "avg1": null,
            "avg7": null,
            "avg30": null,
            "updatedAt": "2026-09-24T07:19:35.232Z"
          },
          {
            "source": "tcgplayer",
            "region": "NA",
            "listType": "retail",
            "finish": "reverse-holo",
            "currency": "USD",
            "market": 0.26,
            "low": 0.02,
            "trend": null,
            "avg1": null,
            "avg7": null,
            "avg30": null,
            "updatedAt": "2026-09-24T07:19:35.232Z"
          }
        ],
        "gradedPrices": [
          {
            "grader": "raw",
            "grade": "ungraded",
            "currency": "USD",
            "price": 0.2,
            "salesVolume": 130,
            "updatedAt": "2026-09-23T09:20:51.748Z"
          },
          {
            "grader": "any",
            "grade": "8",
            "currency": "USD",
            "price": 9.48,
            "salesVolume": 130,
            "updatedAt": "2026-09-23T09:20:51.748Z"
          },
          {
            "grader": "any",
            "grade": "9",
            "currency": "USD",
            "price": 10.5,
            "salesVolume": 130,
            "updatedAt": "2026-09-23T09:20:51.748Z"
          },
          {
            "grader": "any",
            "grade": "9.5",
            "currency": "USD",
            "price": 12,
            "salesVolume": 130,
            "updatedAt": "2026-09-23T09:20:51.748Z"
          },
          {
            "grader": "psa",
            "grade": "10",
            "currency": "USD",
            "price": 92,
            "salesVolume": 130,
            "updatedAt": "2026-09-23T09:20:51.748Z"
          },
          {
            "grader": "bgs",
            "grade": "10",
            "currency": "USD",
            "price": 120,
            "salesVolume": 130,
            "updatedAt": "2026-09-23T09:20:51.748Z"
          },
          {
            "grader": "cgc",
            "grade": "10",
            "currency": "USD",
            "price": 55,
            "salesVolume": 130,
            "updatedAt": "2026-09-23T09:20:51.748Z"
          },
          {
            "grader": "sgc",
            "grade": "10",
            "currency": "USD",
            "price": 55,
            "salesVolume": 130,
            "updatedAt": "2026-09-23T09:20:51.748Z"
          }
        ],
        "languagePrices": [
          {
            "source": "cardmarket",
            "language": "en",
            "finish": "normal",
            "currency": "EUR",
            "low": 0.02,
            "lowNm": 0.02,
            "market": 0.02,
            "offers": 18,
            "truncated": true,
            "truncatedAbove": 0.03,
            "conditions": [
              {
                "condition": "nm",
                "low": 0.02,
                "offers": 18
              }
            ],
            "updatedAt": "2026-09-24T02:33:49.076Z"
          },
          {
            "source": "cardmarket",
            "language": "it",
            "finish": "normal",
            "currency": "EUR",
            "low": 0.02,
            "lowNm": 0.02,
            "market": 0.02,
            "offers": 17,
            "truncated": true,
            "truncatedAbove": 0.03,
            "conditions": [
              {
                "condition": "nm",
                "low": 0.02,
                "offers": 14
              },
              {
                "condition": "ex",
                "low": 0.02,
                "offers": 3
              }
            ],
            "updatedAt": "2026-09-24T02:33:49.076Z"
          },
          {
            "source": "cardmarket",
            "language": "fr",
            "finish": "normal",
            "currency": "EUR",
            "low": 0.02,
            "lowNm": 0.02,
            "market": 0.02,
            "offers": 14,
            "truncated": true,
            "truncatedAbove": 0.03,
            "conditions": [
              {
                "condition": "mt",
                "low": 0.02,
                "offers": 1
              },
              {
                "condition": "nm",
                "low": 0.02,
                "offers": 12
              },
              {
                "condition": "lp",
                "low": 0.02,
                "offers": 1
              }
            ],
            "updatedAt": "2026-09-24T02:33:49.076Z"
          },
          {
            "source": "cardmarket",
            "language": "de",
            "finish": "normal",
            "currency": "EUR",
            "low": 0.02,
            "lowNm": 0.02,
            "market": 0.02,
            "offers": 1,
            "truncated": true,
            "truncatedAbove": 0.03,
            "conditions": [
              {
                "condition": "nm",
                "low": 0.02,
                "offers": 1
              }
            ],
            "updatedAt": "2026-09-24T02:33:49.076Z"
          }
        ],
        "printings": [
          {
            "key": "normal",
            "label": "Normal",
            "kind": "surface",
            "images": {
              "small": "https://cards.tcggraph.io/sv/pkm_sv3pt5_63/small.webp",
              "normal": "https://cards.tcggraph.io/sv/pkm_sv3pt5_63/normal.webp",
              "large": "https://cards.tcggraph.io/sv/pkm_sv3pt5_63/large.webp"
            },
            "imageFrom": "card",
            "externalIds": {
              "cardmarketId": 733658,
              "tcgplayerId": 516268
            },
            "prices": [
              {
                "source": "cardmarket",
                "region": "EU",
                "listType": "retail",
                "finish": "normal",
                "currency": "EUR",
                "market": 0.06,
                "low": 0.02,
                "trend": 0.06,
                "avg1": 0.03,
                "avg7": 0.05,
                "avg30": 0.07,
                "updatedAt": "2026-09-24T07:34:30.239Z"
              },
              {
                "source": "tcgplayer",
                "region": "NA",
                "listType": "retail",
                "finish": "normal",
                "currency": "USD",
                "market": 0.14,
                "low": 0.01,
                "trend": null,
                "avg1": null,
                "avg7": null,
                "avg30": null,
                "updatedAt": "2026-09-24T07:19:35.232Z"
              }
            ]
          },
          {
            "key": "reverse-holo",
            "label": "Reverse holo",
            "kind": "surface",
            "images": {
              "small": "https://cards.tcggraph.io/sv/pkm_sv3pt5_63/small.webp",
              "normal": "https://cards.tcggraph.io/sv/pkm_sv3pt5_63/normal.webp",
              "large": "https://cards.tcggraph.io/sv/pkm_sv3pt5_63/large.webp"
            },
            "imageFrom": "card",
            "externalIds": {
              "cardmarketId": 733658,
              "tcgplayerId": 516268
            },
            "prices": [
              {
                "source": "cardmarket",
                "region": "EU",
                "listType": "retail",
                "finish": "reverse-holo",
                "currency": "EUR",
                "market": 0.26,
                "low": 0.02,
                "trend": 0.26,
                "avg1": 0.17,
                "avg7": 0.27,
                "avg30": 0.27,
                "updatedAt": "2026-09-24T07:34:30.239Z"
              },
              {
                "source": "tcgplayer",
                "region": "NA",
                "listType": "retail",
                "finish": "reverse-holo",
                "currency": "USD",
                "market": 0.26,
                "low": 0.02,
                "trend": null,
                "avg1": null,
                "avg7": null,
                "avg30": null,
                "updatedAt": "2026-09-24T07:19:35.232Z"
              }
            ]
          }
        ],
        "priceStatus": {
          "cardmarket": "priced",
          "tcgplayer": "priced",
          "graded": "priced"
        },
        "legalities": {
          "expanded": "legal",
          "standard": "legal",
          "unlimited": "legal"
        },
        "gameData": {
          "hp": 50,
          "types": [
            "Psychic"
          ],
          "attacks": [
            {
              "cost": [
                "Psychic"
              ],
              "name": "Psyshot",
              "text": "",
              "damage": "20",
              "convertedEnergyCost": 1
            }
          ],
          "subtypes": [
            "Basic"
          ],
          "abilities": [],
          "supertype": "Pokémon",
          "weaknesses": [
            {
              "type": "Darkness",
              "value": "×2"
            }
          ],
          "evolvesFrom": null,
          "resistances": [
            {
              "type": "Fighting",
              "value": "-30"
            }
          ],
          "retreatCost": [
            "Colorless"
          ],
          "regulationMark": "G",
          "convertedRetreatCost": 1,
          "nationalPokedexNumbers": [
            63
          ]
        },
        "externalIds": {
          "cardmarketId": 733658,
          "tcgplayerId": 516268
        }
      },
      {
        "id": "pkm_sv3pt5_142",
        "game": "pokemon",
        "name": "Aerodactyl",
        "language": "en",
        "printedName": null,
        "englishId": null,
        "pricesFrom": "own",
        "set": {
          "code": "sv3pt5",
          "name": "151",
          "language": "en",
          "releasedAt": "2023-09-22"
        },
        "collectorNumber": "142",
        "rarity": "Rare",
        "artist": "Shinji Kanda",
        "text": "Aerodactyl's sawlike fangs can shred skin to tatters—even the skin of Steel-type Pokémon.",
        "images": {
          "small": "https://cards.tcggraph.io/sv/pkm_sv3pt5_142/small.webp",
          "normal": "https://cards.tcggraph.io/sv/pkm_sv3pt5_142/normal.webp",
          "large": "https://cards.tcggraph.io/sv/pkm_sv3pt5_142/large.webp"
        },
        "hashes": {
          "phash": "ef6bd090903787c3",
          "phashColor": "ef6ad09090379793eb6bd190903787c5eb6b9090903fc7c3"
        },
        "prices": [
          {
            "source": "cardmarket",
            "region": "EU",
            "listType": "retail",
            "finish": "foil",
            "currency": "EUR",
            "market": 0.3,
            "low": 0.02,
            "trend": 0.3,
            "avg1": 0.31,
            "avg7": 0.32,
            "avg30": 0.31,
            "updatedAt": "2026-09-24T07:34:30.239Z"
          },
          {
            "source": "cardmarket",
            "region": "EU",
            "listType": "retail",
            "finish": "reverse-holo",
            "currency": "EUR",
            "market": 2.13,
            "low": 0.4,
            "trend": 2.13,
            "avg1": 2.95,
            "avg7": 2.21,
            "avg30": 2.11,
            "updatedAt": "2026-09-24T07:34:30.239Z"
          },
          {
            "source": "tcgplayer",
            "region": "NA",
            "listType": "retail",
            "finish": "foil",
            "currency": "USD",
            "market": 0.35,
            "low": 0.1,
            "trend": null,
            "avg1": null,
            "avg7": null,
            "avg30": null,
            "updatedAt": "2026-09-24T07:19:35.232Z"
          },
          {
            "source": "tcgplayer",
            "region": "NA",
            "listType": "retail",
            "finish": "reverse-holo",
            "currency": "USD",
            "market": 1.28,
            "low": 0.4,
            "trend": null,
            "avg1": null,
            "avg7": null,
            "avg30": null,
            "updatedAt": "2026-09-24T07:19:35.232Z"
          }
        ],
        "gradedPrices": [
          {
            "grader": "raw",
            "grade": "ungraded",
            "currency": "USD",
            "price": 1.49,
            "salesVolume": 181,
            "updatedAt": "2026-09-23T09:20:51.748Z"
          },
          {
            "grader": "any",
            "grade": "8",
            "currency": "USD",
            "price": 14.04,
            "salesVolume": 181,
            "updatedAt": "2026-09-23T09:20:51.748Z"
          },
          {
            "grader": "any",
            "grade": "9",
            "currency": "USD",
            "price": 15,
            "salesVolume": 181,
            "updatedAt": "2026-09-23T09:20:51.748Z"
          },
          {
            "grader": "any",
            "grade": "9.5",
            "currency": "USD",
            "price": 17,
            "salesVolume": 181,
            "updatedAt": "2026-09-23T09:20:51.748Z"
          },
          {
            "grader": "psa",
            "grade": "10",
            "currency": "USD",
            "price": 119.02,
            "salesVolume": 181,
            "updatedAt": "2026-09-23T09:20:51.748Z"
          },
          {
            "grader": "bgs",
            "grade": "10",
            "currency": "USD",
            "price": 155,
            "salesVolume": 181,
            "updatedAt": "2026-09-23T09:20:51.748Z"
          },
          {
            "grader": "cgc",
            "grade": "10",
            "currency": "USD",
            "price": 22,
            "salesVolume": 181,
            "updatedAt": "2026-09-23T09:20:51.748Z"
          },
          {
            "grader": "sgc",
            "grade": "10",
            "currency": "USD",
            "price": 71,
            "salesVolume": 181,
            "updatedAt": "2026-09-23T09:20:51.748Z"
          }
        ],
        "languagePrices": [
          {
            "source": "cardmarket",
            "language": "en",
            "finish": "foil",
            "currency": "EUR",
            "low": 0.02,
            "lowNm": 0.02,
            "market": 0.1,
            "offers": 13,
            "truncated": true,
            "truncatedAbove": 0.1,
            "conditions": [
              {
                "condition": "nm",
                "low": 0.02,
                "offers": 13
              }
            ],
            "updatedAt": "2026-09-24T02:32:13.283Z"
          },
          {
            "source": "cardmarket",
            "language": "it",
            "finish": "foil",
            "currency": "EUR",
            "low": 0.02,
            "lowNm": 0.02,
            "market": 0.05,
            "offers": 33,
            "truncated": true,
            "truncatedAbove": 0.1,
            "conditions": [
              {
                "condition": "nm",
                "low": 0.02,
                "offers": 32
              },
              {
                "condition": "ex",
                "low": 0.1,
                "offers": 1
              }
            ],
            "updatedAt": "2026-09-24T02:32:13.283Z"
          },
          {
            "source": "cardmarket",
            "language": "fr",
            "finish": "foil",
            "currency": "EUR",
            "low": 0.05,
            "lowNm": 0.05,
            "market": 0.1,
            "offers": 4,
            "truncated": true,
            "truncatedAbove": 0.1,
            "conditions": [
              {
                "condition": "nm",
                "low": 0.05,
                "offers": 4
              }
            ],
            "updatedAt": "2026-09-24T02:32:13.283Z"
          },
          {
            "source": "cardmarket",
            "language": "de",
            "finish": "foil",
            "currency": "EUR",
            "low": 0.09,
            "lowNm": 0.09,
            "market": 0.09,
            "offers": 1,
            "truncated": true,
            "truncatedAbove": 0.1,
            "conditions": [
              {
                "condition": "nm",
                "low": 0.09,
                "offers": 1
              }
            ],
            "updatedAt": "2026-09-14T13:15:19.186Z"
          },
          {
            "source": "cardmarket",
            "language": "fr",
            "finish": "reverse-holo",
            "currency": "EUR",
            "low": 0.05,
            "lowNm": 0.05,
            "market": 0.05,
            "offers": 1,
            "truncated": true,
            "truncatedAbove": 0.1,
            "conditions": [],
            "updatedAt": "2026-09-19T05:03:34.974Z"
          }
        ],
        "printings": [
          {
            "key": "foil",
            "label": "Holofoil",
            "kind": "surface",
            "images": {
              "small": "https://cards.tcggraph.io/sv/pkm_sv3pt5_142/small.webp",
              "normal": "https://cards.tcggraph.io/sv/pkm_sv3pt5_142/normal.webp",
              "large": "https://cards.tcggraph.io/sv/pkm_sv3pt5_142/large.webp"
            },
            "imageFrom": "card",
            "externalIds": {
              "cardmarketId": 733737,
              "tcgplayerId": 516705
            },
            "prices": [
              {
                "source": "cardmarket",
                "region": "EU",
                "listType": "retail",
                "finish": "foil",
                "currency": "EUR",
                "market": 0.3,
                "low": 0.02,
                "trend": 0.3,
                "avg1": 0.31,
                "avg7": 0.32,
                "avg30": 0.31,
                "updatedAt": "2026-09-24T07:34:30.239Z"
              },
              {
                "source": "tcgplayer",
                "region": "NA",
                "listType": "retail",
                "finish": "foil",
                "currency": "USD",
                "market": 0.35,
                "low": 0.1,
                "trend": null,
                "avg1": null,
                "avg7": null,
                "avg30": null,
                "updatedAt": "2026-09-24T07:19:35.232Z"
              }
            ]
          },
          {
            "key": "reverse-holo",
            "label": "Reverse holo",
            "kind": "surface",
            "images": {
              "small": "https://cards.tcggraph.io/sv/pkm_sv3pt5_142/small.webp",
              "normal": "https://cards.tcggraph.io/sv/pkm_sv3pt5_142/normal.webp",
              "large": "https://cards.tcggraph.io/sv/pkm_sv3pt5_142/large.webp"
            },
            "imageFrom": "card",
            "externalIds": {
              "cardmarketId": 733737,
              "tcgplayerId": 516705
            },
            "prices": [
              {
                "source": "cardmarket",
                "region": "EU",
                "listType": "retail",
                "finish": "reverse-holo",
                "currency": "EUR",
                "market": 2.13,
                "low": 0.4,
                "trend": 2.13,
                "avg1": 2.95,
                "avg7": 2.21,
                "avg30": 2.11,
                "updatedAt": "2026-09-24T07:34:30.239Z"
              },
              {
                "source": "tcgplayer",
                "region": "NA",
                "listType": "retail",
                "finish": "reverse-holo",
                "currency": "USD",
                "market": 1.28,
                "low": 0.4,
                "trend": null,
                "avg1": null,
                "avg7": null,
                "avg30": null,
                "updatedAt": "2026-09-24T07:19:35.232Z"
              }
            ]
          }
        ],
        "priceStatus": {
          "cardmarket": "priced",
          "tcgplayer": "priced",
          "graded": "priced"
        },
        "legalities": {
          "expanded": "legal",
          "standard": "legal",
          "unlimited": "legal"
        },
        "gameData": {
          "hp": 130,
          "types": [
            "Colorless"
          ],
          "attacks": [
            {
              "cost": [
                "Colorless"
              ],
              "name": "Glide",
              "text": "",
              "damage": "30",
              "convertedEnergyCost": 1
            },
            {
              "cost": [
                "Colorless",
                "Colorless"
              ],
              "name": "Devolution Ray",
              "text": "If your opponent's Active Pokémon is an evolved Pokémon, devolve it by putting the highest Stage Evolution card on it into your opponent's hand.",
              "damage": "100",
              "convertedEnergyCost": 2
            }
          ],
          "subtypes": [
            "Stage 1"
          ],
          "abilities": [],
          "supertype": "Pokémon",
          "weaknesses": [
            {
              "type": "Lightning",
              "value": "×2"
            }
          ],
          "evolvesFrom": "Antique Old Amber",
          "resistances": [
            {
              "type": "Fighting",
              "value": "-30"
            }
          ],
          "retreatCost": [],
          "regulationMark": "G",
          "convertedRetreatCost": null,
          "nationalPokedexNumbers": [
            142
          ]
        },
        "externalIds": {
          "cardmarketId": 733737,
          "tcgplayerId": 516705
        }
      }
    ]
  },
  "meta": {
    "page": 1,
    "limit": 2,
    "totalCount": 207,
    "totalPages": 104,
    "hasMore": true,
    "priceSource": "cardmarket"
  }
}

A Japanese-only set, no language needed

curl "https://api.tcggraph.com/v1/sets/m6a?game=pokemon&limit=1" \
  -H "Authorization: Bearer $TCGGRAPH_API_KEY"
200 · X-Credits-Cost: 2
{
  "data": {
    "code": "m6a",
    "game": "pokemon",
    "name": "MEGA Expansion 30th Celebration",
    "language": "ja",
    "releasedAt": "2026-09-16",
    "cardCount": 171,
    "cards": [
      {
        "id": "pkm_ja_m6a_104",
        "game": "pokemon",
        "name": "Alolan Exeggutor",
        "language": "ja",
        "printedName": null,
        "englishId": "pkm_me55_129",
        "pricesFrom": "own",
        "set": {
          "code": "m6a",
          "name": "MEGA Expansion 30th Celebration",
          "language": "ja",
          "releasedAt": "2026-09-16"
        },
        "collectorNumber": "104",
        "rarity": "Art Rare",
        "artist": null,
        "text": "As it grew taller and taller, it outgrew its reliance on psychic powers, while within it awakened the power of the sleeping dragon.",
        "images": {
          "small": "https://cards.tcggraph.io/ja/pkm_ja_m6a_104/small.webp",
          "normal": "https://cards.tcggraph.io/ja/pkm_ja_m6a_104/normal.webp",
          "large": "https://cards.tcggraph.io/ja/pkm_ja_m6a_104/large.webp"
        },
        "hashes": {
          "phash": "eb98539a9535da82",
          "phashColor": "fa5ad084a52ddb4aab98439a9635da93eac939da94769183"
        },
        "prices": [
          {
            "source": "cardmarket",
            "region": "EU",
            "listType": "retail",
            "finish": "foil",
            "currency": "EUR",
            "market": 4.47,
            "low": 4.49,
            "trend": 4.47,
            "avg1": 5.5,
            "avg7": 8.3,
            "avg30": 8.3,
            "updatedAt": "2026-09-24T07:45:18.974Z"
          },
          {
            "source": "tcgplayer",
            "region": "NA",
            "listType": "retail",
            "finish": "foil",
            "currency": "USD",
            "market": 14.32,
            "low": 5.49,
            "trend": null,
            "avg1": null,
            "avg7": null,
            "avg30": null,
            "updatedAt": "2026-09-24T00:00:09.612Z"
          }
        ],
        "gradedPrices": [],
        "languagePrices": [
          {
            "source": "cardmarket",
            "language": "ja",
            "finish": "foil",
            "currency": "EUR",
            "low": 4,
            "lowNm": 4,
            "market": 5,
            "offers": 14,
            "truncated": false,
            "truncatedAbove": null,
            "conditions": [
              {
                "condition": "nm",
                "low": 4,
                "offers": 14
              }
            ],
            "updatedAt": "2026-09-24T06:21:00.661Z"
          },
          {
            "source": "cardmarket",
            "language": "ko",
            "finish": "foil",
            "currency": "EUR",
            "low": 4.5,
            "lowNm": 4.5,
            "market": 4.5,
            "offers": 1,
            "truncated": false,
            "truncatedAbove": null,
            "conditions": [
              {
                "condition": "nm",
                "low": 4.5,
                "offers": 1
              }
            ],
            "updatedAt": "2026-09-24T06:21:00.661Z"
          }
        ],
        "printings": [
          {
            "key": "foil",
            "label": "Holofoil",
            "kind": "surface",
            "images": {
              "small": "https://cards.tcggraph.io/ja/pkm_ja_m6a_104/small.webp",
              "normal": "https://cards.tcggraph.io/ja/pkm_ja_m6a_104/normal.webp",
              "large": "https://cards.tcggraph.io/ja/pkm_ja_m6a_104/large.webp"
            },
            "imageFrom": "card",
            "externalIds": {
              "cardmarketId": 907869,
              "tcgplayerId": 716906
            },
            "prices": [
              {
                "source": "cardmarket",
                "region": "EU",
                "listType": "retail",
                "finish": "foil",
                "currency": "EUR",
                "market": 4.47,
                "low": 4.49,
                "trend": 4.47,
                "avg1": 5.5,
                "avg7": 8.3,
                "avg30": 8.3,
                "updatedAt": "2026-09-24T07:45:18.974Z"
              },
              {
                "source": "tcgplayer",
                "region": "NA",
                "listType": "retail",
                "finish": "foil",
                "currency": "USD",
                "market": 14.32,
                "low": 5.49,
                "trend": null,
                "avg1": null,
                "avg7": null,
                "avg30": null,
                "updatedAt": "2026-09-24T00:00:09.612Z"
              }
            ]
          }
        ],
        "priceStatus": {
          "cardmarket": "priced",
          "tcgplayer": "priced",
          "graded": null
        },
        "legalities": {},
        "gameData": {
          "hp": 150,
          "types": [
            "Grass"
          ],
          "attacks": [
            {
              "cost": [
                "Grass",
                "Colorless",
                "Colorless",
                "Colorless"
              ],
              "name": "Mega Drain",
              "text": "Heal 50 damage from this Pokemon.",
              "damage": "150",
              "convertedEnergyCost": 4
            }
          ],
          "subtypes": [
            "Stage 1"
          ],
          "abilities": [
            {
              "name": "Scale Up",
              "text": "If this Pokemon has 6 or more Grass Energy attached, it gets +250 HP.",
              "type": "Ability"
            }
          ],
          "supertype": "Pokémon",
          "weaknesses": [
            {
              "type": "Fire",
              "value": "×2"
            }
          ],
          "evolvesFrom": null,
          "resistances": [],
          "retreatCost": [
            "Colorless",
            "Colorless",
            "Colorless",
            "Colorless"
          ],
          "catalogSource": "tcgplayer",
          "regulationMark": null,
          "convertedRetreatCost": 4,
          "nationalPokedexNumbers": []
        },
        "externalIds": {
          "cardmarketId": 907869,
          "tcgplayerId": 716906
        }
      }
    ]
  },
  "meta": {
    "page": 1,
    "limit": 1,
    "totalCount": 171,
    "totalPages": 171,
    "hasMore": true,
    "priceSource": "cardmarket"
  }
}

Errors

Every error has the same body; switch on error.code. Any endpoint can also answer 401, 402, 403 or 429 for reasons of key, plan or rate; those are on Errors.

StatusCodeWhen
400invalid_requestThe code exists in more than one game (details.field is game) or, with language=all, more than one language (details.field is language). details.matches lists them.
404not_foundNo set has the code, in the language asked for.

Code in two games

curl "https://api.tcggraph.com/v1/sets/OP16" \
  -H "Authorization: Bearer $TCGGRAPH_API_KEY"
400
{
  "error": {
    "code": "invalid_request",
    "message": "Set code \"OP16\" exists in more than one game. Add ?game= to choose.",
    "details": {
      "field": "game",
      "matches": [
        {
          "game": "one-piece",
          "language": "en",
          "name": "THE TIME OF BATTLE"
        },
        {
          "game": "yugioh",
          "language": "en",
          "name": "OTS Tournament Pack 16"
        }
      ]
    }
  }
}

Unknown code

curl "https://api.tcggraph.com/v1/sets/nope?game=pokemon" \
  -H "Authorization: Bearer $TCGGRAPH_API_KEY"
404
{
  "error": {
    "code": "not_found",
    "message": "No set with code \"nope\"."
  }
}