Cards

List and filter 80,000+ Pokémon cards by name, set, rarity, language and price, or fetch one card with every condition and printing it sells in.

List Cards

GET/v1/cards1 credit per item returned

Search and filter Pokemon cards across every set and language: name search, price-range filtering, sorting. It doesn't return price data. Fetch a single card via GET /v1/cards/:id for that. Free tier: English only; Japanese, German and Spanish need a paid plan.

Parameters

namestring

Filter by card name (partial match supported).

numberstring

Filter by card number within the set.

total_set_numberstring

Filter by total set number (e.g. "102" for Base Set).

set_idstring

Filter by set ID.

tcg_player_idinteger

Filter by TCGPlayer product ID.

languagestring

Card language (e.g. "English", "Japanese", "German", "Spanish"). Free tier: English only; Japanese, German and Spanish require a paid plan.

raritystring

Card rarity (e.g. "Rare Holo", "Common").

stagestring

Evolution stage (e.g. "Basic", "Stage 1", "Stage 2").

card_typestring

Card type (e.g. "Fire", "Water", "Trainer").

weaknessstring

Weakness type (e.g. "Water").

energy_typestring

Attack energy type the card uses (e.g. "Fire"). Matches cards whose energy types include the value.

artiststring

Illustrator name, case-insensitive partial match (e.g. "arita").

hpinteger

Exact HP (e.g. 120).

currencystring

Price currency used by price filters and sorting. "usd" uses TCGPlayer; "eur" uses Cardmarket and requires Pro or higher.

conditionstring

Card condition (e.g. "Near Mint", "Lightly Played", "Moderately Played").

variantstring

Card variant (e.g. "Normal", "Reverse Holo", "1st Edition").

gradestring

PSA/BGS/CGC grade value.

min_pricenumber

Minimum market price in the selected currency.

max_pricenumber

Maximum market price in the selected currency.

sortstring

Sort order. One of "price_asc", "price_desc", "name_asc", "name_desc".

pagenumber

Page number for pagination. Defaults to 1.

per_pagenumber

Results per page. Maximum 100. Defaults to 50.

Try it

curl -H "X-API-Key: YOUR_API_KEY" \
https://api.pkmnprices.com/v1/cards
Response
{
  "data": [
    {
      "id": 4521,
      "tcg_player_id": 89356,
      "name": "Charizard",
      "image_url": "https://images.pkmnprices.com/cards/4521.jpg",
      "number": "4",
      "total_set_number": "102",
      "rarity": "Rare Holo",
      "artist": "Mitsuhiro Arita",
      "hp": 120,
      "set": {
        "id": 1,
        "name": "Base Set"
      }
    }
  ],
  "pagination": {
    "page": 1,
    "per_page": 50,
    "total": 1,
    "total_pages": 1
  }
}

Get Card

GET/v1/cards/:id1 credit

A single Pokemon card by ID, with full price data and gameplay attributes: stage, type, HP, weakness, resistance, retreat cost, energy type, ability, attacks, flavor text. These extra fields are only on this endpoint, not the list endpoints.

cardmarket_url and cardmarket_product_id identify the exact mapped Cardmarket product, when one exists. Prices come from TCGPlayer (USD) and Cardmarket (EUR); pick a source with the currency parameter. Each price object holds one market_price for its own condition and printing variant.

Parameters

idintegerrequired

The unique card ID.

currencystring

Price source/currency. "usd" returns TCGPlayer prices, "eur" returns Cardmarket prices. Omit it to receive every currency your plan allows. Cards without Cardmarket data return an empty prices array for "eur".

Try it

curl -H "X-API-Key: YOUR_API_KEY" \
https://api.pkmnprices.com/v1/cards/{id}
Response
{
  "id": 789,
  "tcg_player_id": 519184,
  "name": "Charizard ex",
  "image_url": "https://images.pkmnprices.com/cards/789.jpg",
  "number": "006",
  "total_set_number": "197",
  "rarity": "Double Rare",
  "artist": "PLANETA CG Works",
  "hp": 330,
  "stage": "Stage 2",
  "card_type": "Pokemon",
  "weakness": "R",
  "resistance": null,
  "retreat_cost": 2,
  "energy_type": [
    "Fire"
  ],
  "ability": "<strong>Ability — Infernal Reign</strong> ...",
  "flavor_text": null,
  "attacks": [
    "[2RR] Burning Darkness (180+) ..."
  ],
  "cardmarket_url": "https://www.cardmarket.com/en/Pokemon/Products/Singles/Obsidian-Flames/Charizard-ex-OBF006",
  "cardmarket_product_id": 733537,
  "set": {
    "id": 123,
    "name": "Obsidian Flames"
  },
  "prices": [
    {
      "source": "tcgplayer",
      "currency": "USD",
      "condition": "Near Mint",
      "variant": "Holofoil",
      "market_price": 285,
      "created_at": "2026-04-15T00:00:00Z"
    },
    {
      "source": "cardmarket",
      "currency": "EUR",
      "condition": "Near Mint",
      "variant": "Holofoil",
      "market_price": 247.5,
      "created_at": "2026-08-11T14:22:00Z"
    }
  ]
}