TCGPlayer Pricing Scraper - tcgcsv.com API Wrapper
Pricing
Pay per event
TCGPlayer Pricing Scraper - tcgcsv.com API Wrapper
Wrapper around tcgcsv.com — the nightly TCGPlayer pricing mirror. Covers 89+ TCGs: Magic, Pokemon, Yu-Gi-Oh, Lorcana, One Piece, Flesh & Blood, Star Wars Unlimited, and more. Walk sets or fetch specific cards. Sub-type-aware prices (Normal/Foil/Holofoil/1st Edition) with market/mid/low/high.
Pricing
Pay per event
Rating
0.0
(0)
Developer
BowTiedRaccoon
Maintained by CommunityActor stats
0
Bookmarked
7
Total users
1
Monthly active users
17 days ago
Last modified
Categories
Share
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_productmode scans groups within the category sequentially to locate the requested product IDs. For categories with many groups (Pokemon has 216+), usegroup_walkwith a known group ID for faster results. extendedDatacontains 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.