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

List cards

Search and filter the catalogue. Every filter is optional and they combine with AND.

GEThttps://api.tcggraph.com/v1/cards2 credits · metering

English printings only unless language says otherwise, so a card appears once per set rather than once per language.

A parameter this endpoint cannot act on is a 400, never an answer that ignores it: an unknown name, a sort or source outside its list, a limit that is not a number. details.allowed lists what would have worked. Without game, the gameData fields of every game are accepted, and a card without the field simply does not match.

Each card is the full Card object, prices included. There is no field selection over REST; GraphQL selects fields.

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
gamestringOnly this game. Also narrows which gameData fields are accepted as filters.

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

Default: every game

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.
setstringA set code, matched whole, or part of a set name; case-insensitive. sv3pt5 and 151 both find Pokémon's 151.
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.
languagestringThe printings' language, or all for every language. Case-insensitive; jp, kr and sp are read as ja, ko and es. The default is English, so a set printed only in Japanese (set=m6a) lists nothing without language=ja.

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

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 A page of cards.

FieldTypeDescription
dataCard[] (Card reference)The page of cards.
metaPageMetaPaging.
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.

Search by name

curl "https://api.tcggraph.com/v1/cards?game=pokemon&name=charizard&limit=2" \
  -H "Authorization: Bearer $TCGGRAPH_API_KEY"
200 · X-Credits-Cost: 2
{
  "data": [
    {
      "id": "pkm_gym2_2",
      "game": "pokemon",
      "name": "Blaine's Charizard",
      "language": "en",
      "printedName": null,
      "englishId": null,
      "pricesFrom": "own",
      "set": {
        "code": "gym2",
        "name": "Gym Challenge",
        "language": "en",
        "releasedAt": "2000-10-16"
      },
      "collectorNumber": "2",
      "rarity": "Rare Holo",
      "artist": "Ken Sugimori",
      "text": null,
      "images": {
        "small": "https://cards.tcggraph.io/gy/pkm_gym2_2/small.webp",
        "normal": "https://cards.tcggraph.io/gy/pkm_gym2_2/normal.webp",
        "large": "https://cards.tcggraph.io/gy/pkm_gym2_2/large.webp"
      },
      "hashes": {
        "phash": "eb6bc0909c8ecdc5",
        "phashColor": "eb6bc0b4949fc4c4eb6ac09098aecfc5c17ac1c04be7790f"
      },
      "prices": [
        {
          "source": "cardmarket",
          "region": "EU",
          "listType": "retail",
          "finish": "foil",
          "currency": "EUR",
          "market": 752.99,
          "low": 109.9,
          "trend": 752.99,
          "avg1": 109.89,
          "avg7": 829.96,
          "avg30": 535.78,
          "updatedAt": "2026-09-24T07:34:30.239Z"
        },
        {
          "source": "tcgplayer",
          "region": "NA",
          "listType": "retail",
          "finish": "1st-edition-foil",
          "currency": "USD",
          "market": 699.99,
          "low": 1900,
          "trend": null,
          "avg1": null,
          "avg7": null,
          "avg30": null,
          "updatedAt": "2026-09-24T07:19:35.232Z"
        },
        {
          "source": "tcgplayer",
          "region": "NA",
          "listType": "retail",
          "finish": "foil",
          "currency": "USD",
          "market": 599.34,
          "low": 461.99,
          "trend": null,
          "avg1": null,
          "avg7": null,
          "avg30": null,
          "updatedAt": "2026-09-24T07:19:35.232Z"
        }
      ],
      "gradedPrices": [
        {
          "grader": "raw",
          "grade": "ungraded",
          "currency": "USD",
          "price": 445,
          "salesVolume": 441,
          "updatedAt": "2026-09-23T09:20:51.748Z"
        },
        {
          "grader": "any",
          "grade": "7",
          "currency": "USD",
          "price": 537.18,
          "salesVolume": 441,
          "updatedAt": "2026-09-23T09:20:51.748Z"
        },
        {
          "grader": "any",
          "grade": "8",
          "currency": "USD",
          "price": 740,
          "salesVolume": 441,
          "updatedAt": "2026-09-23T09:20:51.748Z"
        },
        {
          "grader": "any",
          "grade": "9",
          "currency": "USD",
          "price": 1228.28,
          "salesVolume": 441,
          "updatedAt": "2026-09-23T09:20:51.748Z"
        },
        {
          "grader": "any",
          "grade": "9.5",
          "currency": "USD",
          "price": 1771.06,
          "salesVolume": 441,
          "updatedAt": "2026-09-23T09:20:51.748Z"
        },
        {
          "grader": "psa",
          "grade": "10",
          "currency": "USD",
          "price": 6319.05,
          "salesVolume": 441,
          "updatedAt": "2026-09-23T09:20:51.748Z"
        },
        {
          "grader": "bgs",
          "grade": "10",
          "currency": "USD",
          "price": 8215,
          "salesVolume": 441,
          "updatedAt": "2026-09-23T09:20:51.748Z"
        },
        {
          "grader": "cgc",
          "grade": "10",
          "currency": "USD",
          "price": 3769.14,
          "salesVolume": 441,
          "updatedAt": "2026-09-23T09:20:51.748Z"
        },
        {
          "grader": "sgc",
          "grade": "10",
          "currency": "USD",
          "price": 3791,
          "salesVolume": 441,
          "updatedAt": "2026-09-23T09:20:51.748Z"
        }
      ],
      "languagePrices": [
        {
          "source": "cardmarket",
          "language": "en",
          "finish": "foil",
          "currency": "EUR",
          "low": 109.9,
          "lowNm": null,
          "market": 262.5,
          "offers": 50,
          "truncated": true,
          "truncatedAbove": 470,
          "conditions": [
            {
              "condition": "ex",
              "low": 449,
              "offers": 1
            },
            {
              "condition": "gd",
              "low": 250,
              "offers": 11
            },
            {
              "condition": "lp",
              "low": 250,
              "offers": 6
            },
            {
              "condition": "pl",
              "low": 189.99,
              "offers": 13
            },
            {
              "condition": "po",
              "low": 109.9,
              "offers": 19
            }
          ],
          "updatedAt": "2026-09-23T16:25:17.509Z"
        }
      ],
      "printings": [
        {
          "key": "foil",
          "label": "Holofoil",
          "kind": "surface",
          "images": {
            "small": "https://cards.tcggraph.io/gy/pkm_gym2_2/small.webp",
            "normal": "https://cards.tcggraph.io/gy/pkm_gym2_2/normal.webp",
            "large": "https://cards.tcggraph.io/gy/pkm_gym2_2/large.webp"
          },
          "imageFrom": "card",
          "externalIds": {
            "cardmarketId": 274270,
            "tcgplayerId": 83861
          },
          "prices": [
            {
              "source": "cardmarket",
              "region": "EU",
              "listType": "retail",
              "finish": "foil",
              "currency": "EUR",
              "market": 752.99,
              "low": 109.9,
              "trend": 752.99,
              "avg1": 109.89,
              "avg7": 829.96,
              "avg30": 535.78,
              "updatedAt": "2026-09-24T07:34:30.239Z"
            },
            {
              "source": "tcgplayer",
              "region": "NA",
              "listType": "retail",
              "finish": "foil",
              "currency": "USD",
              "market": 599.34,
              "low": 461.99,
              "trend": null,
              "avg1": null,
              "avg7": null,
              "avg30": null,
              "updatedAt": "2026-09-24T07:19:35.232Z"
            }
          ]
        },
        {
          "key": "1st-edition-foil",
          "label": "1st Edition holofoil",
          "kind": "edition",
          "images": {
            "small": "https://cards.tcggraph.io/gy/pkm_gym2_2/small.webp",
            "normal": "https://cards.tcggraph.io/gy/pkm_gym2_2/normal.webp",
            "large": "https://cards.tcggraph.io/gy/pkm_gym2_2/large.webp"
          },
          "imageFrom": "card",
          "externalIds": {
            "cardmarketId": 274270,
            "tcgplayerId": 83861
          },
          "prices": [
            {
              "source": "tcgplayer",
              "region": "NA",
              "listType": "retail",
              "finish": "1st-edition-foil",
              "currency": "USD",
              "market": 699.99,
              "low": 1900,
              "trend": null,
              "avg1": null,
              "avg7": null,
              "avg30": null,
              "updatedAt": "2026-09-24T07:19:35.232Z"
            }
          ]
        }
      ],
      "priceStatus": {
        "cardmarket": "priced",
        "tcgplayer": "priced",
        "graded": "priced"
      },
      "legalities": {
        "unlimited": "legal"
      },
      "gameData": {
        "hp": 100,
        "types": [
          "Fire"
        ],
        "attacks": [
          {
            "cost": [
              "Fire"
            ],
            "name": "Roaring Flames",
            "text": "Discard all Fire Energy cards attached to Blaine's Charizard. If all Energy cards attached to Blaine's Charizard provide 2 Fire Energy, discard all of them. This attack does 20 damage plus 20 more damage for each Fire Energy discarded in this way.",
            "damage": "20+",
            "convertedEnergyCost": 1
          },
          {
            "cost": [
              "Fire",
              "Fire"
            ],
            "name": "Flame Jet",
            "text": "Flip a coin. If heads, choose 1 of your opponent's Pokémon. This attack does 40 damage to that Pokémon. Don't apply Weakness and Resistance for this attack. (Any other effects that would happen after applying Weakness and Resistance still happen.)",
            "damage": "",
            "convertedEnergyCost": 2
          }
        ],
        "subtypes": [
          "Stage 2"
        ],
        "abilities": [],
        "supertype": "Pokémon",
        "weaknesses": [
          {
            "type": "Water",
            "value": "×2"
          }
        ],
        "evolvesFrom": "Blaine's Charmeleon",
        "resistances": [
          {
            "type": "Fighting",
            "value": "-30"
          }
        ],
        "retreatCost": [
          "Colorless",
          "Colorless",
          "Colorless"
        ],
        "regulationMark": null,
        "convertedRetreatCost": 3,
        "nationalPokedexNumbers": [
          6
        ]
      },
      "externalIds": {
        "cardmarketId": 274270,
        "tcgplayerId": 83861
      }
    },
    {
      "id": "pkm_ba2020_3_70",
      "game": "pokemon",
      "name": "Charizard",
      "language": "en",
      "printedName": null,
      "englishId": null,
      "pricesFrom": "own",
      "set": {
        "code": "ba2020",
        "name": "Battle Academy 2020",
        "language": "en",
        "releasedAt": "2020-07-31"
      },
      "collectorNumber": "3",
      "rarity": "Promo",
      "artist": null,
      "text": null,
      "images": {
        "small": "https://cards.tcggraph.io/ba/pkm_ba2020_3_70/small.webp",
        "normal": "https://cards.tcggraph.io/ba/pkm_ba2020_3_70/normal.webp",
        "large": "https://cards.tcggraph.io/ba/pkm_ba2020_3_70/large.webp"
      },
      "hashes": {
        "phash": "ef46d0b0b4372d89",
        "phashColor": "ea4ad890b527a59defc6e0b0b4372c89cfd4f838b0317a68"
      },
      "prices": [
        {
          "source": "tcgplayer",
          "region": "NA",
          "listType": "retail",
          "finish": "normal",
          "currency": "USD",
          "market": 7.45,
          "low": 5.91,
          "trend": null,
          "avg1": null,
          "avg7": null,
          "avg30": null,
          "updatedAt": "2026-09-24T07:19:35.232Z"
        }
      ],
      "gradedPrices": [],
      "languagePrices": [],
      "printings": [
        {
          "key": "normal",
          "label": "Normal",
          "kind": "surface",
          "images": {
            "small": "https://cards.tcggraph.io/ba/pkm_ba2020_3_70/small.webp",
            "normal": "https://cards.tcggraph.io/ba/pkm_ba2020_3_70/normal.webp",
            "large": "https://cards.tcggraph.io/ba/pkm_ba2020_3_70/large.webp"
          },
          "imageFrom": "card",
          "externalIds": {
            "cardmarketId": null,
            "tcgplayerId": 219058
          },
          "prices": [
            {
              "source": "tcgplayer",
              "region": "NA",
              "listType": "retail",
              "finish": "normal",
              "currency": "USD",
              "market": 7.45,
              "low": 5.91,
              "trend": null,
              "avg1": null,
              "avg7": null,
              "avg30": null,
              "updatedAt": "2026-09-24T07:19:35.232Z"
            }
          ]
        }
      ],
      "priceStatus": {
        "cardmarket": "unlisted",
        "tcgplayer": "priced",
        "graded": null
      },
      "legalities": {},
      "gameData": {
        "hp": 160,
        "types": [
          "Fire"
        ],
        "attacks": [
          {
            "cost": [],
            "name": "1RR] Fiery Blast",
            "text": "Discard an Energy from this Pokémon.",
            "damage": "130",
            "convertedEnergyCost": 0
          }
        ],
        "subtypes": [
          "Stage 2"
        ],
        "abilities": [],
        "supertype": "Pokémon",
        "weaknesses": [
          {
            "type": "Water",
            "value": "×2"
          }
        ],
        "evolvesFrom": null,
        "resistances": [],
        "retreatCost": [
          "Colorless",
          "Colorless"
        ],
        "catalogSource": "tcgplayer",
        "regulationMark": null,
        "printingVariant": "#39 Charizard Stamped",
        "convertedRetreatCost": 2,
        "nationalPokedexNumbers": []
      },
      "externalIds": {
        "cardmarketId": null,
        "tcgplayerId": 219058
      }
    }
  ],
  "meta": {
    "page": 1,
    "limit": 2,
    "totalCount": 158,
    "totalPages": 79,
    "hasMore": true,
    "priceSource": "cardmarket"
  }
}

Fire Pokémon with 300+ HP, dearest first on TCGplayer

curl "https://api.tcggraph.com/v1/cards?game=pokemon&types=fire&minHp=300&source=tcgplayer&sort=-price&limit=2" \
  -H "Authorization: Bearer $TCGGRAPH_API_KEY"
200 · X-Credits-Cost: 2
{
  "data": [
    {
      "id": "pkm_pps_20_189",
      "game": "pokemon",
      "name": "Charizard VMAX",
      "language": "en",
      "printedName": null,
      "englishId": null,
      "pricesFrom": "own",
      "set": {
        "code": "pps",
        "name": "Play! Pokémon Prize Pack Series",
        "language": "en",
        "releasedAt": null
      },
      "collectorNumber": "20",
      "rarity": "Ultra Rare",
      "artist": null,
      "text": null,
      "images": {
        "small": "https://tcgplayer-cdn.tcgplayer.com/product/475983_in_1000x1000.jpg",
        "normal": "https://tcgplayer-cdn.tcgplayer.com/product/475983_in_1000x1000.jpg",
        "large": "https://tcgplayer-cdn.tcgplayer.com/product/475983_in_1000x1000.jpg"
      },
      "hashes": null,
      "prices": [
        {
          "source": "tcgplayer",
          "region": "NA",
          "listType": "retail",
          "finish": "foil",
          "currency": "USD",
          "market": 1600,
          "low": 2750,
          "trend": null,
          "avg1": null,
          "avg7": null,
          "avg30": null,
          "updatedAt": "2026-09-24T07:19:35.232Z"
        }
      ],
      "gradedPrices": [],
      "languagePrices": [],
      "printings": [
        {
          "key": "foil",
          "label": "Holofoil",
          "kind": "surface",
          "images": {
            "small": "https://tcgplayer-cdn.tcgplayer.com/product/475983_in_1000x1000.jpg",
            "normal": "https://tcgplayer-cdn.tcgplayer.com/product/475983_in_1000x1000.jpg",
            "large": "https://tcgplayer-cdn.tcgplayer.com/product/475983_in_1000x1000.jpg"
          },
          "imageFrom": "card",
          "externalIds": {
            "cardmarketId": null,
            "tcgplayerId": 475983
          },
          "prices": [
            {
              "source": "tcgplayer",
              "region": "NA",
              "listType": "retail",
              "finish": "foil",
              "currency": "USD",
              "market": 1600,
              "low": 2750,
              "trend": null,
              "avg1": null,
              "avg7": null,
              "avg30": null,
              "updatedAt": "2026-09-24T07:19:35.232Z"
            }
          ]
        }
      ],
      "priceStatus": {
        "cardmarket": "set_unlisted",
        "tcgplayer": "priced",
        "graded": null
      },
      "legalities": {},
      "gameData": {
        "hp": 330,
        "types": [
          "Fire"
        ],
        "attacks": [
          {
            "cost": [],
            "name": "3] Claw Slash",
            "text": "",
            "damage": "100",
            "convertedEnergyCost": 0
          },
          {
            "cost": [],
            "name": "2RRR] G-Max Wildfire",
            "text": "Discard 2 Energy from this Pokémon.",
            "damage": "300",
            "convertedEnergyCost": 0
          }
        ],
        "subtypes": [
          "VMAX"
        ],
        "abilities": [],
        "supertype": "Pokémon",
        "weaknesses": [
          {
            "type": "Water",
            "value": "×2"
          }
        ],
        "evolvesFrom": null,
        "resistances": [],
        "retreatCost": [
          "Colorless",
          "Colorless",
          "Colorless"
        ],
        "catalogSource": "tcgplayer",
        "regulationMark": null,
        "convertedRetreatCost": 3,
        "nationalPokedexNumbers": []
      },
      "externalIds": {
        "cardmarketId": null,
        "tcgplayerId": 475983
      }
    },
    {
      "id": "pkm_me2_125",
      "game": "pokemon",
      "name": "Mega Charizard X ex",
      "language": "en",
      "printedName": null,
      "englishId": null,
      "pricesFrom": "own",
      "set": {
        "code": "me2",
        "name": "Phantasmal Flames",
        "language": "en",
        "releasedAt": "2025-11-14"
      },
      "collectorNumber": "125",
      "rarity": "Special Illustration Rare",
      "artist": "danciao",
      "text": null,
      "images": {
        "small": "https://cards.tcggraph.io/me/pkm_me2_125/small.webp",
        "normal": "https://cards.tcggraph.io/me/pkm_me2_125/normal.webp",
        "large": "https://cards.tcggraph.io/me/pkm_me2_125/large.webp"
      },
      "hashes": {
        "phash": "f2bbc0c43c5d8d32",
        "phashColor": "b26ee098e3f08db2f2bbc0e63c198d32e2b185663c1f9933"
      },
      "prices": [
        {
          "source": "cardmarket",
          "region": "EU",
          "listType": "retail",
          "finish": "foil",
          "currency": "EUR",
          "market": 666.84,
          "low": 320,
          "trend": 666.84,
          "avg1": 700,
          "avg7": 833.78,
          "avg30": 811.81,
          "updatedAt": "2026-09-24T07:34:30.239Z"
        },
        {
          "source": "tcgplayer",
          "region": "NA",
          "listType": "retail",
          "finish": "foil",
          "currency": "USD",
          "market": 685.09,
          "low": 645,
          "trend": null,
          "avg1": null,
          "avg7": null,
          "avg30": null,
          "updatedAt": "2026-09-24T07:19:35.232Z"
        }
      ],
      "gradedPrices": [
        {
          "grader": "raw",
          "grade": "ungraded",
          "currency": "USD",
          "price": 685,
          "salesVolume": 2289,
          "updatedAt": "2026-09-23T09:20:51.748Z"
        },
        {
          "grader": "any",
          "grade": "7",
          "currency": "USD",
          "price": 647.5,
          "salesVolume": 2289,
          "updatedAt": "2026-09-23T09:20:51.748Z"
        },
        {
          "grader": "any",
          "grade": "8",
          "currency": "USD",
          "price": 670.82,
          "salesVolume": 2289,
          "updatedAt": "2026-09-23T09:20:51.748Z"
        },
        {
          "grader": "any",
          "grade": "9",
          "currency": "USD",
          "price": 698.54,
          "salesVolume": 2289,
          "updatedAt": "2026-09-23T09:20:51.748Z"
        },
        {
          "grader": "any",
          "grade": "9.5",
          "currency": "USD",
          "price": 1200.77,
          "salesVolume": 2289,
          "updatedAt": "2026-09-23T09:20:51.748Z"
        },
        {
          "grader": "psa",
          "grade": "10",
          "currency": "USD",
          "price": 1837.03,
          "salesVolume": 2289,
          "updatedAt": "2026-09-23T09:20:51.748Z"
        },
        {
          "grader": "bgs",
          "grade": "10",
          "currency": "USD",
          "price": 3000,
          "salesVolume": 2289,
          "updatedAt": "2026-09-23T09:20:51.748Z"
        },
        {
          "grader": "cgc",
          "grade": "10",
          "currency": "USD",
          "price": 1021.59,
          "salesVolume": 2289,
          "updatedAt": "2026-09-23T09:20:51.748Z"
        },
        {
          "grader": "sgc",
          "grade": "10",
          "currency": "USD",
          "price": 1354.25,
          "salesVolume": 2289,
          "updatedAt": "2026-09-23T09:20:51.748Z"
        }
      ],
      "languagePrices": [
        {
          "source": "cardmarket",
          "language": "en",
          "finish": "foil",
          "currency": "EUR",
          "low": 350,
          "lowNm": null,
          "market": 350,
          "offers": 1,
          "truncated": true,
          "truncatedAbove": 548.95,
          "conditions": [
            {
              "condition": "gd",
              "low": 350,
              "offers": 1
            }
          ],
          "updatedAt": "2026-09-24T02:43:36.315Z"
        },
        {
          "source": "cardmarket",
          "language": "es",
          "finish": "foil",
          "currency": "EUR",
          "low": 320,
          "lowNm": 320,
          "market": 475,
          "offers": 30,
          "truncated": true,
          "truncatedAbove": 548.95,
          "conditions": [
            {
              "condition": "mt",
              "low": 420,
              "offers": 3
            },
            {
              "condition": "nm",
              "low": 320,
              "offers": 26
            },
            {
              "condition": "ex",
              "low": 525,
              "offers": 1
            }
          ],
          "updatedAt": "2026-09-24T02:43:36.315Z"
        },
        {
          "source": "cardmarket",
          "language": "de",
          "finish": "foil",
          "currency": "EUR",
          "low": 474.99,
          "lowNm": 495,
          "market": 534.98,
          "offers": 19,
          "truncated": true,
          "truncatedAbove": 548.95,
          "conditions": [
            {
              "condition": "nm",
              "low": 495,
              "offers": 15
            },
            {
              "condition": "ex",
              "low": 474.99,
              "offers": 4
            }
          ],
          "updatedAt": "2026-09-24T02:43:36.315Z"
        },
        {
          "source": "cardmarket",
          "language": "it",
          "finish": "foil",
          "currency": "EUR",
          "low": 499,
          "lowNm": null,
          "market": 499,
          "offers": 1,
          "truncated": true,
          "truncatedAbove": 549.99,
          "conditions": [
            {
              "condition": "ex",
              "low": 499,
              "offers": 1
            }
          ],
          "updatedAt": "2026-09-22T08:30:52.542Z"
        }
      ],
      "printings": [
        {
          "key": "foil",
          "label": "Holofoil",
          "kind": "surface",
          "images": {
            "small": "https://cards.tcggraph.io/me/pkm_me2_125/small.webp",
            "normal": "https://cards.tcggraph.io/me/pkm_me2_125/normal.webp",
            "large": "https://cards.tcggraph.io/me/pkm_me2_125/large.webp"
          },
          "imageFrom": "card",
          "externalIds": {
            "cardmarketId": 857700,
            "tcgplayerId": 662184
          },
          "prices": [
            {
              "source": "cardmarket",
              "region": "EU",
              "listType": "retail",
              "finish": "foil",
              "currency": "EUR",
              "market": 666.84,
              "low": 320,
              "trend": 666.84,
              "avg1": 700,
              "avg7": 833.78,
              "avg30": 811.81,
              "updatedAt": "2026-09-24T07:34:30.239Z"
            },
            {
              "source": "tcgplayer",
              "region": "NA",
              "listType": "retail",
              "finish": "foil",
              "currency": "USD",
              "market": 685.09,
              "low": 645,
              "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": 360,
        "types": [
          "Fire"
        ],
        "attacks": [
          {
            "cost": [
              "Fire",
              "Fire"
            ],
            "name": "Inferno X",
            "text": "Discard any amount of Fire Energy from among your Pokémon, and this attack does 90 damage for each card you discarded in this way.",
            "damage": "90×",
            "convertedEnergyCost": 2
          }
        ],
        "subtypes": [
          "Stage 2",
          "MEGA",
          "ex"
        ],
        "abilities": [],
        "supertype": "Pokémon",
        "weaknesses": [
          {
            "type": "Water",
            "value": "×2"
          }
        ],
        "evolvesFrom": "Charmeleon",
        "resistances": [],
        "retreatCost": [
          "Colorless",
          "Colorless"
        ],
        "regulationMark": "I",
        "convertedRetreatCost": 2,
        "nationalPokedexNumbers": [
          6
        ]
      },
      "externalIds": {
        "cardmarketId": 857700,
        "tcgplayerId": 662184
      }
    }
  ],
  "meta": {
    "page": 1,
    "limit": 2,
    "totalCount": 71,
    "totalPages": 36,
    "hasMore": true,
    "priceSource": "tcgplayer"
  }
}

German printings of one card

name stays English; printedName is the German name, and pricesFrom: "englishTwin" says the quotes are the English printing's.

curl "https://api.tcggraph.com/v1/cards?game=pokemon&set=sv3pt5&collectorNumber=6&language=de" \
  -H "Authorization: Bearer $TCGGRAPH_API_KEY"
200 · X-Credits-Cost: 2
{
  "data": [
    {
      "id": "pkm_sv3pt5_6_de",
      "game": "pokemon",
      "name": "Charizard ex",
      "language": "de",
      "printedName": "Glurak-ex",
      "englishId": "pkm_sv3pt5_6",
      "pricesFrom": "englishTwin",
      "set": {
        "code": "sv3pt5",
        "name": "151",
        "language": "en",
        "releasedAt": "2023-09-22"
      },
      "collectorNumber": "6",
      "rarity": "Double Rare",
      "artist": "PLANETA Mochizuki",
      "text": null,
      "images": {
        "small": "https://cards.tcggraph.io/sv/pkm_sv3pt5_6_de/small.webp",
        "normal": "https://cards.tcggraph.io/sv/pkm_sv3pt5_6_de/normal.webp",
        "large": "https://cards.tcggraph.io/sv/pkm_sv3pt5_6_de/large.webp"
      },
      "hashes": {
        "phash": "c35f15a4727b1c8c",
        "phashColor": "c35917b46aeb3984c35f14a4737b1c8ceb6e94e4d05a1a2b"
      },
      "prices": [
        {
          "source": "cardmarket",
          "region": "EU",
          "listType": "retail",
          "finish": "foil",
          "currency": "EUR",
          "market": 8.62,
          "low": 4,
          "trend": 8.62,
          "avg1": 7.03,
          "avg7": 8.8,
          "avg30": 8.47,
          "updatedAt": "2026-09-24T07:34:30.239Z"
        },
        {
          "source": "tcgplayer",
          "region": "NA",
          "listType": "retail",
          "finish": "foil",
          "currency": "USD",
          "market": 8.79,
          "low": 6,
          "trend": null,
          "avg1": null,
          "avg7": null,
          "avg30": null,
          "updatedAt": "2026-09-24T07:19:35.232Z"
        }
      ],
      "gradedPrices": [
        {
          "grader": "raw",
          "grade": "ungraded",
          "currency": "USD",
          "price": 8.12,
          "salesVolume": 370,
          "updatedAt": "2026-09-23T09:20:51.748Z"
        },
        {
          "grader": "any",
          "grade": "7",
          "currency": "USD",
          "price": 16.76,
          "salesVolume": 370,
          "updatedAt": "2026-09-23T09:20:51.748Z"
        },
        {
          "grader": "any",
          "grade": "8",
          "currency": "USD",
          "price": 17.75,
          "salesVolume": 370,
          "updatedAt": "2026-09-23T09:20:51.748Z"
        },
        {
          "grader": "any",
          "grade": "9",
          "currency": "USD",
          "price": 25,
          "salesVolume": 370,
          "updatedAt": "2026-09-23T09:20:51.748Z"
        },
        {
          "grader": "any",
          "grade": "9.5",
          "currency": "USD",
          "price": 25,
          "salesVolume": 370,
          "updatedAt": "2026-09-23T09:20:51.748Z"
        },
        {
          "grader": "psa",
          "grade": "10",
          "currency": "USD",
          "price": 125.65,
          "salesVolume": 370,
          "updatedAt": "2026-09-23T09:20:51.748Z"
        },
        {
          "grader": "bgs",
          "grade": "10",
          "currency": "USD",
          "price": 163,
          "salesVolume": 370,
          "updatedAt": "2026-09-23T09:20:51.748Z"
        },
        {
          "grader": "cgc",
          "grade": "10",
          "currency": "USD",
          "price": 34.46,
          "salesVolume": 370,
          "updatedAt": "2026-09-23T09:20:51.748Z"
        },
        {
          "grader": "sgc",
          "grade": "10",
          "currency": "USD",
          "price": 39,
          "salesVolume": 370,
          "updatedAt": "2026-09-23T09:20:51.748Z"
        }
      ],
      "languagePrices": [
        {
          "source": "cardmarket",
          "language": "en",
          "finish": "foil",
          "currency": "EUR",
          "low": 5,
          "lowNm": 5,
          "market": 5.5,
          "offers": 2,
          "truncated": true,
          "truncatedAbove": 6.26,
          "conditions": [
            {
              "condition": "nm",
              "low": 5,
              "offers": 2
            }
          ],
          "updatedAt": "2026-09-24T02:51:27.427Z"
        },
        {
          "source": "cardmarket",
          "language": "it",
          "finish": "foil",
          "currency": "EUR",
          "low": 4,
          "lowNm": 4,
          "market": 5.49,
          "offers": 47,
          "truncated": true,
          "truncatedAbove": 6.26,
          "conditions": [
            {
              "condition": "nm",
              "low": 4,
              "offers": 41
            },
            {
              "condition": "ex",
              "low": 4.5,
              "offers": 6
            }
          ],
          "updatedAt": "2026-09-24T02:51:27.427Z"
        },
        {
          "source": "cardmarket",
          "language": "de",
          "finish": "foil",
          "currency": "EUR",
          "low": 7.5,
          "lowNm": 7.5,
          "market": 7.5,
          "offers": 1,
          "truncated": true,
          "truncatedAbove": 7.5,
          "conditions": [
            {
              "condition": "nm",
              "low": 7.5,
              "offers": 1
            }
          ],
          "updatedAt": "2026-09-13T03:15:59.919Z"
        },
        {
          "source": "cardmarket",
          "language": "fr",
          "finish": "foil",
          "currency": "EUR",
          "low": 6,
          "lowNm": 6,
          "market": 6,
          "offers": 1,
          "truncated": true,
          "truncatedAbove": 6.26,
          "conditions": [
            {
              "condition": "nm",
              "low": 6,
              "offers": 1
            }
          ],
          "updatedAt": "2026-09-24T02:51:27.427Z"
        }
      ],
      "printings": [
        {
          "key": "foil",
          "label": "Holofoil",
          "kind": "surface",
          "images": {
            "small": "https://cards.tcggraph.io/sv/pkm_sv3pt5_6_de/small.webp",
            "normal": "https://cards.tcggraph.io/sv/pkm_sv3pt5_6_de/normal.webp",
            "large": "https://cards.tcggraph.io/sv/pkm_sv3pt5_6_de/large.webp"
          },
          "imageFrom": "card",
          "externalIds": {
            "cardmarketId": 733601,
            "tcgplayerId": null
          },
          "prices": [
            {
              "source": "cardmarket",
              "region": "EU",
              "listType": "retail",
              "finish": "foil",
              "currency": "EUR",
              "market": 8.62,
              "low": 4,
              "trend": 8.62,
              "avg1": 7.03,
              "avg7": 8.8,
              "avg30": 8.47,
              "updatedAt": "2026-09-24T07:34:30.239Z"
            },
            {
              "source": "tcgplayer",
              "region": "NA",
              "listType": "retail",
              "finish": "foil",
              "currency": "USD",
              "market": 8.79,
              "low": 6,
              "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": 330,
        "types": [
          "Fire"
        ],
        "attacks": [
          {
            "cost": [
              "Fire"
            ],
            "name": "Brave Wing",
            "text": "If this Pokémon has any damage counters on it, this attack does 100 more damage.",
            "damage": "60+",
            "convertedEnergyCost": 1
          },
          {
            "cost": [
              "Fire",
              "Fire",
              "Fire",
              "Fire"
            ],
            "name": "Explosive Vortex",
            "text": "Discard 3 Energy from this Pokémon.",
            "damage": "330",
            "convertedEnergyCost": 4
          }
        ],
        "subtypes": [
          "Stage 2",
          "ex"
        ],
        "abilities": [],
        "supertype": "Pokémon",
        "weaknesses": [
          {
            "type": "Water",
            "value": "×2"
          }
        ],
        "evolvesFrom": "Charmeleon",
        "resistances": [],
        "retreatCost": [
          "Colorless",
          "Colorless"
        ],
        "regulationMark": "G",
        "convertedRetreatCost": 2,
        "nationalPokedexNumbers": [
          6
        ]
      },
      "externalIds": {
        "cardmarketId": 733601,
        "tcgplayerId": null
      }
    }
  ],
  "meta": {
    "page": 1,
    "limit": 20,
    "totalCount": 1,
    "totalPages": 1,
    "hasMore": false,
    "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_requestA filter no game declares. Common names from other APIs get a suggestion.
400invalid_requestA value outside a parameter's list: sort, source, region, language, grader, grade, game.
400invalid_requestpage or limit that is not a whole number, a price or bound that is not a number, or grader without grade.

`q` instead of `name`

curl "https://api.tcggraph.com/v1/cards?q=charizard" \
  -H "Authorization: Bearer $TCGGRAPH_API_KEY"
400
{
  "error": {
    "code": "invalid_request",
    "message": "Unknown filter \"q\". Did you mean name=?",
    "details": {
      "field": "q",
      "suggestion": "name",
      "allowed": [
        "page",
        "limit",
        "sort",
        "game",
        "name",
        "text",
        "rarity",
        "set",
        "collectorNumber",
        "artist",
        "language",
        "minPrice",
        "maxPrice",
        "source",
        "region",
        "grader",
        "grade",
        "supertype",
        "subtypes",
        "hp",
        "types",
        "evolvesFrom",
        "attacks",
        "abilities",
        "weaknesses",
        "resistances",
        "retreatCost",
        "convertedRetreatCost",
        "regulationMark",
        "nationalPokedexNumbers",
        "manaCost",
        "manaValue",
        "colors",
        "colorIdentity",
        "typeLine",
        "power",
        "toughness",
        "loyalty",
        "keywords",
        "layout",
        "finishes",
        "cardType",
        "cost",
        "counter",
        "life",
        "attribute",
        "trigger",
        "frameType",
        "race",
        "atk",
        "def",
        "level",
        "linkRating",
        "linkMarkers",
        "pendulumScale",
        "archetypes",
        "banlist",
        "inkCost",
        "inkable",
        "ink",
        "lore",
        "strength",
        "willpower",
        "classifications",
        "moveCost",
        "version",
        "aspects",
        "arena",
        "traits",
        "unique",
        "variant",
        "playCost",
        "dp",
        "digivolveCosts",
        "form",
        "inheritedEffect",
        "securityEffect",
        "memoryCost",
        "reserveCost",
        "durability",
        "elements",
        "classes",
        "speed",
        "line",
        "specifiedCost",
        "comboPower",
        "comboEnergy",
        "specialTraits",
        "characters",
        "era",
        "series",
        "back",
        "minHp",
        "maxHp",
        "minConvertedRetreatCost",
        "maxConvertedRetreatCost",
        "minManaValue",
        "maxManaValue",
        "minCost",
        "maxCost",
        "minPower",
        "maxPower",
        "minCounter",
        "maxCounter",
        "minLife",
        "maxLife",
        "minAtk",
        "maxAtk",
        "minDef",
        "maxDef",
        "minLevel",
        "maxLevel",
        "minLinkRating",
        "maxLinkRating",
        "minPendulumScale",
        "maxPendulumScale",
        "minInkCost",
        "maxInkCost",
        "minLore",
        "maxLore",
        "minStrength",
        "maxStrength",
        "minWillpower",
        "maxWillpower",
        "minMoveCost",
        "maxMoveCost",
        "minCost",
        "maxCost",
        "minPower",
        "maxPower",
        "minHp",
        "maxHp",
        "minLevel",
        "maxLevel",
        "minPlayCost",
        "maxPlayCost",
        "minDp",
        "maxDp",
        "minMemoryCost",
        "maxMemoryCost",
        "minReserveCost",
        "maxReserveCost",
        "minLevel",
        "maxLevel",
        "minPower",
        "maxPower",
        "minLife",
        "maxLife",
        "minDurability",
        "maxDurability",
        "minCost",
        "maxCost",
        "minSpecifiedCost",
        "maxSpecifiedCost",
        "minPower",
        "maxPower",
        "minComboPower",
        "maxComboPower",
        "minComboEnergy",
        "maxComboEnergy"
      ],
      "docs": "https://tcggraph.com/docs/rest#filtering"
    }
  }
}

Unknown sort

curl "https://api.tcggraph.com/v1/cards?sort=cheapest" \
  -H "Authorization: Bearer $TCGGRAPH_API_KEY"
400
{
  "error": {
    "code": "invalid_request",
    "message": "Unknown sort \"cheapest\".",
    "details": {
      "field": "sort",
      "allowed": [
        "name",
        "-name",
        "price",
        "-price",
        "gradedPrice",
        "-gradedPrice",
        "released",
        "-released"
      ]
    }
  }
}

Non-numeric limit

curl "https://api.tcggraph.com/v1/cards?limit=ten" \
  -H "Authorization: Bearer $TCGGRAPH_API_KEY"
400
{
  "error": {
    "code": "invalid_request",
    "message": "`limit` must be a whole number.",
    "details": {
      "field": "limit",
      "got": "ten"
    }
  }
}