Search cards

GET /api/v1/pokemon/cards read:catalog 1 credit

Search every Pokémon Trading Card Game card we have. Leave `q` empty to page through the whole catalog, or use the Lucene-style query grammar to filter on any indexed field. Wrapped in `{ success, data, page, page_size, total_count, language }`.

Try it GET /api/v1/pokemon/cards?page_size=10&include=prices

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

response
200 351ms preloaded server-side with the default context
object · 6 keys
{
  "success": true,
  "data": [
    {
      "id": "pl2-88",
      "name": "Aaron's Collection",
      "number": "88",
      "printed_number": "88",
      "images": [
        {
          "type": "front",
          "small": "https://api.rip.fun/storage/v1/object/public/tcg/cards/pl2/88.small.webp",
          "medium": "https://api.rip.fun/storage/v1/object/public/tcg/cards/pl2/88.large.webp",
          "large": "https://api.rip.fun/storage/v1/object/public/tcg/cards/pl2/88.large.webp"
        }
      ],
      "expansion": {
        "id": "pl2",
        "name": "Rising Rivals",
        "total": 120,
        "language": "English",
        "language_code": "en",
        "series": "Platinum",
        "code": "RR",
        "printed_total": 111,
        "release_date": "2009/05/16",
        "logo": "https://gjnrvwqtdlspyfpezgox.supabase.co/storage/v1/object/public/tcg/sets/pl2.logo.png",
        "symbol": "https://gjnrvwqtdlspyfpezgox.supabase.co/storage/v1/object/public/tcg/sets/pl2.symbol.png"
      },
      "language": "English",
      "language_code": "en",
      "tcgplayer_id": "83439",
      "variants": [
        {
          "name": "normal",
          "images": [
            {
              "type": "front",
              "small": "https://api.rip.fun/storage/v1/object/public/tcg/cards/pl2/88.small.webp",
              "medium": "https://api.rip.fun/storage/v1/object/public/tcg/cards/pl2/88.large.webp",
              "large": "https://api.rip.fun/storage/v1/object/public/tcg/cards/pl2/88.large.webp"
            }
          ]
        }
      ],
      "supertype": "Trainer",
      "subtypes": [
        "Supporter"
      ],
      "rarity": "Uncommon",
      "artist": "Ken Sugimori",
      "pricing": {
        "currency": "USD",
        "market": 1.25,
        "is_stale": false,
        "conditions": [
          {
            "condition": "NM",
            "price": 1.25
          },
          {
            "condition": "LP",
            "price": 0.44
          },
          {
            "condition": "MP",
            "price": 0.35
          },
          {
            "condition": "HP",
            "price": 0.3
          },
          {
            "condition": "DMG",
            "price": 0.27
          }
        ],
        "graded": [],
        "market_updated_at": "2026-09-21T03:43:25.711Z",
        "trend_7d": {
          "direction": "down",
          "percent": -37.19
        }
      }
    },
    {
      "id": "pl2-88vrh",
      "name": "Aaron's Collection",
      "number": "88",
      "printed_number": "88",
      "images": [
        {
          "type": "front",
          "small": "https://api.rip.fun/storage/v1/object/public/tcg/cards/pl2/88vrh.small.webp",
          "medium": "https://api.rip.fun/storage/v1/object/public/tcg/cards/pl2/88vrh.large.webp",
          "large": "https://api.rip.fun/storage/v1/object/public/tcg/cards/pl2/88vrh.large.webp"
        }
      ],
      "expansion": {
        "id": "pl2",
        "name": "Rising Rivals",
        "total": 120,
        "language": "English",
        "language_code": "en",
        "series": "Platinum",
        "code": "RR",
        "printed_total": 111,
        "release_date": "2009/05/16",
        "logo": "https://gjnrvwqtdlspyfpezgox.supabase.co/storage/v1/object/public/tcg/sets/pl2.logo.png",
        "symbol": "https://gjnrvwqtdlspyfpezgox.supabase.co/storage/v1/object/public/tcg/sets/pl2.symbol.png"
      },
      "language": "English",
      "language_code": "en",
      "tcgplayer_id": "83439",
      "variants": [
        {
          "name": "reverseHolofoil",
          "images": [
            {
              "type": "front",
              "small": "https://api.rip.fun/storage/v1/object/public/tcg/cards/pl2/88vrh.small.webp",
              "medium": "https://api.rip.fun/storage/v1/object/public/tcg/cards/pl2/88vrh.large.webp",
              "large": "https://api.rip.fun/storage/v1/object/public/tcg/cards/pl2/88vrh.large.webp"
            }
          ]
        }
      ],
      "supertype": "Trainer",
      "subtypes": [
        "Supporter"
      ],
      "rarity": "Uncommon",
      "artist": "Ken Sugimori",
      "pricing": {
        "currency": "USD",
        "market": 0.1,
        "is_stale": false,
        "conditions": [
          {
            "condition": "NM",
            "price": 0.1
          }
        ],
        "graded": [
          {
            "company": "PSA",
            "grade": "6",
            "value": 31.95,
            "low": 27.16,
            "high": 36.74,
            "confidence": "low",
            "value_kind": "feed",
            "sold_count": 0
          }
        ],
        "market_updated_at": "2026-07-28T17:36:28.145Z",
        "trend_7d": {
          "direction": "flat",
          "percent": 0
        }
      }
    },
    {
      "id": "bw10-26",
      "name": "Abomasnow",
      "number": "26",
      "printed_number": "26",
      "images": [
        {
          "type": "front",
          "small": "https://api.rip.fun/storage/v1/object/public/tcg/cards/bw10/26.small.webp",
          "medium": "https://api.rip.fun/storage/v1/object/public/tcg/cards/bw10/26.large.webp",
          "large": "https://api.rip.fun/storage/v1/object/public/tcg/cards/bw10/26.large.webp"
        }
      ],
      "expansion": {
        "id": "bw10",
        "name": "Plasma Blast",
        "total": 105,
        "language": "English",
        "language_code": "en",
        "series": "Black & White",
        "code": "PLB",
        "printed_total": 101,
        "release_date": "2013/08/14",
        "logo": "https://gjnrvwqtdlspyfpezgox.supabase.co/storage/v1/object/public/tcg/sets/bw10.logo.png",
        "symbol": "https://gjnrvwqtdlspyfpezgox.supabase.co/storage/v1/object/public/tcg/sets/bw10.symbol.png"
      },
      "language": "English",
      "language_code": "en",
      "tcgplayer_id": "83442",
      "variants": [
        {
          "name": "normal",
          "images": [
            {
              "type": "front",
              "small": "https://api.rip.fun/storage/v1/object/public/tcg/cards/bw10/26.small.webp",
              "medium": "https://api.rip.fun/storage/v1/object/public/tcg/cards/bw10/26.large.webp",
              "large": "https://api.rip.fun/storage/v1/object/public/tcg/cards/bw10/26.large.webp"
            }
          ]
        }
      ],
      "supertype": "Pokémon",
      "subtypes": [
        "Stage 1"
      ],
      "types": [
        "Water"
      ],
      "hp": "120",
      "attacks": [
        {
          "cost": [
            "Grass",
            "Grass"
          ],
          "converted_energy_cost": 2,
          "name": "Razor Leaf",
          "damage": "40"
        },
        {
          "cost": [
            "Grass",
            "Grass",
            "Colorless"
          ],
          "converted_energy_cost": 3,
          "name": "Bang Heads",
          "text": "Both this Pokémon and the Defending Pokémon are now Confused.",
          "damage": "80"
        }
      ],
      "weaknesses": [
        {
          "type": "Metal",
          "value": "×2"
        }
      ],
      "rarity": "Uncommon",
      "artist": "kawayoo",
      "pricing": {
        "currency": "USD",
        "market": 0.3,
        "is_stale": false,
        "conditions": [
          {
            "condition": "NM",
            "price": 0.3
          },
          {
            "condition": "LP",
            "price": 0.24
          },
          {
            "condition": "MP",
            "price": 0.16
          },
          {
            "condition": "DMG",
            "price": 0.18
          }
        ],
        "graded": [
          {
            "company": "PSA",
            "grade": "9",
            "value": 26,
            "low": 22.1,
            "high": 29.9,
            "confidence": "low",
            "value_kind": "feed",
            "sold_count": 0
          }
        ],
        "market_updated_at": "2026-09-21T03:52:51.263Z",
        "trend_7d": {
          "direction": "flat",
          "percent": 0
        }
      }
    },
    {
      "id": "bw10-26vrh",
      "name": "Abomasnow",
      "number": "26",
      "printed_number": "26",
      "images": [
        {
          "type": "front",
          "small": "https://api.rip.fun/storage/v1/object/public/tcg/cards/bw10/26vrh.small.webp",
          "medium": "https://api.rip.fun/storage/v1/object/public/tcg/cards/bw10/26vrh.large.webp",
          "large": "https://api.rip.fun/storage/v1/object/public/tcg/cards/bw10/26vrh.large.webp"
        }
      ],
      "expansion": {
        "id": "bw10",
        "name": "Plasma Blast",
        "total": 105,
        "language": "English",
        "language_code": "en",
        "series": "Black & White",
        "code": "PLB",
        "printed_total": 101,
        "release_date": "2013/08/14",
        "logo": "https://gjnrvwqtdlspyfpezgox.supabase.co/storage/v1/object/public/tcg/sets/bw10.logo.png",
        "symbol": "https://gjnrvwqtdlspyfpezgox.supabase.co/storage/v1/object/public/tcg/sets/bw10.symbol.png"
      },
      "language": "English",
      "language_code": "en",
      "tcgplayer_id": "83442",
      "variants": [
        {
          "name": "reverseHolofoil",
          "images": [
            {
              "type": "front",
              "small": "https://api.rip.fun/storage/v1/object/public/tcg/cards/bw10/26vrh.small.webp",
              "medium": "https://api.rip.fun/storage/v1/object/public/tcg/cards/bw10/26vrh.large.webp",
              "large": "https://api.rip.fun/storage/v1/object/public/tcg/cards/bw10/26vrh.large.webp"
            }
          ]
        }
      ],
      "supertype": "Pokémon",
      "subtypes": [
        "Stage 1"
      ],
      "types": [
        "Water"
      ],
      "hp": "120",
      "attacks": [
        {
          "cost": [
            "Grass",
            "Grass"
          ],
          "converted_energy_cost": 2,
          "name": "Razor Leaf",
          "damage": "40"
        },
        {
          "cost": [
            "Grass",
            "Grass",
            "Colorless"
          ],
          "converted_energy_cost": 3,
          "name": "Bang Heads",
          "text": "Both this Pokémon and the Defending Pokémon are now Confused.",
          "damage": "80"
        }
      ],
      "weaknesses": [
        {
          "type": "Metal",
          "value": "×2"
        }
      ],
      "rarity": "Uncommon",
      "artist": "kawayoo",
      "pricing": {
        "currency": "USD",
        "market": 1.02,
        "is_stale": false,
        "conditions": [
          {
            "condition": "NM",
            "price": 1.02
          },
          {
            "condition": "LP",
            "price": 0.48
          },
          {
            "condition": "MP",
            "price": 0.75
          },
          {
            "condition": "HP",
            "price": 0.26
          }
        ],
        "graded": [
          {
            "company": "PSA",
            "grade": "9",
            "value": 26,
            "low": 22.1,
            "high": 29.9,
            "confidence": "low",
            "value_kind": "feed",
            "sold_count": 0
          }
        ],
        "market_updated_at": "2026-09-21T03:52:51.263Z",
        "trend_7d": {
          "direction": "up",
          "percent": 3.03
        }
      }
    },
    {
      "id": "dp2-19",
      "name": "Abomasnow",
      "number": "19",
      "printed_number": "19",
      "images": [
        {
          "type": "front",
          "small": "https://api.rip.fun/storage/v1/object/public/tcg/cards/dp2/19.small.webp",
          "medium": "https://api.rip.fun/storage/v1/object/public/tcg/cards/dp2/19.large.webp",
          "large": "https://api.rip.fun/storage/v1/object/public/tcg/cards/dp2/19.large.webp"
        }
      ],
      "expansion": {
        "id": "dp2",
        "name": "Mysterious Treasures",
        "total": 124,
        "language": "English",
        "language_code": "en",
        "series": "Diamond & Pearl",
        "code": "MT",
        "printed_total": 123,
        "release_date": "2007/08/01",
        "logo": "https://gjnrvwqtdlspyfpezgox.supabase.co/storage/v1/object/public/tcg/sets/dp2.logo.png",
        "symbol": "https://gjnrvwqtdlspyfpezgox.supabase.co/storage/v1/object/public/tcg/sets/dp2.symbol.png"
      },
      "language": "English",
      "language_code": "en",
      "tcgplayer_id": "83440",
      "variants": [
        {
          "name": "normal",
          "images": [
            {
              "type": "front",
              "small": "https://api.rip.fun/storage/v1/object/public/tcg/cards/dp2/19.small.webp",
              "medium": "https://api.rip.fun/storage/v1/object/public/tcg/cards/dp2/19.large.webp",
              "large": "https://api.rip.fun/storage/v1/object/public/tcg/cards/dp2/19.large.webp"
            }
          ]
        }
      ],
      "supertype": "Pokémon",
      "subtypes": [
        "Stage 1"
      ],
      "types": [
        "Grass"
      ],
      "hp": "100",
      "abilities": [
        {
          "name": "Glacier Snow",
          "text": "If Abomasnow is your Active Pokémon and is damaged by an opponent's attack (even if Abomasnow is Knocked Out), the Attacking Pokémon is now Asleep.",
          "type": "Poké-Body"
        }
      ],
      "attacks": [
        {
          "cost": [
            "Water",
            "Colorless",
            "Colorless"
          ],
          "converted_energy_cost": 3,
          "name": "Heavy Blizzard",
          "text": "Flip a coin. If heads, put 1 damage counter on each of your opponent's Benched Pokémon.",
          "damage": "60"
        }
      ],
      "weaknesses": [
        {
          "type": "Fire",
          "value": "+30"
        }
      ],
      "rarity": "Rare",
      "artist": "Kazuyuki Kano",
      "pricing": {
        "currency": "USD",
        "market": 0.8,
        "is_stale": false,
        "conditions": [
          {
            "condition": "NM",
            "price": 0.8
          },
          {
            "condition": "LP",
            "price": 0.63
          },
          {
            "condition": "MP",
            "price": 0.46
          },
          {
            "condition": "HP",
            "price": 0.29
          },
          {
            "condition": "DMG",
            "price": 0.43
          }
        ],
        "graded": [
          {
            "company": "CGC",
            "grade": "8",
            "value": 8,
            "low": 6.8,
            "high": 9.2,
            "confidence": "low",
            "value_kind": "feed",
            "sold_count": 0
          },
          {
            "company": "CGC",
            "grade": "8.5",
            "value": 9.5,
            "low": 8.07,
            "high": 10.93,
            "confidence": "low",
            "value_kind": "feed",
            "sold_count": 0
          },
          {
            "company": "CGC",
            "grade": "9",
            "value": 3,
            "low": 2.55,
            "high": 3.45,
            "confidence": "low",
            "value_kind": "feed",
            "sold_count": 0
          },
          {
            "company": "PSA",
            "grade": "8",
            "value": 65,
            "low": 55.25,
            "high": 74.75,
            "confidence": "low",
            "value_kind": "feed",
            "sold_count": 0
          }
        ],
        "market_updated_at": "2026-09-21T03:30:25.245Z",
        "trend_7d": {
          "direction": "down",
          "percent": -3.61
        }
      }
    },
    {
      "id": "dp2-19vrh",
      "name": "Abomasnow",
      "number": "19",
      "printed_number": "19",
      "images": [
        {
          "type": "front",
          "small": "https://api.rip.fun/storage/v1/object/public/tcg/cards/dp2/19vrh.small.webp",
          "medium": "https://api.rip.fun/storage/v1/object/public/tcg/cards/dp2/19vrh.large.webp",
          "large": "https://api.rip.fun/storage/v1/object/public/tcg/cards/dp2/19vrh.large.webp"
        }
      ],
      "expansion": {
        "id": "dp2",
        "name": "Mysterious Treasures",
        "total": 124,
        "language": "English",
        "language_code": "en",
        "series": "Diamond & Pearl",
        "code": "MT",
        "printed_total": 123,
        "release_date": "2007/08/01",
        "logo": "https://gjnrvwqtdlspyfpezgox.supabase.co/storage/v1/object/public/tcg/sets/dp2.logo.png",
        "symbol": "https://gjnrvwqtdlspyfpezgox.supabase.co/storage/v1/object/public/tcg/sets/dp2.symbol.png"
      },
      "language": "English",
      "language_code": "en",
      "tcgplayer_id": "83440",
      "variants": [
        {
          "name": "reverseHolofoil",
          "images": [
            {
              "type": "front",
              "small": "https://api.rip.fun/storage/v1/object/public/tcg/cards/dp2/19vrh.small.webp",
              "medium": "https://api.rip.fun/storage/v1/object/public/tcg/cards/dp2/19vrh.large.webp",
              "large": "https://api.rip.fun/storage/v1/object/public/tcg/cards/dp2/19vrh.large.webp"
            }
          ]
        }
      ],
      "supertype": "Pokémon",
      "subtypes": [
        "Stage 1"
      ],
      "types": [
        "Grass"
      ],
      "hp": "100",
      "abilities": [
        {
          "name": "Glacier Snow",
          "text": "If Abomasnow is your Active Pokémon and is damaged by an opponent's attack (even if Abomasnow is Knocked Out), the Attacking Pokémon is now Asleep.",
          "type": "Poké-Body"
        }
      ],
      "attacks": [
        {
          "cost": [
            "Water",
            "Colorless",
            "Colorless"
          ],
          "converted_energy_cost": 3,
          "name": "Heavy Blizzard",
          "text": "Flip a coin. If heads, put 1 damage counter on each of your opponent's Benched Pokémon.",
          "damage": "60"
        }
      ],
      "weaknesses": [
        {
          "type": "Fire",
          "value": "+30"
        }
      ],
      "rarity": "Rare",
      "artist": "Kazuyuki Kano",
      "pricing": {
        "currency": "USD",
        "market": 3.54,
        "is_stale": false,
        "conditions": [
          {
            "condition": "NM",
            "price": 3.54
          },
          {
            "condition": "LP",
            "price": 1.37
          },
          {
            "condition": "MP",
            "price": 0.87
          },
          {
            "condition": "HP",
            "price": 0.6
          },
          {
            "condition": "DMG",
            "price": 0.7
          }
        ],
        "graded": [
          {
            "company": "CGC",
            "grade": "8",
            "value": 8,
            "low": 6.8,
            "high": 9.2,
            "confidence": "low",
            "value_kind": "feed",
            "sold_count": 0
          },
          {
            "company": "CGC",
            "grade": "8.5",
            "value": 9.5,
            "low": 9.5,
            "high": 9.63,
            "confidence": "low",
            "value_kind": "feed",
            "sold_count": 0
          },
          {
            "company": "CGC",
            "grade": "9",
            "value": 9,
            "low": 7.65,
            "high": 10.35,
            "confidence": "low",
            "value_kind": "feed",
            "sold_count": 0
          },
          {
            "company": "PSA",
            "grade": "8",
            "value": 65,
            "low": 55.25,
            "high": 74.75,
            "confidence": "low",
            "value_kind": "feed",
            "sold_count": 0
          }
        ],
        "market_updated_at": "2026-09-21T03:30:25.245Z",
        "trend_7d": {
          "direction": "up",
          "percent": 0.57
        }
      }
    },
    {
      "id": "dp7-12",
      "name": "Abomasnow",
      "number": "12",
      "printed_number": "12",
      "images": [
        {
          "type": "front",
          "small": "https://api.rip.fun/storage/v1/object/public/tcg/cards/dp7/12.small.webp",
          "medium": "https://api.rip.fun/storage/v1/object/public/tcg/cards/dp7/12.large.webp",
          "large": "https://api.rip.fun/storage/v1/object/public/tcg/cards/dp7/12.large.webp"
        }
      ],
      "expansion": {
        "id": "dp7",
        "name": "Stormfront",
        "total": 106,
        "language": "English",
        "language_code": "en",
        "series": "Diamond & Pearl",
        "code": "SF",
        "printed_total": 100,
        "release_date": "2008/11/01",
        "logo": "https://gjnrvwqtdlspyfpezgox.supabase.co/storage/v1/object/public/tcg/sets/dp7.logo.png",
        "symbol": "https://gjnrvwqtdlspyfpezgox.supabase.co/storage/v1/object/public/tcg/sets/dp7.symbol.png"
      },
      "language": "English",
      "language_code": "en",
      "tcgplayer_id": "83441",
      "variants": [
        {
          "name": "normal",
          "images": [
            {
              "type": "front",
              "small": "https://api.rip.fun/storage/v1/object/public/tcg/cards/dp7/12.small.webp",
              "medium": "https://api.rip.fun/storage/v1/object/public/tcg/cards/dp7/12.large.webp",
              "large": "https://api.rip.fun/storage/v1/object/public/tcg/cards/dp7/12.large.webp"
            }
          ]
        }
      ],
      "supertype": "Pokémon",
      "subtypes": [
        "Stage 1"
      ],
      "types": [
        "Water"
      ],
      "hp": "100",
      "abilities": [
        {
          "name": "Snow Veil",
          "text": "As long as Abomasnow is your Active Pokémon, any damage done to your Pokémon by an opponent's attack is reduced by 20 (after applying Weakness and Resistance).",
          "type": "Poké-Body"
        }
      ],
      "attacks": [
        {
          "cost": [
            "Colorless",
            "Colorless"
          ],
          "converted_energy_cost": 2,
          "name": "Snow Play",
          "text": "Does 20 damage to each of your opponent's Benched Pokémon, excluding Grass Pokémon and Water Pokémon. (Don't apply Weakness and Resistance for Benched Pokémon.)",
          "damage": "20"
        },
        {
          "cost": [
            "Water",
            "Colorless",
            "Colorless"
          ],
          "converted_energy_cost": 3,
          "name": "Below Zero",
          "text": "If Abomasnow evolved from Snover during this turn, the Defending Pokémon is now Paralyzed.",
          "damage": "60"
        }
      ],
      "weaknesses": [
        {
          "type": "Fire",
          "value": "+30"
        }
      ],
      "rarity": "Rare",
      "artist": "Mitsuhiro Arita",
      "pricing": {
        "currency": "USD",
        "market": 1.97,
        "is_stale": false,
        "conditions": [
          {
            "condition": "NM",
            "price": 1.97
          },
          {
            "condition": "LP",
            "price": 0.75
          },
          {
            "condition": "MP",
            "price": 0.51
          },
          {
            "condition": "HP",
            "price": 0.44
          },
          {
            "condition": "DMG",
            "price": 0.34
          }
        ],
        "graded": [
          {
            "company": "CGC",
            "grade": "10",
            "value": 32.5,
            "low": 27.63,
            "high": 37.38,
            "confidence": "low",
            "value_kind": "feed",
            "sold_count": 0
          },
          {
            "company": "CGC",
            "grade": "8.5",
            "value": 7,
            "low": 5.95,
            "high": 8.05,
            "confidence": "low",
            "value_kind": "feed",
            "sold_count": 0
          },
          {
            "company": "CGC",
            "grade": "9",
            "value": 11,
            "low": 9.35,
            "high": 12.65,
            "confidence": "low",
            "value_kind": "feed",
            "sold_count": 0
          },
          {
            "company": "CGC",
            "grade": "9.5",
            "value": 9.5,
            "low": 8.07,
            "high": 10.93,
            "confidence": "low",
            "value_kind": "feed",
            "sold_count": 0
          },
          {
            "company": "PSA",
            "grade": "7",
            "value": 4,
            "low": 3.4,
            "high": 4.6,
            "confidence": "low",
            "value_kind": "feed",
            "sold_count": 0
          },
          {
            "company": "PSA",
            "grade": "8",
            "value": 14.4,
            "low": 12.24,
            "high": 16.56,
            "confidence": "low",
            "value_kind": "feed",
            "sold_count": 0
          },
          {
            "company": "PSA",
            "grade": "9",
            "value": 49.95,
            "low": 42.46,
            "high": 57.44,
            "confidence": "low",
            "value_kind": "feed",
            "sold_count": 0
          }
        ],
        "market_updated_at": "2026-09-21T03:04:14.224Z",
        "trend_7d": {
          "direction": "flat",
          "percent": 0
        }
      }
    },
    {
      "id": "dp7-12vrh",
      "name": "Abomasnow",
      "number": "12",
      "printed_number": "12",
      "images": [
        {
          "type": "front",
          "small": "https://api.rip.fun/storage/v1/object/public/tcg/cards/dp7/12vrh.small.webp",
          "medium": "https://api.rip.fun/storage/v1/object/public/tcg/cards/dp7/12vrh.large.webp",
          "large": "https://api.rip.fun/storage/v1/object/public/tcg/cards/dp7/12vrh.large.webp"
        }
      ],
      "expansion": {
        "id": "dp7",
        "name": "Stormfront",
        "total": 106,
        "language": "English",
        "language_code": "en",
        "series": "Diamond & Pearl",
        "code": "SF",
        "printed_total": 100,
        "release_date": "2008/11/01",
        "logo": "https://gjnrvwqtdlspyfpezgox.supabase.co/storage/v1/object/public/tcg/sets/dp7.logo.png",
        "symbol": "https://gjnrvwqtdlspyfpezgox.supabase.co/storage/v1/object/public/tcg/sets/dp7.symbol.png"
      },
      "language": "English",
      "language_code": "en",
      "tcgplayer_id": "83441",
      "variants": [
        {
          "name": "reverseHolofoil",
          "images": [
            {
              "type": "front",
              "small": "https://api.rip.fun/storage/v1/object/public/tcg/cards/dp7/12vrh.small.webp",
              "medium": "https://api.rip.fun/storage/v1/object/public/tcg/cards/dp7/12vrh.large.webp",
              "large": "https://api.rip.fun/storage/v1/object/public/tcg/cards/dp7/12vrh.large.webp"
            }
          ]
        }
      ],
      "supertype": "Pokémon",
      "subtypes": [
        "Stage 1"
      ],
      "types": [
        "Water"
      ],
      "hp": "100",
      "abilities": [
        {
          "name": "Snow Veil",
          "text": "As long as Abomasnow is your Active Pokémon, any damage done to your Pokémon by an opponent's attack is reduced by 20 (after applying Weakness and Resistance).",
          "type": "Poké-Body"
        }
      ],
      "attacks": [
        {
          "cost": [
            "Colorless",
            "Colorless"
          ],
          "converted_energy_cost": 2,
          "name": "Snow Play",
          "text": "Does 20 damage to each of your opponent's Benched Pokémon, excluding Grass Pokémon and Water Pokémon. (Don't apply Weakness and Resistance for Benched Pokémon.)",
          "damage": "20"
        },
        {
          "cost": [
            "Water",
            "Colorless",
            "Colorless"
          ],
          "converted_energy_cost": 3,
          "name": "Below Zero",
          "text": "If Abomasnow evolved from Snover during this turn, the Defending Pokémon is now Paralyzed.",
          "damage": "60"
        }
      ],
      "weaknesses": [
        {
          "type": "Fire",
          "value": "+30"
        }
      ],
      "rarity": "Rare",
      "artist": "Mitsuhiro Arita",
      "pricing": {
        "currency": "USD",
        "market": 4.88,
        "is_stale": false,
        "conditions": [
          {
            "condition": "NM",
            "price": 4.88
          },
          {
            "condition": "LP",
            "price": 3.24
          },
          {
            "condition": "MP",
            "price": 0.72
          },
          {
            "condition": "HP",
            "price": 1.13
          },
          {
            "condition": "DMG",
            "price": 0.5
          }
        ],
        "graded": [
          {
            "company": "CGC",
            "grade": "10",
            "value": 32.5,
            "low": 27.63,
            "high": 37.38,
            "confidence": "low",
            "value_kind": "feed",
            "sold_count": 0
          },
          {
            "company": "CGC",
            "grade": "8.5",
            "value": 11.95,
            "low": 17.99,
            "high": 17.99,
            "confidence": "med",
            "value_kind": "blended",
            "sold_count": 1
          },
          {
            "company": "CGC",
            "grade": "9",
            "value": 10,
            "low": 8.5,
            "high": 11.5,
            "confidence": "low",
            "value_kind": "feed",
            "sold_count": 0
          },
          {
            "company": "CGC",
            "grade": "9.5",
            "value": 9.5,
            "low": 8.07,
            "high": 10.93,
            "confidence": "low",
            "value_kind": "feed",
            "sold_count": 0
          },
          {
            "company": "PSA",
            "grade": "7",
            "value": 4,
            "low": 3.4,
            "high": 4.6,
            "confidence": "low",
            "value_kind": "feed",
            "sold_count": 0
          },
          {
            "company": "PSA",
            "grade": "9",
            "value": 49.95,
            "low": 42.46,
            "high": 57.44,
            "confidence": "low",
            "value_kind": "feed",
            "sold_count": 0
          }
        ],
        "market_updated_at": "2026-09-21T03:04:14.224Z",
        "trend_7d": {
          "direction": "down",
          "percent": -2.79
        }
      }
    },
    {
      "id": "sm11-42",
      "name": "Abomasnow",
      "number": "42",
      "printed_number": "42",
      "images": [
        {
          "type": "front",
          "small": "https://api.rip.fun/storage/v1/object/public/tcg/cards/sm11/42.small.webp",
          "medium": "https://api.rip.fun/storage/v1/object/public/tcg/cards/sm11/42.large.webp",
          "large": "https://api.rip.fun/storage/v1/object/public/tcg/cards/sm11/42.large.webp"
        }
      ],
      "expansion": {
        "id": "sm11",
        "name": "Unified Minds",
        "total": 261,
        "language": "English",
        "language_code": "en",
        "series": "Sun & Moon",
        "code": "UNM",
        "printed_total": 236,
        "release_date": "2019/08/02",
        "logo": "https://gjnrvwqtdlspyfpezgox.supabase.co/storage/v1/object/public/tcg/sets/sm11.logo.png",
        "symbol": "https://gjnrvwqtdlspyfpezgox.supabase.co/storage/v1/object/public/tcg/sets/sm11.symbol.png"
      },
      "language": "English",
      "language_code": "en",
      "tcgplayer_id": "194963",
      "variants": [
        {
          "name": "normal",
          "images": [
            {
              "type": "front",
              "small": "https://api.rip.fun/storage/v1/object/public/tcg/cards/sm11/42.small.webp",
              "medium": "https://api.rip.fun/storage/v1/object/public/tcg/cards/sm11/42.large.webp",
              "large": "https://api.rip.fun/storage/v1/object/public/tcg/cards/sm11/42.large.webp"
            }
          ]
        }
      ],
      "supertype": "Pokémon",
      "subtypes": [
        "Stage 1"
      ],
      "types": [
        "Water"
      ],
      "hp": "140",
      "attacks": [
        {
          "cost": [
            "Water",
            "Colorless",
            "Colorless"
          ],
          "converted_energy_cost": 3,
          "name": "Quick Freeze",
          "text": "If your opponent's Active Pokémon has any Water Energy attached to it, it is now Paralyzed.",
          "damage": "70"
        },
        {
          "cost": [
            "Water",
            "Water",
            "Colorless",
            "Colorless"
          ],
          "converted_energy_cost": 4,
          "name": "Wild Tackle",
          "text": "This Pokémon does 20 damage to itself.",
          "damage": "140"
        }
      ],
      "weaknesses": [
        {
          "type": "Metal",
          "value": "×2"
        }
      ],
      "rarity": "Rare",
      "artist": "Shin Nagasawa",
      "pricing": {
        "currency": "USD",
        "market": 0.25,
        "is_stale": false,
        "conditions": [
          {
            "condition": "NM",
            "price": 0.25
          },
          {
            "condition": "MP",
            "price": 0.1
          }
        ],
        "graded": [],
        "market_updated_at": "2026-09-21T02:35:58.618Z",
        "trend_7d": {
          "direction": "flat",
          "percent": 0
        }
      }
    },
    {
      "id": "sm11-42vrh",
      "name": "Abomasnow",
      "number": "42",
      "printed_number": "42",
      "images": [
        {
          "type": "front",
          "small": "https://api.rip.fun/storage/v1/object/public/tcg/cards/sm11/42vrh.small.webp",
          "medium": "https://api.rip.fun/storage/v1/object/public/tcg/cards/sm11/42vrh.large.webp",
          "large": "https://api.rip.fun/storage/v1/object/public/tcg/cards/sm11/42vrh.large.webp"
        }
      ],
      "expansion": {
        "id": "sm11",
        "name": "Unified Minds",
        "total": 261,
        "language": "English",
        "language_code": "en",
        "series": "Sun & Moon",
        "code": "UNM",
        "printed_total": 236,
        "release_date": "2019/08/02",
        "logo": "https://gjnrvwqtdlspyfpezgox.supabase.co/storage/v1/object/public/tcg/sets/sm11.logo.png",
        "symbol": "https://gjnrvwqtdlspyfpezgox.supabase.co/storage/v1/object/public/tcg/sets/sm11.symbol.png"
      },
      "language": "English",
      "language_code": "en",
      "tcgplayer_id": "194963",
      "variants": [
        {
          "name": "reverseHolofoil",
          "images": [
            {
              "type": "front",
              "small": "https://api.rip.fun/storage/v1/object/public/tcg/cards/sm11/42vrh.small.webp",
              "medium": "https://api.rip.fun/storage/v1/object/public/tcg/cards/sm11/42vrh.large.webp",
              "large": "https://api.rip.fun/storage/v1/object/public/tcg/cards/sm11/42vrh.large.webp"
            }
          ]
        }
      ],
      "supertype": "Pokémon",
      "subtypes": [
        "Stage 1"
      ],
      "types": [
        "Water"
      ],
      "hp": "140",
      "attacks": [
        {
          "cost": [
            "Water",
            "Colorless",
            "Colorless"
          ],
          "converted_energy_cost": 3,
          "name": "Quick Freeze",
          "text": "If your opponent's Active Pokémon has any Water Energy attached to it, it is now Paralyzed.",
          "damage": "70"
        },
        {
          "cost": [
            "Water",
            "Water",
            "Colorless",
            "Colorless"
          ],
          "converted_energy_cost": 4,
          "name": "Wild Tackle",
          "text": "This Pokémon does 20 damage to itself.",
          "damage": "140"
        }
      ],
      "weaknesses": [
        {
          "type": "Metal",
          "value": "×2"
        }
      ],
      "rarity": "Rare",
      "artist": "Shin Nagasawa",
      "pricing": {
        "currency": "USD",
        "market": 0.4,
        "is_stale": false,
        "conditions": [
          {
            "condition": "NM",
            "price": 0.4
          },
          {
            "condition": "LP",
            "price": 0.3
          },
          {
            "condition": "MP",
            "price": 0.15
          }
        ],
        "graded": [],
        "market_updated_at": "2026-09-21T02:35:58.618Z",
        "trend_7d": {
          "direction": "flat",
          "percent": 0
        }
      }
    }
  ],
  "page": 1,
  "page_size": 10,
  "total_count": 37914,
  "language": "en"
}
tracks the inputs above
curl -X GET 'https://service.rip.fun/api/v1/pokemon/cards?page_size=10&include=prices' \
  -H 'X-API-Key: rip_…'

Request fields

FieldTypeRequiredDescription
qstringAdvanced search, e.g. `name:char*`, `(subtypes:mega OR subtypes:vmax)`, `-types:water`, `hp:[150 TO *]`, `expansion.id:sv1`; on One Piece, the gameplay fields too — `colors:Black cost:[1 TO 3] type:Character`. Capped at 512 characters, 20 terms and 5 levels of parentheses — a generated filter reaches those long before a hand-typed one does. Unknown fields return 400 with a suggestion. Full grammar + field list: see the Search & filtering guide.
languagestringLanguage code, or a comma list. **Defaults to `en`**: every card exists once per printed language, so an unfiltered list interleaves two catalogs. Pass `language=all` for every language, or `language=ja`. The applied value comes back in the envelope. A `language:`, `id:` or `expansion.id:` term in `q` already pins the language, so the default steps aside.
orderBystringComma list; `-` prefix = DESC, e.g. `-release_date`. Max 3 keys. Cards sort on `name`, `number`, `rarity`, `raw_price`/`market_price`, `release_date`, `expansion.id`, `id` (plus `hp` on Pokémon and `cost`, `power`, `counter`, `life` on One Piece). Missing values sort LAST in both directions, and every sort carries a unique `id` tiebreak, so paging a sorted result set can neither skip nor repeat a row.
distinctstringSet to `code` to return one row per card rather than one per printing, and to make `total_count` count cards. Without it a page of 30 is ~17 cards and a code whose printings straddle a page boundary appears on both. The row kept is the base printing; filters that vary BETWEEN printings of a code (`rarity`, `raw_price`, `is_holo`) do not combine with it — every gameplay field does.
page / page_sizenumberPagination. `page` ≥ 1 (default 1), `page_size` 1–100 (default 100, `pageSize` also accepted). Out-of-range values are rejected, never clamped. `page × page_size` capped at 10,000, so narrow with `q` to go deeper. Always compare `total_count` against the rows you received — 100 is a cap, not a promise, and a truncated page looks identical to a complete one. Collections you might assume fit in a single call do not: there are more than 100 One Piece expansions, so an unpaginated `/expansions` omits the newest sets and everything you would have walked from them.
selectstringComma list of top-level fields to keep (`id` always included). Trims response size and does not change the credit cost.
includestringSet to `prices` to embed the pricing object on every returned object. **No surcharge** — metering is a flat 1 credit per request whatever the response carries, so hydrating a page of 100 with prices costs the same as without, and strictly less than a second call per row.

Response fields (data)

FieldDescription
data[].idCard id (variant printings carry a suffix, e.g. `…vh` for holofoil, `…vrh` for reverse holofoil)
data[].name / supertype / subtypesCard identity + classification
data[].rarity / number / printed_number / artistPrint metadata
data[].images[]`{ type, small, medium, large }`, `type` always `front`. Use `small` for grids and `large` for detail views. Two caveats: `medium` is always an alias of `large` (only two sizes are stored), and on cards whose source supplied a single rendition `small` is an alias too — it points at the same file as `large`. Compare the two URLs before assuming `small` is cheap; where they differ it is roughly 6× smaller.
data[].language / language_codeCard language: `English`/`en`, `Japanese`/`ja`, `Chinese`/`zh`. Chinese splits into Simplified (`zh-Hans`) and Traditional (`zh-Hant`). Each printing is its own object.
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` — and then always present, even where we hold nothing: `market` comes back `null` and the two arrays empty rather than the key being dropped. `{ currency, market, market_updated_at, is_stale, trend_7d, conditions[], graded[] }`, with every amount a **number** rather than a decimal string. `trend_7d` is `{ direction, percent }`, and it is the only trend window there is. See the Pricing data guide.
data[].pricing.conditions[]`{ condition, price }` raw ladder (NM/LP/MP/HP/DMG) for the card’s variant — those two fields only
data[].pricing.graded[]Reconciled graded value per company+grade: `{ company, grade, value, low, high, confidence, value_kind, sold_count, trend? }`

Pokémon card fields

Game fields on the Card object, on top of the shared ones above. All are optional and are omitted when we have no value, so a missing key means unknown.

FieldWhat it holds
supertypePokémon, Trainer or Energy.
subtypesClassification, e.g. Basic, Stage 1, VMAX, Mega, Supporter.
typesEnergy types, e.g. Fire, Water.
hpHit points, as a string. Emitted only when greater than zero.
abilities`{ type, name, text }` per printed ability.
attacks`{ cost, converted_energy_cost, name, text, damage }` per attack.
weaknesses / resistances`{ type, value }` pairs.

Printed on the card, not in the API

These values are printed on the physical card but no endpoint returns them today, and nothing in the response lets you derive them. Don't infer them — see the notes below.

FieldWhy it's missing
retreat_costThe retreat cost printed at the foot of the card. Not ingested, so never emitted — not even as null.
evolves_fromThe Pokémon this one evolves from. Same gap; build evolution chains from `subtypes` and name matching instead.
level / flavor_text / regulation_mark / national_pokedex_numbersAlso printed, also not ingested. Omitted rather than returned empty.

Every game field is optional and is omitted rather than sent as null, so a missing key means unknown — not zero and not empty.

Errors

StatusCodeWhen
400parse_errormalformed `q` syntax: an unclosed quote or parenthesis, a missing term, a stray operator. `details.position` is the 0-based character offset of the offending token.
400unknown_fielda `q` term names a field this resource does not register (`subtype:` for `subtypes:`, a card field on `/sealed`), or `orderBy` names a field you cannot sort on. The message carries a did-you-mean suggestion and `details.position` points at it. Unknown fields are rejected, never ignored — an empty page would be the more expensive answer.
400invalid_valuethe field exists but the value does not fit it: a range on a field that has no ordering, a non-numeric bound, a value outside a closed vocabulary.
400query_too_complex`q` exceeds 512 characters, 20 terms or 5 levels of parenthesis nesting, `orderBy` names more than 3 keys, or a value breaks the wildcard guardrails (a leading `*`, more than 3 per value, fewer than 2 literal characters). Filter builders hit this before people do — count terms as you assemble, and fall back to several narrower calls rather than one wide one.
400invalid_pagination`page`/`page_size` non-numeric, out of range, or `page × page_size` > 10,000
400invalid_language`language` is not a language code — expected `en`, `ja`, a comma list of codes, or `all`
400invalid_distinct`distinct` is anything other than `code`
400invalid_select`select` names more than 40 fields. Names that do not exist are ignored rather than rejected, so a typo silently drops the field — check the response, not just the status.
400invalid_include`include` carries a value this endpoint does not offer. Cards and sealed accept `prices`; the expansion endpoints accept none at all.
404not_foundno such object for this game (a Pokémon id on `/onepiece` is "not found")

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