Skip to content
· 10 min read

Pokemon Card Price API — Complete Developer Guide for 2026

Everything you need to know about getting Pokemon card pricing data via API. Compare Pokemon TCG APIs and build your first price lookup in minutes.

guidepokemonpricingapi

The Pokemon card market is one of the largest collectibles markets in the world. A single Charizard can sell for thousands, new set releases cause immediate price spikes, and collectors need accurate pricing data to make informed decisions. If you’re building an app, tool, or service around Pokemon cards, you need a reliable price API.

This guide covers every major Pokemon card API available in 2026, compares their strengths and weaknesses, and walks you through building a price lookup tool.

Why Pokemon Card Pricing Data Matters

The Pokemon TCG market has grown dramatically. Booster boxes, elite trainer boxes, and individual singles all fluctuate in value based on tournament results, content creator openings, and market sentiment. Developers building for this market need:

  • Real-time prices — What is a card selling for right now?
  • Price history — Is a card trending up or down?
  • Multiple printings — Normal, Holofoil, Reverse Holo, and special variants all have different values
  • Set-level data — Which sets have the highest expected value?
  • Sealed product pricing — Booster boxes and ETBs are investments too

Let’s look at the APIs available.

Pokemon TCG APIs Compared

PokemonTCG.io

PokemonTCG.io is the go-to API for Pokemon card data. It’s free, well-documented, and has a large community.

What it offers:

  • Complete Pokemon card database with set info, HP, attacks, abilities
  • Card images (high and low resolution)
  • TCGPlayer price data (market, low, mid, high)
  • Advanced search with filters (type, set, rarity, etc.)
  • No authentication required for basic use

Limitations:

  • Pokemon only — no other games
  • Pricing data is not updated in real time (can lag behind market)
  • No price change tracking or historical price trends
  • No price movers or market analytics
  • Rate limited to 20,000 requests per day (generous but fixed)

Best for: Apps that need rich Pokemon card data (images, attacks, HP, types) and basic pricing as a secondary feature.

// PokemonTCG.io example
const response = await fetch(
'https://api.pokemontcg.io/v2/cards?q=name:charizard&pageSize=5',
{ headers: { 'X-Api-Key': 'your-api-key' } }
);
const data = await response.json();
data.data.forEach(card => {
console.log(`${card.name} (${card.set.name})`);
console.log(` Market: $${card.tcgplayer?.prices?.holofoil?.market || 'N/A'}`);
});

Pokemon Price Trackers & Scrapers

Several sites like PriceCharting and Pokemon price tracker apps offer pricing data, but most don’t provide a public API. They’re useful for manual lookups but not for building applications.

Limitations:

  • Most don’t offer developer APIs
  • Data is often scraped and redistribution rights are unclear
  • No standardized format
  • Single-game focus

TCG API

TCG API is built specifically for card pricing. It covers Pokemon alongside 89+ other games, with a focus on real-time market data.

What it offers:

  • Real-time market pricing from TCGPlayer (updated daily for Pokemon)
  • Separate prices for Normal, Holofoil, Reverse Holofoil, and other printings
  • Price change tracking (24h, 7d, 30d percentage and dollar changes)
  • Price movers — biggest gainers and losers
  • Card search with game, set, and name filters
  • Bulk price data for large-scale applications (Pro tier)
  • 89+ games, not just Pokemon

Limitations:

  • Less detailed card metadata than PokemonTCG.io (no attack text, HP, weakness, etc.)
  • No card images hosted (links to TCGPlayer)
  • Free tier limited to 100 req/day (paid plans available)

Best for: Price tracking, collection valuation, deal finding, and any app where knowing what a card is worth matters more than knowing its attack damage.

Getting Started with TCG API for Pokemon

Let’s build a quick price lookup tool. First, sign up for a free API key.

Search for Cards

const API_KEY = 'your-api-key';
const BASE_URL = 'https://api.tcgapi.dev/v1';
async function searchPokemonCards(query) {
const url = `${BASE_URL}/search/cards?q=${encodeURIComponent(query)}&game=pokemon&per_page=5`;
const response = await fetch(url, {
headers: { 'Authorization': `Bearer ${API_KEY}` }
});
return (await response.json()).data;
}
const cards = await searchPokemonCards('charizard ex');
cards.forEach(card => {
console.log(`${card.name}${card.set_name}`);
});

Get Detailed Prices

Each card comes with prices broken down by printing:

async function getCardPrices(cardId) {
const response = await fetch(`${BASE_URL}/cards/${cardId}`, {
headers: { 'Authorization': `Bearer ${API_KEY}` }
});
const card = (await response.json()).data;
console.log(`\n${card.name} (${card.set_name})\n`);
for (const [printing, prices] of Object.entries(card.prices || {})) {
const market = prices.market_price ? `$${prices.market_price.toFixed(2)}` : 'N/A';
const low = prices.low_price ? `$${prices.low_price.toFixed(2)}` : 'N/A';
const change = prices.change_24h !== undefined
? ` (${prices.change_24h >= 0 ? '+' : ''}$${prices.change_24h.toFixed(2)} 24h)`
: '';
console.log(` ${printing}: Market ${market} | Low ${low}${change}`);
}
}

Output:

Charizard ex (Obsidian Flames)
Normal: Market $12.45 | Low $10.50 (+$0.35 24h)
Holofoil: Market $45.99 | Low $39.00 (-$1.20 24h)

Track Price Changes

Find which Pokemon cards are moving the most:

async function pokemonMovers() {
const response = await fetch(
`${BASE_URL}/games/pokemon/prices/movers?period=24h&per_page=5`,
{ headers: { 'Authorization': `Bearer ${API_KEY}` } }
);
const data = await response.json();
console.log('Top Gainers (24h):');
(data.data?.gainers || []).forEach(card => {
const pct = `+${card.price_change_pct.toFixed(1)}%`;
console.log(` ${card.name} — $${card.market_price.toFixed(2)} (${pct})`);
});
console.log('\nTop Losers (24h):');
(data.data?.losers || []).forEach(card => {
const pct = `${card.price_change_pct.toFixed(1)}%`;
console.log(` ${card.name} — $${card.market_price.toFixed(2)} (${pct})`);
});
}

Build a Simple Price Checker

Here’s a complete Node.js script you can run from the command line:

const API_KEY = 'your-api-key';
const BASE_URL = 'https://api.tcgapi.dev/v1';
const query = process.argv.slice(2).join(' ');
if (!query) {
console.log('Usage: node price-check.js <card name>');
process.exit(1);
}
const url = `${BASE_URL}/search/cards?q=${encodeURIComponent(query)}&game=pokemon&per_page=5`;
const response = await fetch(url, {
headers: { 'Authorization': `Bearer ${API_KEY}` }
});
const cards = (await response.json()).data;
if (cards.length === 0) {
console.log(`No Pokemon cards found for "${query}"`);
process.exit(0);
}
cards.forEach(card => {
console.log(`\n${card.name} (${card.set_name})`);
for (const [printing, prices] of Object.entries(card.prices || {})) {
const market = prices.market_price ? `$${prices.market_price.toFixed(2)}` : 'N/A';
console.log(` ${printing}: ${market}`);
}
});

Run it:

Terminal window
node price-check.js pikachu vmax
node price-check.js "umbreon vmax alt art"
node price-check.js charizard

Choosing the Right API

Use PokemonTCG.io if your app needs detailed card metadata — attacks, abilities, HP, weaknesses, resistances, types, and card images. It’s the best free source for the “data side” of Pokemon cards.

Use TCG API if your app needs accurate pricing — market values, price trends, and deal-finding. Especially useful if you also want to support other games like Magic or Yu-Gi-Oh! without integrating separate APIs for each.

Use both together for the ultimate Pokemon card app. Pull card data and images from PokemonTCG.io, and pricing from TCG API. Many developers take this approach.

For more on this comparison, see our detailed PokemonTCG.io comparison page.

Get Started

Ready to add Pokemon card prices to your app? Sign up for a free TCG API key and follow the quickstart guide to make your first API call. The free tier includes 100 requests per day — enough to build and test your integration. When you’re ready to scale, paid plans start at $9.99/month.


Building something cool with Pokemon card data? Share it with us on Discord — we love seeing what developers build.

Ready to get started?

Free tier includes 100 requests per day. No credit card required.