Pokémon TCG API
for card prices,
sales & data
Access daily-updated pricing from TCGplayer, Cardmarket, and eBay for English, Japanese & German cards, sealed products, and graded cards. Built for developers.
Weighing options? Compare Pokémon TCG APIs


Everything you need to build
One API for card data, sealed product info, and daily market prices across every Pokémon TCG set.
Daily price updates
Market prices updated daily from TCGplayer, Cardmarket, and eBay. Track price movements and trends over time.
Complete card data
Every card across every set — name, rarity, artist, HP, images, and more.
Sealed products
Booster boxes, ETBs, and collections with pricing data and set associations.
Japanese & German cards
Japanese and German set data and pricing available on every paid plan. German is priced in EUR from Cardmarket.
Fast & reliable
Built with Rust for sub-100ms responses. Paginated endpoints with clean JSON.
Simple auth
API key authentication. Create keys instantly, manage them from your dashboard.
Typed SDKs for JavaScript & Python
Skip the fetch boilerplate. Typed methods for every endpoint, API-key auth, and auto-paginating iterators — in TypeScript or Python.
npm install @pkmnprices/sdk
import { PkmnPrices } from "@pkmnprices/sdk";const client = new PkmnPrices({apiKey: process.env.PKMNPRICES_API_KEY});// Search cards — fully typed params and responseconst { data } = await client.cards.list({name: "charizard",per_page: 5});// Fetch one card with TCGplayer (USD) or Cardmarket (EUR) pricesconst charizard = await client.cards.get(data[0].id, {currency: "usd"});// Every row has one market_price for its exact condition and printing variantconsole.log(charizard.prices[0].market_price); // 285// Cursor-paginated Cardmarket offers are language-matched to the cardconst offers = await client.cards.listings.cardmarket(charizard.id, {condition: "Near Mint",variant: "Reverse Holo"});console.log(offers.data[0]?.seller, offers.data[0]?.price);// Sealed products support the same currency filterconst box = await client.sealed.get(5678, { currency: "eur" });console.log(box.cardmarket_url, box.prices[0]?.market_price);
Start free, upgrade when you need to
Simple credit-based pricing. Credits reset daily.
Features
- Included:500 credits / day
- Included:60 requests / minute
- Included:1 API key
- Included:English cards
- Not included:Sealed product prices
- Not included:EU prices (Cardmarket)
- Not included:Price history
- Not included:TCGplayer listings
- Not included:Cardmarket listings
- Not included:eBay sold listings
- Not included:Commercial use
Features
Everything in Free, plus
- Included:20,000 credits / day
- Included:5 API keys
- Included:English, Japanese & German cards
- Included:Sealed product prices
- Included:EU prices (Cardmarket)
- Included:Price history
- Included:TCGplayer listings
- Included:Cardmarket listings
- Included:eBay sold listings
- Included:Commercial use