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

Get a card

One printing by id, in any language.

GEThttps://api.tcggraph.com/v1/cards/{id}1 credit · metering

Ids are stable. When a set is re-keyed, the old id keeps resolving to the card under its new id, with meta.movedFrom set to the id you sent. Store data.id.

Query parameters are ignored.

Path parameters

ParameterTypeDescription
idrequiredstringA card id. An id retired by a set re-key keeps working and is reported in meta.movedFrom.

Response

200 The card.

FieldTypeDescription
dataCard (Card reference)The card.
metaobjectPresent only when the id was retired.

Absent unless it applies.

meta.movedFromstringThe id you sent.

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.

Charizard ex, 151

curl "https://api.tcggraph.com/v1/cards/pkm_sv3pt5_6" \
  -H "Authorization: Bearer $TCGGRAPH_API_KEY"
200 · X-Credits-Cost: 1
{
  "data": {
    "id": "pkm_sv3pt5_6",
    "game": "pokemon",
    "name": "Charizard ex",
    "language": "en",
    "printedName": null,
    "englishId": null,
    "pricesFrom": "own",
    "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/small.webp",
      "normal": "https://cards.tcggraph.io/sv/pkm_sv3pt5_6/normal.webp",
      "large": "https://cards.tcggraph.io/sv/pkm_sv3pt5_6/large.webp"
    },
    "hashes": {
      "phash": "c35f14b4727b1a8c",
      "phashColor": "c35916b46aebb984c35f04a6737b1c8cfb6f84e4d05a1a0b"
    },
    "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/small.webp",
          "normal": "https://cards.tcggraph.io/sv/pkm_sv3pt5_6/normal.webp",
          "large": "https://cards.tcggraph.io/sv/pkm_sv3pt5_6/large.webp"
        },
        "imageFrom": "card",
        "externalIds": {
          "cardmarketId": 733601,
          "tcgplayerId": 502558
        },
        "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": 502558
    }
  }
}

A retired id

curl "https://api.tcggraph.com/v1/cards/pkm_me5pt5_1" \
  -H "Authorization: Bearer $TCGGRAPH_API_KEY"
200 · X-Credits-Cost: 1
{
  "data": {
    "id": "pkm_me55_1",
    "game": "pokemon",
    "name": "Exeggcute",
    "language": "en",
    "printedName": null,
    "englishId": null,
    "pricesFrom": "own",
    "set": {
      "code": "me55",
      "name": "30th Celebration",
      "language": "en",
      "releasedAt": "2026-09-16"
    },
    "collectorNumber": "1",
    "rarity": "Common",
    "artist": "Nelnal",
    "text": null,
    "images": {
      "small": "https://cards.tcggraph.io/me/pkm_me5pt5_1/small.webp",
      "normal": "https://cards.tcggraph.io/me/pkm_me5pt5_1/normal.webp",
      "large": "https://cards.tcggraph.io/me/pkm_me5pt5_1/large.webp"
    },
    "hashes": {
      "phash": "c35a54a03d359f96",
      "phashColor": "cb5a56a43d259786c17a50903f3d1f96dbd2a42c7c398d07"
    },
    "prices": [
      {
        "source": "cardmarket",
        "region": "EU",
        "listType": "retail",
        "finish": "foil",
        "currency": "EUR",
        "market": 0.04,
        "low": 0.02,
        "trend": 0.04,
        "avg1": 0.15,
        "avg7": 0.2,
        "avg30": 0.2,
        "updatedAt": "2026-09-24T07:34:30.239Z"
      },
      {
        "source": "tcgplayer",
        "region": "NA",
        "listType": "retail",
        "finish": "foil",
        "currency": "USD",
        "market": 0.13,
        "low": 0.01,
        "trend": null,
        "avg1": null,
        "avg7": null,
        "avg30": null,
        "updatedAt": "2026-09-24T07:19:35.232Z"
      }
    ],
    "gradedPrices": [
      {
        "grader": "raw",
        "grade": "ungraded",
        "currency": "USD",
        "price": 0.19,
        "salesVolume": 394,
        "updatedAt": "2026-09-23T09:20:51.748Z"
      },
      {
        "grader": "any",
        "grade": "9",
        "currency": "USD",
        "price": 10.23,
        "salesVolume": 394,
        "updatedAt": "2026-09-23T09:20:51.748Z"
      },
      {
        "grader": "any",
        "grade": "9.5",
        "currency": "USD",
        "price": 11,
        "salesVolume": 394,
        "updatedAt": "2026-09-23T09:20:51.748Z"
      },
      {
        "grader": "psa",
        "grade": "10",
        "currency": "USD",
        "price": 30.9,
        "salesVolume": 394,
        "updatedAt": "2026-09-23T09:20:51.748Z"
      },
      {
        "grader": "bgs",
        "grade": "10",
        "currency": "USD",
        "price": 40,
        "salesVolume": 394,
        "updatedAt": "2026-09-23T09:20:51.748Z"
      },
      {
        "grader": "cgc",
        "grade": "10",
        "currency": "USD",
        "price": 19,
        "salesVolume": 394,
        "updatedAt": "2026-09-23T09:20:51.748Z"
      },
      {
        "grader": "sgc",
        "grade": "10",
        "currency": "USD",
        "price": 19,
        "salesVolume": 394,
        "updatedAt": "2026-09-23T09:20:51.748Z"
      }
    ],
    "languagePrices": [
      {
        "source": "cardmarket",
        "language": "en",
        "finish": "normal",
        "currency": "EUR",
        "low": 0.09,
        "lowNm": 0.09,
        "market": 0.15,
        "offers": 25,
        "truncated": true,
        "truncatedAbove": 0.5,
        "conditions": [],
        "updatedAt": "2026-09-16T17:24:37.809Z"
      },
      {
        "source": "cardmarket",
        "language": "en",
        "finish": "foil",
        "currency": "EUR",
        "low": 0.02,
        "lowNm": 0.02,
        "market": 0.03,
        "offers": 20,
        "truncated": true,
        "truncatedAbove": 0.05,
        "conditions": [
          {
            "condition": "mt",
            "low": 0.02,
            "offers": 1
          },
          {
            "condition": "nm",
            "low": 0.02,
            "offers": 19
          }
        ],
        "updatedAt": "2026-09-24T02:47:05.356Z"
      },
      {
        "source": "cardmarket",
        "language": "fr",
        "finish": "normal",
        "currency": "EUR",
        "low": 0.02,
        "lowNm": 0.02,
        "market": 0.2,
        "offers": 18,
        "truncated": true,
        "truncatedAbove": 0.5,
        "conditions": [],
        "updatedAt": "2026-09-16T17:24:37.809Z"
      },
      {
        "source": "cardmarket",
        "language": "it",
        "finish": "normal",
        "currency": "EUR",
        "low": 0.2,
        "lowNm": 0.2,
        "market": 0.2,
        "offers": 3,
        "truncated": true,
        "truncatedAbove": 0.5,
        "conditions": [],
        "updatedAt": "2026-09-16T17:24:37.809Z"
      },
      {
        "source": "cardmarket",
        "language": "it",
        "finish": "foil",
        "currency": "EUR",
        "low": 0.02,
        "lowNm": 0.02,
        "market": 0.02,
        "offers": 18,
        "truncated": true,
        "truncatedAbove": 0.05,
        "conditions": [
          {
            "condition": "nm",
            "low": 0.02,
            "offers": 18
          }
        ],
        "updatedAt": "2026-09-24T02:47:05.356Z"
      },
      {
        "source": "cardmarket",
        "language": "es",
        "finish": "normal",
        "currency": "EUR",
        "low": 0.09,
        "lowNm": 0.09,
        "market": 0.09,
        "offers": 1,
        "truncated": true,
        "truncatedAbove": 0.5,
        "conditions": [],
        "updatedAt": "2026-09-16T17:24:37.809Z"
      },
      {
        "source": "cardmarket",
        "language": "es",
        "finish": "foil",
        "currency": "EUR",
        "low": 0.02,
        "lowNm": 0.02,
        "market": 0.02,
        "offers": 4,
        "truncated": true,
        "truncatedAbove": 0.05,
        "conditions": [
          {
            "condition": "nm",
            "low": 0.02,
            "offers": 4
          }
        ],
        "updatedAt": "2026-09-24T02:47:05.356Z"
      },
      {
        "source": "cardmarket",
        "language": "de",
        "finish": "normal",
        "currency": "EUR",
        "low": 0.4,
        "lowNm": 0.4,
        "market": 0.44,
        "offers": 3,
        "truncated": true,
        "truncatedAbove": 0.5,
        "conditions": [],
        "updatedAt": "2026-09-16T17:24:37.809Z"
      },
      {
        "source": "cardmarket",
        "language": "de",
        "finish": "foil",
        "currency": "EUR",
        "low": 0.02,
        "lowNm": 0.02,
        "market": 0.04,
        "offers": 4,
        "truncated": true,
        "truncatedAbove": 0.05,
        "conditions": [
          {
            "condition": "nm",
            "low": 0.02,
            "offers": 4
          }
        ],
        "updatedAt": "2026-09-24T02:47:05.356Z"
      },
      {
        "source": "cardmarket",
        "language": "fr",
        "finish": "foil",
        "currency": "EUR",
        "low": 0.02,
        "lowNm": 0.02,
        "market": 0.02,
        "offers": 4,
        "truncated": true,
        "truncatedAbove": 0.05,
        "conditions": [
          {
            "condition": "nm",
            "low": 0.02,
            "offers": 4
          }
        ],
        "updatedAt": "2026-09-24T02:47:05.356Z"
      }
    ],
    "printings": [
      {
        "key": "foil",
        "label": "Holofoil",
        "kind": "surface",
        "images": {
          "small": "https://cards.tcggraph.io/me/pkm_me5pt5_1/small.webp",
          "normal": "https://cards.tcggraph.io/me/pkm_me5pt5_1/normal.webp",
          "large": "https://cards.tcggraph.io/me/pkm_me5pt5_1/large.webp"
        },
        "imageFrom": "card",
        "externalIds": {
          "cardmarketId": 907607,
          "tcgplayerId": 716435
        },
        "prices": [
          {
            "source": "cardmarket",
            "region": "EU",
            "listType": "retail",
            "finish": "foil",
            "currency": "EUR",
            "market": 0.04,
            "low": 0.02,
            "trend": 0.04,
            "avg1": 0.15,
            "avg7": 0.2,
            "avg30": 0.2,
            "updatedAt": "2026-09-24T07:34:30.239Z"
          },
          {
            "source": "tcgplayer",
            "region": "NA",
            "listType": "retail",
            "finish": "foil",
            "currency": "USD",
            "market": 0.13,
            "low": 0.01,
            "trend": null,
            "avg1": null,
            "avg7": null,
            "avg30": null,
            "updatedAt": "2026-09-24T07:19:35.232Z"
          }
        ]
      }
    ],
    "priceStatus": {
      "cardmarket": "priced",
      "tcgplayer": "priced",
      "graded": "priced"
    },
    "legalities": {},
    "gameData": {
      "hp": 60,
      "types": [
        "Grass"
      ],
      "attacks": [
        {
          "cost": [
            "Colorless"
          ],
          "name": "Hypnosis",
          "text": "Your opponent's Active Pokémon is now Asleep.",
          "convertedEnergyCost": 1
        }
      ],
      "subtypes": [
        "Basic"
      ],
      "abilities": [],
      "supertype": "Pokémon",
      "weaknesses": [
        {
          "type": "Fire",
          "value": "×2"
        }
      ],
      "evolvesFrom": null,
      "resistances": [],
      "retreatCost": [
        "Colorless"
      ],
      "regulationMark": "J",
      "convertedRetreatCost": 1,
      "nationalPokedexNumbers": [
        102
      ]
    },
    "externalIds": {
      "cardmarketId": 907607,
      "tcgplayerId": 716435
    }
  },
  "meta": {
    "movedFrom": "pkm_me5pt5_1"
  }
}

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
404not_foundNo card has, or had, that id.

Unknown id

curl "https://api.tcggraph.com/v1/cards/pkm_nope_1" \
  -H "Authorization: Bearer $TCGGRAPH_API_KEY"
404
{
  "error": {
    "code": "not_found",
    "message": "No card with id \"pkm_nope_1\"."
  }
}