Reference lists
Every closed vocabulary the API uses — locales, currencies, print regions, conditions, printings, graders, price variants and bases, change kinds, image faces and sizes — in one response.
/v1/referencefree, no key needed, cached for a dayfree planCache-Control: public, max-age=86400
Objects returned
One route, one object, no key: these are the values the schema accepts, so a filter built from them is never rejected as unsupported. Fetch it once at boot, not once per render — it is served with public, max-age=86400.
The printed vocabularies — rarity, supertype, energy types — are not lists here, because they are values read off each card, not enumerations of the schema. They are on every card object as rarity, supertype and types, and a query such as q=rarity:"Double Rare" matches them as printed.
Headers
| Name | Type | Default | Description |
|---|---|---|---|
If-None-Match | string | — | Send back the ETag you stored. The API returns a strong ETag on every catalogue response, and a 304 is a header exchange: no body, no database row read. |
Example request
curl -s "https://api.pokemontcgapi.com/v1/reference" \
-H "X-Api-Key: $PTCG_API_KEY"Example response
200 OK · Cache-Control: public, max-age=86400
{
"data": {
"locales": [
"en",
"ja",
"zh",
"fr",
"de",
"es",
"it",
"pt",
"ko"
],
"currencies": [
"EUR",
"USD",
"GBP",
"JPY"
],
"print_regions": [
"WEST",
"JP",
"CN",
"KR"
],
"conditions": [
"MINT",
"NEAR_MINT",
"EXCELLENT",
"GOOD",
"LIGHT_PLAYED",
"PLAYED",
"POOR"
],
"printings": [
"NORMAL",
"HOLOFOIL",
"REVERSE_HOLO",
"FIRST_EDITION",
"FIRST_EDITION_HOLOFOIL"
],
"grading_companies": [
"PSA",
"BGS",
"CGC",
"SGC",
"ACE",
"TAG"
],
"price_variants": [
"LOW",
"MARKET",
"TREND",
"AVG_1D",
"AVG_7D",
"AVG_30D",
"MEDIAN_GRADED",
"INDEX"
],
"price_bases": [
"SOLD",
"ASKING",
"GUIDE",
"DERIVED"
],
"change_kinds": [
"CARD",
"SET",
"SEALED",
"PRICE",
"IMAGE"
],
"image_faces": [
"FRONT",
"BACK",
"ART",
"LOGO",
"SYMBOL"
],
"image_sizes": [
"SMALL",
"NORMAL",
"LARGE"
]
}
}