Get a card

GET /api/v1/:tcg/cards/:card_id read:catalog

Fetch one card by its id. Add `include=prices` for our compact `pricing` object (market, condition ladder, reconciled graded values). For the full pricing payload (aggregate sold bands + last_sold_at) use the dedicated /prices endpoint. A card id that belongs to the other game returns 404. Wrapped in `{ success, data }`.

Try it GET /api/v1/pokemon/cards/swshp_ja-104vh?include=prices

These inputs are shared across all docs pages — an id entered here carries over.

response
200 83ms preloaded server-side with the default context
object · 2 keys
{
  "success": true,
  "data": {
    "id": "swshp_ja-104vh",
    "name": "Charizard VMAX",
    "number": "104",
    "printed_number": "104",
    "images": [
      {
        "type": "front",
        "small": "https://api.rip.fun/storage/v1/object/public/tcg/cards/swshp_ja/104vh.small.png",
        "medium": "https://api.rip.fun/storage/v1/object/public/tcg/cards/swshp_ja/104vh.large.png",
        "large": "https://api.rip.fun/storage/v1/object/public/tcg/cards/swshp_ja/104vh.large.png"
      }
    ],
    "expansion": {
      "id": "swshp_ja",
      "name": "Sword & Shield Promos",
      "total": 340,
      "language": "Japanese",
      "language_code": "ja",
      "series": "Sword & Shield",
      "code": "PROMO",
      "printed_total": 340,
      "release_date": "2019/11/01",
      "logo": "https://api.rip.fun/storage/v1/object/public/tcg/sets/swshp_ja.logo.png",
      "symbol": "https://api.rip.fun/storage/v1/object/public/tcg/sets/swshp_ja.symbol.png",
      "translation": {
        "en": {
          "name": "Sword & Shield Promos"
        }
      }
    },
    "language": "Japanese",
    "language_code": "ja",
    "tcgplayer_id": null,
    "variants": [
      {
        "name": "holofoil",
        "images": [
          {
            "type": "front",
            "small": "https://api.rip.fun/storage/v1/object/public/tcg/cards/swshp_ja/104vh.small.png",
            "medium": "https://api.rip.fun/storage/v1/object/public/tcg/cards/swshp_ja/104vh.large.png",
            "large": "https://api.rip.fun/storage/v1/object/public/tcg/cards/swshp_ja/104vh.large.png"
          }
        ]
      }
    ],
    "supertype": "Pokémon",
    "subtypes": [
      "VMAX"
    ],
    "types": [
      "Fire"
    ],
    "attacks": [
      {
        "cost": [
          "Colorless",
          "Colorless",
          "Colorless"
        ],
        "converted_energy_cost": 3,
        "name": "Claw Slash"
      },
      {
        "cost": [
          "Fire",
          "Fire",
          "Fire",
          "Colorless",
          "Colorless"
        ],
        "converted_energy_cost": 5,
        "name": "G-Max Wildfire",
        "text": "Discard 2 Energy from this Pokémon."
      }
    ],
    "rarity": "Promo",
    "artist": "aky CG Works",
    "pricing": {
      "currency": "USD",
      "market": 4392,
      "is_stale": false,
      "conditions": [
        {
          "condition": "NM",
          "price": 4392
        }
      ],
      "graded": [
        {
          "company": "BGS",
          "grade": "9",
          "value": 3120,
          "low": 2652,
          "high": 3588,
          "confidence": "low",
          "value_kind": "feed",
          "sold_count": 0
        },
        {
          "company": "PSA",
          "grade": "10",
          "value": 7172.5,
          "low": 9950,
          "high": 9950,
          "confidence": "med",
          "value_kind": "blended",
          "sold_count": 1
        }
      ],
      "market_updated_at": "2026-07-29T19:48:27.200Z",
      "trend_7d": {
        "direction": "flat",
        "percent": -0.49
      }
    }
  }
}
curl (tracks the inputs above)
curl -X GET 'https://service.rip.fun/api/v1/pokemon/cards/swshp_ja-104vh?include=prices' \
  -H 'X-API-Key: rip_…'

Request fields

FieldTypeRequiredDescription
card_idstringyesPath param — the card id, e.g. `swshp_ja-104vh`.
includestring`prices` to include the compact `pricing` object.
selectstringComma list of top-level fields to keep.

Response fields (data)

FieldDescription
data[].idCard id (variant printings carry a suffix, e.g. `…vh` for holofoil, `…vrh` for reverse holofoil)
data[].name / supertype / subtypes / typesCard identity + classification (One Piece cards expose `type` / `cost` / `power` / `attribute` / `colors` instead of `types`/`hp`)
data[].rarity / number / printed_number / artistPrint metadata
data[].hp / attacks / weaknesses / resistances / abilitiesPokémon game data (omitted when not applicable)
data[].images[]`{ type, small, medium, large }` — `medium` is aliased to `large` (only two sizes stored)
data[].language / language_codeCard language — `English`/`en`, `Japanese`/`ja`, `Chinese`/`zh` (Simplified `zh-Hans`, Traditional `zh-Hant`)
data[].tcgplayer_idTCGplayer product id for cross-referencing, or null when we don’t have one
data[].expansionNested expansion object (id, name, series, total, release_date, logo, symbol, …)
data[].variants[]`{ name, images[] }` — one self-describing element per card printing
data[].pricingPresent only with `include=prices`. Our own dedicated pricing: `{ currency, market, market_updated_at, is_stale, trend_7d, conditions[], graded[] }`. See the Pricing guide.
data[].pricing.conditions[]`{ condition, price }` raw ladder (NM/LP/MP/HP/DMG) for the card’s variant
data[].pricing.graded[]Reconciled graded value per company+grade: `{ company, grade, value, low, high, confidence, value_kind, sold_count, trend? }`. The dedicated /prices endpoint adds `band` + `last_sold_at`.

Errors

StatusCodeWhen
404not_foundno card with that id for this game

See Errors for the response envelope and the full code list.