Cards

List and filter 70,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 all sets and languages. Supports full-text name search, price range filtering, and sorting. Does not return price data — fetch a single card via GET /v1/cards/:id for prices. Free tier is limited to English cards: Japanese and German require Pro or Business.

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"). Free tier: English only; Japanese and German require Pro or Business.

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.

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

Retrieve a single Pokemon card by its unique ID, including all price data, Cardmarket mapping identifiers, and gameplay attributes (stage, type, HP, weakness, resistance, retreat cost, energy type, ability, attacks, and flavor text). The nullable cardmarket_url and cardmarket_product_id fields identify the exact mapped Cardmarket product. These fields and gameplay attributes are returned only by this endpoint, not the list endpoints. Prices come from TCGPlayer (USD) and Cardmarket (EUR) — use the currency parameter to select which source is returned. Every price object contains one market_price for its exact 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"
    }
  ]
}