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

Get prices

Every current quote for one card: marketplace, graded and per-language, in one call.

GEThttps://api.tcggraph.com/v1/prices/{cardId}1 credit · metering

The same quotes as the card's prices, gradedPrices and languagePrices, without the rest of the card.

meta.priced, meta.graded and meta.languages say whether each list has anything, and data.priceStatus says why one is empty. An empty languages means the product page has not been read yet, not that nothing is for sale.

A localized printing whose marketplace product is the English one is answered with the English quotes: meta.pricesFrom is englishTwin and meta.englishId names the printing they belong to.

Path parameters

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

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
sourcestringOnly this marketplace's quotes in prices. Case-insensitive.

One of: cardmarket, tcgplayer, cardkingdom, manapool

Default: every source

languagestringOnly this language's rows in languages. The languages Cardmarket sells in.

One of: en, fr, de, es, it, zhs, ja, pt, ru, ko, zht

Default: every language

conditionstringOnly this condition in each language row's conditions. The row's own low, lowNm and market still cover every condition.

One of: mt, nm, ex, gd, lp, pl, po

Default: every condition

graderstringWith grade, only that slot in graded.

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

gradestringThe other half of the slot.

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

Response

200 The card's quotes.

FieldTypeDescription
dataobjectThe quotes.
data.cardIdstringThe card's current id.
data.pricesPrice[] (Price reference)Marketplace quotes.
data.gradedGradedPrice[] (GradedPrice reference)Graded index quotes.
data.languagesLanguagePrice[] (LanguagePrice reference)Cardmarket listings by language.
data.priceStatusPriceStatusWhy each source does or does not quote the card.
data.priceStatus.cardmarketstring | nullpriced, or the reason Cardmarket has no quote. Null when the card has not been matched yet.

One of: priced, unquoted, ambiguous, collapsed, unlisted, set_unlisted, game_unlisted

data.priceStatus.tcgplayerstring | nullpriced, or the reason TCGplayer has no quote. Always null on Magic, which is priced through MTGJSON.

One of: priced, unquoted, ambiguous, unlisted, set_unlisted

data.priceStatus.gradedstring | nullpriced, or the reason the graded index has no quote. Null when the card has not been considered yet.

One of: priced, unquoted, ambiguous, collapsed, unlisted, set_unlisted, game_unlisted

metaobjectWhat came back.
meta.pricedbooleanprices is not empty.
meta.gradedbooleangraded is not empty.
meta.languagesbooleanlanguages is not empty.
meta.pricesFromstringWhose quotes these are.

One of: own, englishTwin

meta.englishIdstringPresent with englishTwin: the printing quoted.

Absent unless it applies.

meta.movedFromstringThe retired id you sent.

Absent unless it applies.

meta.sourcestringEcho of source.

Absent unless it applies.

meta.languagestringEcho of language.

Absent unless it applies.

meta.conditionstringEcho of condition.

Absent unless it applies.

meta.graderstringEcho of grader.

Absent unless it applies.

meta.gradestringEcho of grade.

Absent unless it applies.

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.

Every quote

curl "https://api.tcggraph.com/v1/prices/pkm_sv3pt5_6" \
  -H "Authorization: Bearer $TCGGRAPH_API_KEY"
200 · X-Credits-Cost: 1
{
  "data": {
    "cardId": "pkm_sv3pt5_6",
    "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"
      }
    ],
    "graded": [
      {
        "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"
      }
    ],
    "languages": [
      {
        "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"
      }
    ],
    "priceStatus": {
      "cardmarket": "priced",
      "tcgplayer": "priced",
      "graded": "priced"
    }
  },
  "meta": {
    "priced": true,
    "graded": true,
    "languages": true,
    "pricesFrom": "own"
  }
}

Near Mint German copies, and PSA 10

curl "https://api.tcggraph.com/v1/prices/pkm_sv3pt5_6?source=cardmarket&language=de&condition=nm&grader=psa&grade=10" \
  -H "Authorization: Bearer $TCGGRAPH_API_KEY"
200 · X-Credits-Cost: 1
{
  "data": {
    "cardId": "pkm_sv3pt5_6",
    "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"
      }
    ],
    "graded": [
      {
        "grader": "psa",
        "grade": "10",
        "currency": "USD",
        "price": 125.65,
        "salesVolume": 370,
        "updatedAt": "2026-09-23T09:20:51.748Z"
      }
    ],
    "languages": [
      {
        "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"
      }
    ],
    "priceStatus": {
      "cardmarket": "priced",
      "tcgplayer": "priced",
      "graded": "priced"
    }
  },
  "meta": {
    "priced": true,
    "graded": true,
    "languages": true,
    "pricesFrom": "own",
    "source": "cardmarket",
    "language": "de",
    "condition": "nm",
    "grader": "psa",
    "grade": "10"
  }
}

A German printing, quoted as its English twin

curl "https://api.tcggraph.com/v1/prices/pkm_sv3pt5_6_de?source=cardmarket" \
  -H "Authorization: Bearer $TCGGRAPH_API_KEY"
200 · X-Credits-Cost: 1
{
  "data": {
    "cardId": "pkm_sv3pt5_6_de",
    "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"
      }
    ],
    "graded": [
      {
        "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"
      }
    ],
    "languages": [
      {
        "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"
      }
    ],
    "priceStatus": {
      "cardmarket": "priced",
      "tcgplayer": "priced",
      "graded": "priced"
    }
  },
  "meta": {
    "priced": true,
    "graded": true,
    "languages": true,
    "pricesFrom": "englishTwin",
    "englishId": "pkm_sv3pt5_6",
    "source": "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 parameter this endpoint does not take, or a value outside a parameter's list.
404not_foundNo card has that id.

`lang` instead of `language`

curl "https://api.tcggraph.com/v1/prices/pkm_sv3pt5_6?lang=de" \
  -H "Authorization: Bearer $TCGGRAPH_API_KEY"
400
{
  "error": {
    "code": "invalid_request",
    "message": "Unknown parameter \"lang\".",
    "details": {
      "field": "lang",
      "allowed": [
        "source",
        "language",
        "condition",
        "grader",
        "grade"
      ],
      "docs": "https://tcggraph.com/docs/rest/get-prices"
    }
  }
}

Unknown id

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