API documentation

One REST API for trading-card prices across many marketplaces and six languages, reconciled into a single coherent view for both singles and sealed products. Below: every endpoint, copy-paste examples in cURL / JavaScript / Python, and a live tester (runs against a demo key, no signup needed to try). Build with your own key — it's free.

One fair value, with confidence
We blend prices across sources into a single outlier-trimmed value per card and language, and return a confidence score — so you don't have to reconcile marketplaces, currencies and conditions yourself.
Consistent by design
Graded values (PSA / CGC / BGS) and raw conditions stay logically ordered, and live eBay / Vinted listings are matched to the exact card — right number, set and language, not fuzzy name lookups.
Built to integrate
Metered keys with quotas and rate limits, batch lookups up to 500 ids per call, daily-refreshed history with all-time high/low, and a browsable catalog of singles and sealed products.

Authentication

Every request needs your API key as a Bearer token. Get a free key, then:

Authorization: Bearer YOUR_API_KEY

Base URL: https://api.tcgapi.io · responses are JSON · prices in EUR (USD where noted via currency).

Examples in

Prices

GET/v1/cards/card_e7c8762fbf4c55bdd5af2fba/price?language=FR&kind=nm_low
Resolved best price
One value per card for a (language, kind): best source wins, ties by recency, with cross-source consensus + staleness.
curl "https://api.tcgapi.io/v1/cards/card_e7c8762fbf4c55bdd5af2fba/price?language=FR&kind=nm_low" \
  -H "Authorization: Bearer $TCG_API_KEY"
POST/v1/cards/prices
Batch resolved prices
Up to 500 ids in one call. kind selects the source: nm_low=Cardmarket(EUR), market/mid=TCGplayer(EUR).
curl -X POST "https://api.tcgapi.io/v1/cards/prices" \
  -H "Authorization: Bearer $TCG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "ids": ["card_e7c8762fbf4c55bdd5af2fba"], "language": "EN", "kind": "market" }'
POST endpoint — use the code above with your key.
GET/v1/cards/card_e7c8762fbf4c55bdd5af2fba/tcgplayer-price
TCGplayer price
Per-card TCGplayer market + mid (EUR) + tcgplayerUrl deep-link.
curl "https://api.tcgapi.io/v1/cards/card_e7c8762fbf4c55bdd5af2fba/tcgplayer-price" \
  -H "Authorization: Bearer $TCG_API_KEY"

Marketplace listings

GET/v1/cards/card_e7c8762fbf4c55bdd5af2fba/listings?source=ebay-active&language=FR&condition=near_mint
eBay active (by language + NM)
Live fixed-price + auctions. language routes the marketplace (FR→eBay.fr, EN→US…), condition filters (near_mint = NM only).
curl "https://api.tcgapi.io/v1/cards/card_e7c8762fbf4c55bdd5af2fba/listings?source=ebay-active&language=FR&condition=near_mint" \
  -H "Authorization: Bearer $TCG_API_KEY"
GET/v1/cards/card_e7c8762fbf4c55bdd5af2fba/listings?source=ebay
eBay sold (last sales)
Recently completed eBay sales with sold dates.
curl "https://api.tcgapi.io/v1/cards/card_e7c8762fbf4c55bdd5af2fba/listings?source=ebay" \
  -H "Authorization: Bearer $TCG_API_KEY"
GET/v1/cards/card_e7c8762fbf4c55bdd5af2fba/auctions
Auction bid history
Progression of live auctions: current bid + when recorded + when it ends.
curl "https://api.tcgapi.io/v1/cards/card_e7c8762fbf4c55bdd5af2fba/auctions" \
  -H "Authorization: Bearer $TCG_API_KEY"

History & analytics

GET/v1/cards/card_e7c8762fbf4c55bdd5af2fba/history?language=FR&kind=nm_low&days=180
Price history
Daily history per (language, kind, source). Backfilled ~570 days (source=pokeitem).
curl "https://api.tcgapi.io/v1/cards/card_e7c8762fbf4c55bdd5af2fba/history?language=FR&kind=nm_low&days=180" \
  -H "Authorization: Bearer $TCG_API_KEY"
GET/v1/cards/card_e7c8762fbf4c55bdd5af2fba/analytics?language=FR
Price analytics (outlier-robust)
current + 7d/30d median avg + %change + 7d range + all-time low/high + trend + graded. Cleaned of biased spikes.
curl "https://api.tcgapi.io/v1/cards/card_e7c8762fbf4c55bdd5af2fba/analytics?language=FR" \
  -H "Authorization: Bearer $TCG_API_KEY"
GET/v1/cards/card_e7c8762fbf4c55bdd5af2fba/graded
Graded values
PSA / CGC / BGS market value per grade, with sample counts.
curl "https://api.tcgapi.io/v1/cards/card_e7c8762fbf4c55bdd5af2fba/graded" \
  -H "Authorization: Bearer $TCG_API_KEY"

Catalog status

GET/v1/status/catalog
Catalog coverage
Totals + breakdowns by game / language / condition / graded company.
curl "https://api.tcgapi.io/v1/status/catalog" \
  -H "Authorization: Bearer $TCG_API_KEY"
GET/v1/status/catalog?breakdown=card_language_coverage
EN coverage (union)
Cards priced by at least one EN source + per-source counts.
curl "https://api.tcgapi.io/v1/status/catalog?breakdown=card_language_coverage" \
  -H "Authorization: Bearer $TCG_API_KEY"
GET/v1/status/facets
Filterable facets
Games / languages / rarities with counts — powers the browse filters.
curl "https://api.tcgapi.io/v1/status/facets" \
  -H "Authorization: Bearer $TCG_API_KEY"