返回博客
公告|2026-02-15|9 min read

Introducing TCG API: One API for Every Trading Card Game

We built TCG API because no existing service covers all major TCGs with real pricing data from multiple markets. Today, we're opening it up to developers everywhere.

Why We Built TCG API

The trading card market has exploded over the past few years. Pokemon, Magic: The Gathering, Yu-Gi-Oh!, One Piece — there are more games, more collectors, and more money flowing through the market than ever before. But the tools available to developers haven't kept up.

If you wanted to build an app that tracks card prices, you had two options: scrape websites yourself (fragile, slow, legally gray) or use one of the few existing APIs that only cover a single game with limited data. Neither option is good enough for serious development work.

We built TCG API to fix that. After nearly a year of internal development and beta testing, we opened it up to developers everywhere — and the response has been incredible. Here's what you get.

One API, 8 Games

TCG API is a single, unified REST API covering 8 trading card games with pricing data from both TCGPlayer and eBay. You can search for a Charizard ex and a Black Lotus in the same API call, compare Pokemon prices to Yu-Gi-Oh! prices, and build a multi-game portfolio tracker without stitching together five different data sources.

Here's a breakdown of each supported game:

Pokemon TCG

The largest TCG market by volume. Our Pokemon database covers over 60,000 cards spanning Base Set (1999) through the current Scarlet & Violet era. That includes promo cards and regional variants. Pricing covers every condition from Near Mint to Damaged, plus graded values for PSA, BGS, and CGC.

Pokemon Japan

Japanese Pokemon cards are a distinct market with separate pricing dynamics. We track Japanese exclusive sets, promo cards, and high-rarity variants that often trade at significant premiums over their English counterparts. Tracked separately so you can compare English vs Japanese values for the same card.

Magic: The Gathering

MTG's database is the most complex in our system, with over 90,000 unique printings across 30+ years of sets. We track prices for Standard-legal sets, Reserved List cards, Commander staples, and everything in between. For Magic, eBay sold data is particularly valuable — LP copies of Reserved List duals often trade far below TCGPlayer's asking prices.

Yu-Gi-Oh!

Yu-Gi-Oh! has one of the most volatile pricing environments in the TCG space, driven by a fast-moving competitive meta. Our database covers 50,000+ cards with special attention to rare variants — Starlight Rares, Ghost Rares, and Ultimate Rares each have their own pricing entries. Meta shifts can move a card's price 10x in a week, so fresh eBay sold data is especially critical here.

One Piece Card Game

The fastest-growing game in our database. One Piece launched in English in 2023 and has seen explosive adoption. We cover all English and Japanese sets with particular attention to alternate art leaders and Secret Rare variants, which are the chase cards of this game. Price spreads between Japanese and English copies are tracked separately.

Disney Lorcana

Lorcana has settled into a stable collector market. Our database covers all released sets with strong eBay sold data going back to launch. Enchanted rarity cards are the primary driver of high-value singles, and our graded data covers early PSA/BGS submissions of the most sought-after Enchanteds.

Star Wars: Unlimited

Star Wars: Unlimited launched in early 2024 and has developed a dedicated competitive and collector community. We track all sets with pricing for regular and showcase variants. The showcase cards are the TCG equivalent of alternate arts and carry significant premiums.

Flesh and Blood

FaB has a smaller but intensely engaged community. The game's print-to-demand model for most sets keeps prices relatively stable, but early Cold Foil and Rainbow Foil variants from sets like Monarch and Tales of Aria trade at significant premiums. Our database covers all sets since the game's 2019 launch.

Real Prices From Real Markets

We don't pull from a single marketplace. Every card includes pricing from two fundamentally different market structures:

TCGPlayer Prices

TCGPlayer is a marketplace where individual sellers list cards at set prices. Our data captures:

  • Market price — the weighted average of recent sales, not just listings
  • Low — the cheapest available copy
  • Mid — the median listing price
  • High — the most expensive listed copy

These four data points per condition give you a complete picture of the retail supply side. When low and market are close together, supply is healthy. When high is dramatically above market, someone is speculating.

eBay Sold Prices

eBay's auction and fixed-price sales represent real completed transactions — actual money changing hands. We aggregate these into:

  • 1-day averages — the freshest signal, useful for fast-moving cards
  • 7-day averages — the standard benchmark for most pricing decisions
  • 30-day averages — smoothed trend data, less susceptible to single outlier sales

The comparison between TCGPlayer market prices and eBay sold averages is one of the most actionable data points in the TCG market. When eBay consistently runs above TCGPlayer, the retail market hasn't caught up to real demand. When TCGPlayer runs above eBay, the retail side may be overpriced relative to what buyers will actually pay.

TCG Price Lookup surfaces this comparison instantly for any card — useful for quick checks before a purchase or sale.

Graded Card Data

Graded cards are a distinct market segment with their own pricing dynamics. We track eBay sold averages for three major grading companies:

PSA (Professional Sports Authenticator) — The most recognized grading brand in TCG collecting. PSA grades from 1 to 10, with 10 (Gem Mint) commanding the highest premium. PSA 10s can trade at 5–15x the price of a raw Near Mint copy for popular cards.

BGS (Beckett Grading Services) — Beckett uses a more granular scale including half grades (9.5, 8.5, etc.) and subgrades for centering, corners, edges, and surface. BGS 10 "Black Labels" (all subgrades at 10) are extremely rare and command premiums even above PSA 10s for some cards.

CGC (Certified Guaranty Company) — Originally known for comic book grading, CGC entered the TCG space and has grown its market share. CGC grades are generally less liquid than PSA for most cards, but the pricing gap has been narrowing.

We track each grader's grades separately because the markets are not identical. A PSA 10 and a CGC 10 of the same card may trade at meaningfully different prices.

A Deeper Look at the Dual-Market Model

The insight that drives the whole API design is simple: TCGPlayer and eBay are measuring different things.

TCGPlayer tells you what sellers want for a card right now. It's forward-looking — sellers set prices based on what they think the market will bear.

eBay tells you what buyers have actually paid. It's backward-looking — each data point is a confirmed transaction.

Neither market is "correct." But the relationship between them is highly informative:

SignalInterpretation
eBay avg > TCGPlayer marketStrong demand; retail may be underpriced
TCGPlayer market > eBay avgWeak demand; retail may be overpriced
Converging trend over 30 daysMarket finding equilibrium
Diverging trend over 30 daysMomentum play; market reacting to external event

Store owners use this to price buy lists. Collectors use it to time purchases. Developers use it to build smarter pricing tools.

Built for Developers

We designed TCG API with developer experience as the top priority from day one.

Simple REST API with predictable JSON. Every list response follows the same envelope format: a data array containing results, plus total, limit, and offset fields for pagination. No surprises.

API key auth. Pass your API key in the X-API-Key header. No OAuth dance, no token refresh cycles, no SDK required (though we have one — more on that below).

Fast responses. Our infrastructure targets ~150ms average response time. Prices are pre-calculated and cached — we're not querying marketplaces on your behalf in real time.

Comprehensive documentation. Every endpoint has examples in cURL, JavaScript, and Python. Response schemas are fully documented with descriptions for every field. Check the interactive docs for details.

Predictable rate limits. The Free tier gives you 200 requests per day with a clear 429 response and X-RateLimit-Remaining / X-RateLimit-Reset headers so you always know where you stand. No hidden throttling.

Example: Search and Get Prices in One Call

Here's a real search request. Prices come back inline — no second call needed:

curl "https://api.tcgpricelookup.com/v1/cards/search?q=charizard+ex&game=pokemon" \
  -H "X-API-Key: YOUR_API_KEY"
{
  "data": [
    {
      "id": "019535a1-d5d0-7c12-a3e8-b7f4c6d8e9a2",
      "tcgplayer_id": 510327,
      "name": "Charizard ex",
      "number": "006/197",
      "rarity": "Double Rare",
      "variant": "Standard",
      "image_url": "https://cdn.tcgpricelookup.com/pkmn/sv03/006.jpg",
      "set": { "slug": "obsidian-flames", "name": "Obsidian Flames" },
      "game": { "slug": "pokemon", "name": "Pokemon" },
      "prices": {
        "raw": {
          "near_mint": {
            "tcgplayer": { "market": 48.97, "low": 42.50 },
            "ebay": { "avg_7d": 50.75 }
          }
        },
        "graded": {
          "psa": {
            "10": { "ebay": { "avg_7d": 418.50 } }
          }
        }
      },
      "updated_at": "2026-02-16T12:00:00Z"
    }
  ],
  "total": 47,
  "limit": 20,
  "offset": 0
}

Clean, predictable, immediately usable. One request gives you the card, the image, TCGPlayer prices, eBay averages, and graded values — all at once.

You can also batch-fetch up to 20 cards by ID in a single request using the ids parameter. The API reference has the full endpoint documentation.

Official SDK and CLI

Since launch, we've shipped open-source tools to make working with the API even faster:

JavaScript / TypeScript SDK

The @tcgpricelookup/sdk package wraps the entire API with typed methods, automatic retry on 429/5xx, and transparent batch chunking for large ID arrays. Zero runtime dependencies, works in Node 18+, browsers, Cloudflare Workers, Bun, and Deno.

import { TcgLookupClient } from "@tcgpricelookup/sdk";

const tcg = new TcgLookupClient({ apiKey: process.env.TCG_API_KEY });

const { data } = await tcg.cards.search({ q: "charizard", game: "pokemon" });
console.log(data[0].prices.raw.near_mint?.tcgplayer?.market);
// 48.97

MIT licensed, source on GitHub.

CLI Tool

For terminal workflows, tcglookup gives you colored price tables from any terminal:

npm install -g tcglookup
tcglookup search "charizard" --game pokemon

No code required. Pipe to jq with --json for scripting.

Next.js Starter Template

Want a working web app in 60 seconds? Deploy nextjs-tcg-starter to Vercel with one click. It's a polished Next.js 16 app with search, card detail pages, per-game browsing, and dark mode — all powered by the SDK. Great for learning the API or bootstrapping a real product.

Why Choose TCG API Over Alternatives?

There are a handful of other options for TCG price data. Here's how we compare:

Single-game APIs (game-specific community projects) cover one game deeply but require you to stitch together multiple sources for a multi-game app. Maintenance burden grows linearly with the number of games you need.

Scraping solutions are fragile by nature. Marketplace structure changes break scrapers overnight. Legal gray area. No SLA. Not suitable for production applications.

Price guide sites (manual data) update infrequently (weekly or monthly) and don't distinguish between asking prices and sold prices. Useful for casual lookups, not for building data-driven tools.

TCG API covers 8 games in a single endpoint, updates pricing from both TCGPlayer and eBay, includes graded card data, and provides a stable, documented API with a clear pricing model. TCG Price Lookup — the web frontend built on the same data — is available at tcgpricelookup.com for quick manual lookups if you want to verify what the API is returning during development.

Pricing

Three plans, simple math:

PlanDaily requestsRate limitKey featuresPrice
Free2001 req / 3sAll games, raw TCGPlayer prices$0
Trader10,0001 req / s+ eBay prices, graded data, price history, commercial use$29/mo
Business100,0003 req / sEverything in Trader + priority support, custom integrationsContact us

One API call = one request. No credits, no tokens, no hidden multipliers. A search that returns 50 cards is still just one request. See the full pricing page for details.

Get Started Today

The Free tier gives you 200 requests per day across all 8 games with raw condition pricing from TCGPlayer. No credit card required. Sign up at tcgpricelookup.com and get your API key in under a minute.

We're excited to see what you build.

Related posts: How to Build a TCG Price Tracker in 50 Lines of TypeScript · TCGPlayer vs eBay: Which Gives You the Most Accurate Card Prices? · PSA vs BGS vs CGC: The Complete Trading Card Grading Comparison