OrbTop

TCGPlayer Pricing Scraper - tcgcsv.com API Wrapper

ECOMMERCEOTHER

TCGPlayer Pricing Scraper — tcgcsv.com API Wrapper

Fetch current TCGPlayer card prices for any of 89+ trading card games via the community-maintained tcgcsv.com nightly mirror. No API key required. Sub-type-aware pricing rows (Normal / Foil / Holofoil / Reverse Holo / 1st Edition) with market / mid / low / high / TCG-Direct breakdowns.

Supported games include Magic: The Gathering, Pokemon (English + Japanese), Yu-Gi-Oh, Disney Lorcana, One Piece TCG, Flesh & Blood, Star Wars Unlimited, Final Fantasy, Digimon, Weiss Schwarz, and 80+ others.


Modes

Mode Description
categories List all 89+ TCG categories with their IDs
category_walk Walk every set in a category and return all products + prices
group_walk Walk specific set(s) (default mode — fastest for targeted pulls)
by_product Look up specific TCGPlayer product IDs

The default input (Pokemon, group_walk, group 23237 = Scarlet & Violet 151) returns price rows immediately. Run mode=categories to discover all available category IDs.


Inputs

Input Type Default Description
mode select group_walk Which data to fetch
categoryId integer 3 (Pokemon) TCG category (run categories mode to list all)
groupIds array ["23237"] Set IDs to walk (mode=group_walk)
productIds array ["501999"] Product IDs to look up (mode=by_product)
includePrices boolean true Join pricing rows
includeExtendedData boolean true Include rarity, number, type fields
onlyFoil boolean false Filter to foil/holo sub-types only
maxItems integer 0 Max rows (0 = unlimited)

Common Category IDs

ID Game
1 Magic: The Gathering
2 Yu-Gi-Oh
3 Pokemon (English)
62 Flesh & Blood
71 Disney Lorcana
79 One Piece TCG
85 Pokemon (Japanese)
70 DC Comics
65 Gate Ruler
63 Digimon

Run mode=categories to get the full list of 89+ categories with current names and IDs.


Output Fields

Field Type Description
categoryId number TCG category ID
categoryName string Game name (Magic, Pokemon, etc.)
groupId number Set ID
groupName string Set name (e.g. "SV: Scarlet & Violet 151")
groupAbbreviation string Set code (e.g. "MEW")
publishedOn string Set release date
productId number TCGPlayer product ID
name string Card/product name
cleanName string Normalized card name
imageUrl string Product image URL
url string TCGPlayer storefront URL
extendedData string JSON: rarity, number, type (category-specific)
subTypeName string Normal / Foil / Holofoil / 1st Edition / etc.
lowPrice number Low price (USD)
midPrice number Mid price (USD)
highPrice number High price (USD)
marketPrice number Market price (USD)
directLowPrice number TCG Direct low price (USD)

Each output row is one product × one subTypeName combination. A single card may produce multiple rows (one per print variant).

Dataset Views

  • Products with Prices — focused view: game, set, card name, sub-type, all price columns, URL
  • Set Summary — group-level metadata: game, set ID, name, code, release date
  • Foil / Holo Only — pre-filtered to foil/holofoil variants

Examples

List all TCG categories

{
  "mode": "categories",
  "maxItems": 0
}

Returns 89 rows, one per game/category.

Walk all Magic: The Gathering sets

{
  "mode": "category_walk",
  "categoryId": 1,
  "includePrices": true,
  "maxItems": 0
}

Returns all products + prices for every MTG set on TCGPlayer. Run time varies — MTG has 700+ sets.

Walk a specific Pokemon set

{
  "mode": "group_walk",
  "categoryId": 3,
  "groupIds": ["23237"],
  "includePrices": true,
  "includeExtendedData": true,
  "maxItems": 0
}

Returns all cards in the Scarlet & Violet 151 set (MEW) with full pricing rows.

Get foil prices only for a Yu-Gi-Oh set

{
  "mode": "group_walk",
  "categoryId": 2,
  "groupIds": ["23019"],
  "includePrices": true,
  "onlyFoil": true,
  "maxItems": 0
}

Returns only 1st Edition, Ultra Rare, and other premium-print rows.

Look up specific product IDs

{
  "mode": "by_product",
  "categoryId": 3,
  "productIds": ["501999", "502001"],
  "includePrices": true,
  "maxItems": 0
}

Searches all groups in category 3 for the listed product IDs.


Data Source

All data comes from tcgcsv.com, a community-maintained nightly mirror of the TCGPlayer pricing API. Prices are updated daily at approximately 8:00 PM EST. The site is free to use; please be polite — the actor applies a ~1 req/sec rate limit during bulk category walks.


Use Cases

  • Price trackers and deal-alert apps — poll specific sets daily for price movements
  • Collection management tools — enrich card databases with live market prices
  • Deck-builder applications — calculate deck budget using market or mid prices
  • Arbitrage and resale — identify low / market spread or foil-vs-regular gaps
  • Data analysis — combine with Scryfall (MTG), pokemontcg.io (Pokemon), or YGOProDeck (Yu-Gi-Oh) for cross-source analysis

Notes

  • The by_product mode scans groups within the category sequentially to locate the requested product IDs. For categories with many groups (Pokemon has 216+), use group_walk with a known group ID for faster results.
  • extendedData contains category-specific metadata (rarity, collector number, card type) returned as a JSON-encoded string. Parse it in your downstream pipeline.
  • Products without price data (sealed product, accessories) will have null price fields when no pricing rows exist on tcgcsv.com.