TCGplayer · Marketplace catalog and pricing
TCGplayer API alternative — card data without the partner gate
The TCGplayer API needs partner approval and models products, not cards. TCGGraph gives you game-native card data, Cardmarket and TCGplayer prices, and a key you create yourself.
What TCGplayer API does well
- Authoritative pricing for the largest US card marketplace.
- Deep SKU-level data covering condition, printing and language.
- Direct cart and affiliate integration if commerce is your business model.
- Enormous catalog breadth across games and sealed product.
Where TCGGraph differs
- TCGplayer requires partner approval, which takes time and is not granted to every applicant. TCGGraph keys are self-service and immediate.
- It models marketplace products, not game cards. There is no HP, no mana cost, no ban list — you would join that data yourself.
- It prices one market. TCGplayer is North America, so a European seller or a European collection tracker gets numbers from a marketplace their users cannot buy on. TCGGraph carries the Cardmarket quote in EUR on the same card.
- TCGGraph puts Cardmarket next to TCGplayer on every game but Grand Archive, and Card Kingdom and Manapool on Magic, so you are not exposed to a single market's quirks.
- TCGplayer sells a Master Ball pattern or a Prerelease stamp as a separate product with no link to the card it is a version of. TCGGraph keeps the split as printings[] on the card, each with its own picture, and puts the Cardmarket quote for the same printing beside it under the same finish value.
- We keep game-native fields as first-class data, which is what a deck builder or collection tracker actually needs.
Side by side
Feature comparison
| Feature | TCGplayer API | TCGGraph |
|---|---|---|
| Self-service API key | Partner approval | |
| Game-native card fields | ||
| Games covered | Catalog-wide SKUs | 9 games, modelled |
| Price sources | TCGplayer | 4 sources |
| European prices (Cardmarket) | 8 games, in EUR | |
| Format legality | ||
| Cart and affiliate links | ||
| GraphQL |
When to use TCGplayer API instead
If you are building commerce — carts, affiliate links, seller tooling — go direct to TCGplayer. Their pricing is authoritative for the US market and the affiliate economics only work first-party. TCGGraph is for products that need to understand cards as game objects, not as SKUs.
Signals
When it is worth switching
None of these are reasons on their own. Two or three together usually are.
- You want card data as well as commerce data, without joining two catalogues by name and hoping.
- You are not a TCGplayer seller and do not need order management, just prices and card details.
- You need European prices, which TCGplayer does not cover.
- The approval process and its requirements do not fit how you want to build.
Migration
Moving off TCGplayer API, step by step
The honest version, including the parts that are not one-to-one.
Step 1
Decide what you actually need
This is the one comparison where the two products barely overlap. TCGplayer's API is a commerce API: inventory, orders, listings, seller operations. If you are running a store on TCGplayer, you need it and we do not replace it. If you only ever wanted prices and card data, you have been using a commerce API as a card database.
Step 2
Replace product lookup with card lookup
TCGplayer productId identifies a sellable SKU. Our card id identifies a printing, and we carry the TCGplayer product id alongside it, so you can join back to your existing data rather than rebuilding the mapping.
Step 3
Broaden the price picture
TCGplayer market price becomes one source among several: Cardmarket on every game but Grand Archive, and Card Kingdom and Mana Pool on Magic. If you want to keep behaving exactly as before, read the quote with source tcgplayer and ignore the others. If you sell into Europe, Cardmarket is the number that matters and it is in the same response.
Step 4
Keep TCGplayer for anything transactional
Nothing here touches listings, orders or fulfilment. Teams that switch generally keep the TCGplayer API for commerce and use us for the catalogue and price history — those are different jobs.
Field mapping
What each field becomes
The part that takes the longest is discovering that TCGplayer API spells the same concept differently. Here it is, written down.
| TCGplayer API | TCGGraph | Notes |
|---|---|---|
| productId | externalIds.tcgplayerId | Carried wherever the printing is matched, so you can join both ways. |
| groupId | set.code | Their group is roughly our set. |
| marketPrice | prices[].market | The quote with source tcgplayer, next to the others. |
| lowPrice | prices[].low | Same definition, per source. |
| extendedData | gameData | Named fields per game rather than a name/value list. |
| imageUrl | images.large | Ours is unmetered, with small and normal sizes too. |
| — (not available) | legalities | Magic, Pokémon, Yu-Gi-Oh! and Lorcana formats. |
| — (not available) | /v1/prices/{id}/history | Daily series per source and finish. |
FAQ
Common questions
Anything else, email hello@tcggraph.com. We will tell you if the answer is that you should stay where you are.
More comparisons