DATASET · 公開データ
CARDGAP PRICES
Free, daily-updated Pokemon card price dataset. 9,460 cards tracked across TCGPlayer, Mercari, Yahoo Auctions, and Card Rush. Public bundle covers the top 2,000 by USD value, in JSON and CSV. CC-BY 4.0.
Rows2,000of 9,460 tracked
FX¥159JPY / USD
Updated2026-04-20daily refresh
LicenseCC-BY 4.0free with credit
SCHEMA · COLUMNS
| FIELD | TYPE | DESCRIPTION |
|---|---|---|
| slug | string | Card slug for URL |
| name_ja | string | Japanese card name |
| name_en | string | English card name |
| set_en | string | Pokemon TCG set name |
| rarity | string | Rarity (SAR / SR / etc.) |
| price_usd | number | null | TCGPlayer USD |
| price_jpy | number | null | JP single market |
| price_mercari_jpy | number | null | Mercari JPY |
| price_yahoo_jpy | number | null | Yahoo Auctions JPY |
| cardgap_median_jpy | number | null | Median across all available sources |
| cardgap_arb_index | number | null | (USD × FX) ÷ JP single price |
| surge_pct_30d | number | 30-day USD change % |
| image_url | string | Card image |
| url | string | https://cardgap.jp/cards/<slug> |
QUICKSTART
# curl
curl https://cardgap.jp/data/prices.json | jq '.rows[0]'
# Python
import requests
data = requests.get("https://cardgap.jp/data/prices.json").json()
top10 = sorted(data["rows"], key=lambda r: r["cardgap_arb_index"] or 0, reverse=True)[:10]
# JavaScript
const data = await fetch("https://cardgap.jp/data/prices.json").then(r => r.json());
const surging = data.rows.filter(r => r.surge_pct_30d > 50);
ATTRIBUTION (REQUIRED)
Quote with link or text reference to "cardgap.jp" (use https://cardgap.jp/cards/<slug> when citing a specific card). License: CC-BY 4.0.
Bulk programmatic users: please cache responses (data refreshes every 24h) and identify your client in User-Agent.
See also: homepage · llms-full.txt · sitemap.xml