Japanese Pokémon card API
A Japanese Pokémon card API: the JP sets as their own catalogue
Japanese sets are not translations of the Western ones: different set lists, different numbering, different release dates. This API models them as what they are, a separate print region, and links each card to its Western twin where one exists.
- Print regions
- WEST, JP and CN (Simplified Chinese)
- Filter
region=JPon sets,q=set.region:JPon cards- Names
- Japanese on JP cards;
lang=for the other locales - Twin link
jp_twin_idon Western cards
Most Pokémon card APIs cover the international print line and stop. The Japanese line is the larger half of the hobby by number of sets, it releases first, and it is what a growing share of Western collectors actually buy. Here GET /v1/sets?region=JP lists the Japanese sets with their own codes and dates, and q=set.region:JP narrows any card search to them.
A Japanese card is a card in its own right, with its own id, number, rarity, illustrator and image. Where we know the pairing, the Western printing of the same card carries jp_twin_id, so an app can show "also printed in Japan as…" without guessing from the artwork.
The Simplified Chinese line is modelled the same way, as region CN. The live counts for each region, with the earliest and latest set we hold, are on the coverage page and are read from the API when you open it.
One call, and what comes back
Listing sets. Add `?region=JP` to get only the Japanese print line; the set object is the same shape for every region.
curl -s -G "https://api.pokemontcgapi.com/v1/sets" \
--data-urlencode "region=JP" \
--data-urlencode "limit=2" \
-H "X-Api-Key: $PTCG_API_KEY"{
"data": [
{
"id": "m6",
"code": "m6",
"slug": "storm-emeralda",
"legacy_id": null,
"name": "Storm Emeralda",
"series": null,
"region": "JP",
"release_date": "2026-07-31",
"total": 116,
"printed_total": null,
"ptcgo_code": null,
"symbol_url": null,
"logo_url": "https://media.rarebit.app/sets/m6/logo-normal.webp",
"updated_at": "2026-08-26T17:47:39.900Z"
},
{
"id": "m5",
"code": "m5",
"slug": "abyss-eye",
"legacy_id": null,
"name": "Abyss Eye",
"series": null,
"region": "JP",
"release_date": "2026-05-22",
"total": 118,
"printed_total": null,
"ptcgo_code": null,
"symbol_url": null,
"logo_url": "https://media.rarebit.app/sets/M5/logo-normal.webp",
"updated_at": "2026-08-26T17:47:39.900Z"
}
],
"meta": { "limit": 2, "count": 2, "total_count": 379, "has_more": true },
"links": { "next": "https://api.pokemontcgapi.com/v1/sets?limit=2®ion=JP&cursor=eyJrIjpbIjIwMjYtMDUtMjJUMDA6MDA6MDAuMDAwWiJdLCJ..." }
}Names and languages
Two things get confused here, so the API keeps them apart. The print region says where a card was printed; lang says which language you want the card name in. lang=ja on a Western card returns its Japanese name where we hold one; a Japanese card has a Japanese name to begin with. Card names exist in eight locales, and a missing translation falls back to English rather than returning an empty string.
Prices for Japanese cards
Japanese printings are priced where a source covers them, in the same row format as everything else: source, basis, currency, date. Coverage is thinner than on the Western line, and it is uneven across eras. The honest way to check is the per-region section of the coverage page, which reports how many sources and which currencies a probe card from each region returns today.
What it is not
Read this before you build on it. Every line here is a support ticket somebody else already opened.
- No Korean cards
- There are no Korean sets and no Korean card names in the catalogue today. The API accepts
region=KRandlang=koand answers with an empty page, not an error. - No game text on Japanese cards
- Attacks, abilities and rules text are held in English for Western printings only. On a Japanese card those fields are null, which means "not held", not "has none".
- Thinner price coverage
- Expect fewer price rows per Japanese card than per Western card, and check
as_ofon each.
Questions people ask before signing up
- Does the API include Japanese-exclusive sets?
- Yes. The Japanese print line is its own region with its own sets, including those that were never released in the West. List them with GET /v1/sets?region=JP. Coverage, measured live
- How do I match a Japanese card to its English version?
- Western cards carry jp_twin_id where the pairing is known; request that id to get the Japanese printing. The pairing is not complete, so treat a null as unknown rather than as "no Japanese printing".
- Are Japanese card names in Japanese?
- Yes. Japanese cards have Japanese names, and lang=ja returns Japanese names for Western cards where we hold them. Names exist in eight locales: English, French, German, Japanese, Italian, Spanish, Portuguese and Simplified Chinese.
- Is the Japanese catalogue on the free trial?
- Yes. Every catalogue route and every image is on the trial: 800 credits, once, valid 30 days, no card. Free trial key