TCGplayer Product Price Scraper
Pricing
from $0.02 / 1,000 item extracteds
TCGplayer Product Price Scraper
๐ด Extract TCGplayer product prices, market lows, listing counts, card metadata, URLs, and seller summaries for repricing workflows.
Pricing
from $0.02 / 1,000 item extracteds
Rating
0.0
(0)
Developer
Automation Lab
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
7 days ago
Last modified
Categories
Share
Extract TCGplayer product prices, market lows, listing counts, card metadata, seller summaries, product URLs, and image URLs from public TCGplayer search results.
What does TCGplayer Product Price Scraper do?
TCGplayer Product Price Scraper turns public TCGplayer marketplace search results into clean structured product price snapshots.
It is built for repeat monitoring workflows where you need to track changing prices for cards, sealed products, and collectibles across TCGplayer.
The actor accepts search terms, TCGplayer product IDs, or TCGplayer search/product URLs.
It returns product titles, game/product line, set, rarity, card number, market price, low price, listing counts, top listing summary fields, product URLs, image URLs, and scrape timestamps.
Who is it for?
๐ Trading card sellers can monitor market lows before repricing inventory.
๐ Repricing teams can export daily snapshots into spreadsheets or pricing systems.
๐งโ๐ผ Local game stores can compare card and sealed product availability across games.
๐งโ๐ฌ Market researchers can follow price movement for high-demand cards and sets.
๐ด Collectors can track watchlists without manually opening dozens of TCGplayer searches.
Why use this scraper?
TCGplayer pages are useful for humans but hard to monitor manually at scale.
This actor gives you repeatable data with a stable schema.
You can schedule it daily or hourly on Apify, export the dataset, and compare results over time.
The output is intentionally flat so it works well in CSV, Google Sheets, BI tools, or downstream automations.
What TCGplayer data can you extract?
| Field | Description |
|---|---|
productId | TCGplayer product ID |
title | Product or card title |
productLineName | Game or product line |
setName | Set name |
setCode | Set code when available |
rarityName | Rarity when available |
cardNumber | Collector/card number when available |
marketPrice | TCGplayer market price; null if unavailable |
medianPrice | Median price from marketplace response, when available |
lowestPrice | Lowest product price |
lowestPriceWithShipping | Lowest price including shipping when available |
totalListings | TCGplayer listing count |
sampledListings | Up to listingsPerProduct returned listings, each with nullable price, shipping, condition, printing, language, seller name/rating/sales and quantity |
topListingPrice | Top sampled listing price (backwards-compatible) |
topListingCondition | Top listing condition |
topListingPrinting | Top listing printing |
topListingSellerName | Top listing seller name |
productUrl | TCGplayer product URL |
imageUrl | Product image URL |
scrapedAt | Timestamp for the price snapshot |
How much does it cost to scrape TCGplayer product prices?
The actor uses pay-per-event pricing.
There is a small start charge per run and a per-product charge for each dataset item produced. The item event is the primary charge event.
The default pricing is designed for scheduled monitoring jobs and scales with the number of products you extract.
For a small 100-product search, cost is usually the start fee plus 100 product events.
Check the Apify run billing panel for exact charged events after each run.
Input options
Use searchQueries for normal marketplace searches.
Use startUrls when you already have TCGplayer search URLs or product URLs.
Use productIds for exact product monitoring.
Optional filters include productLineName, setName, and productTypeName.
Use maxItems to cap output volume.
Use includeListings and listingsPerProduct to control the sampled listings array (up to 10 per product) and top-listing summary. includeListings: false returns an empty array and null top-listing fields. Prices are in USD; results use the marketplace US shipping context.
Example input
{"searchQueries": ["charizard", "one piece manga luffy"],"maxItems": 100,"includeListings": true,"listingsPerProduct": 3}
Example product ID input
{"productIds": ["219058"],"maxItems": 1,"includeListings": true,"listingsPerProduct": 5}
Example output
{"searchQuery": "charizard","productId": 219058,"title": "Charizard - 3/70 (#39 Charizard Stamped)","productLineName": "Pokemon","setName": "Battle Academy","marketPrice": 7.40,"medianPrice": 8.00,"lowestPrice": 4.79,"lowestPriceWithShipping": 6.25,"totalListings": 90,"sampledListings": [{"price": 6.25, "shippingPrice": 0, "condition": "Lightly Played", "printing": "Normal", "language": "English", "sellerName": "Example Seller", "sellerRating": 99.9, "sellerSales": "50000+", "quantity": 1}],"topListingCondition": "Lightly Played","productUrl": "https://www.tcgplayer.com/product/219058/pokemon-battle-academy-charizard-3-70-39-charizard-stamped","scrapedAt": "2026-07-09T04:38:06.481Z"}
How to scrape TCGplayer prices
-
Add one or more search terms, product IDs, or TCGplayer URLs.
-
Set
maxItemsto the number of products you want. -
Choose whether to include top listing summary fields.
-
Run the actor.
-
Export the dataset as JSON, CSV, Excel, or via API.
Scheduled monitoring workflow
Create an Apify schedule with the same input.
Run the actor daily for a watchlist of cards or sealed products.
Export each dataset to your data warehouse or spreadsheet.
Compare marketPrice, lowestPrice, and totalListings over time.
Trigger alerts when prices move beyond your thresholds.
Repricing workflow
Sellers can use the output to compare current inventory prices against TCGplayer market lows.
The fields lowestPriceWithShipping, topListingCondition, and topListingPrinting help prevent misleading comparisons.
Use exact productIds for the most stable repricing workflow.
Use broad searchQueries when discovering products or monitoring a set.
Tips for better results
Use specific product names when you want high precision.
Use exact product IDs for recurring jobs.
Use productLineName to narrow terms that exist across games.
Keep maxItems reasonable for scheduled runs.
Use includeListings: false when you only need product-level market prices.
API usage with Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/tcgplayer-product-price-scraper').call({searchQueries: ['charizard'],maxItems: 100});console.log(run.defaultDatasetId);
API usage with Python
from apify_client import ApifyClientimport osclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('automation-lab/tcgplayer-product-price-scraper').call(run_input={'searchQueries': ['charizard'], 'maxItems': 100})print(run['defaultDatasetId'])
API usage with cURL
curl -X POST "https://api.apify.com/v2/acts/automation-lab~tcgplayer-product-price-scraper/runs?token=$APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"searchQueries":["charizard"],"maxItems":100}'
MCP usage
Use Apify MCP with Claude Desktop or Claude Code to run TCGplayer monitoring jobs from chat.
MCP URL:
https://mcp.apify.com/?tools=automation-lab/tcgplayer-product-price-scraper
Claude Code CLI setup:
$claude mcp add --transport http apify-tcgplayer "https://mcp.apify.com/?tools=automation-lab/tcgplayer-product-price-scraper"
Claude Desktop setup: add this remote server in its MCP configuration (or a compatible HTTP connector). Cursor and VS Code setup: add the same remote HTTP URL in your editor's MCP server settings.
Claude Desktop JSON config:
{"mcpServers": {"apify-tcgplayer": {"url": "https://mcp.apify.com/?tools=automation-lab/tcgplayer-product-price-scraper"}}}
Example prompt:
Run the TCGplayer Product Price Scraper for Charizard and return products where marketPrice is above 20 dollars.
Integrations
๐ Send CSV exports to Google Sheets for watchlists.
๐งพ Push JSON records into Airtable or Notion databases.
๐ Load daily runs into BigQuery or Snowflake for price history.
๐ Connect Apify webhooks to Slack alerts for price changes.
๐ค Use MCP to ask an AI assistant for current TCGplayer market snapshots.
Related scrapers
Browse other Automation Lab actors at https://apify.com/automation-lab/.
Useful adjacent categories include ecommerce scrapers, marketplace price monitors, product search scrapers, and price comparison actors.
Data freshness
Each dataset row includes scrapedAt.
Treat each run as a point-in-time price snapshot.
TCGplayer prices and listing counts can change frequently, so scheduled runs are recommended for monitoring.
Limitations
The actor extracts public product/search information.
It does not log in to TCGplayer.
It does not manage carts, purchases, seller dashboards, or private account data.
Some rare products may have unavailable prices, represented as null rather than zero. Exact product IDs are fetched in batches; missing IDs are logged (no record or per-item charge for missing products). Duplicate products are emitted once. Search pages stop when upstream returns no new products. Invalid or non-TCGplayer URLs are ignored with a warning. Listings are a bounded sample returned by the search API, not the complete seller inventory or sales history.
Data handling and affiliation
This independent Actor is not affiliated with or endorsed by TCGplayer. It calls TCGplayer's public marketplace search API directly; no paid third-party key, login, proxy or AI provider is used. Public search terms, product IDs and URLs are sent to the marketplace. The Actor does not cache results outside the run dataset; run input, logs and dataset follow your Apify account's storage retention and deletion settings. Delete those stores through Apify when no longer needed. Optional MCP clients may use their own AI configuration; the Actor itself uses no AI.
Legality
This actor extracts publicly available marketplace information.
Is it legal to scrape TCGplayer?
This actor extracts publicly available marketplace information.
You are responsible for using the data in compliance with applicable laws, TCGplayer terms, and your own business requirements.
Do not use scraped data for spam, abusive automation, or prohibited resale workflows.
Troubleshooting: no results
Check that the search term returns products on TCGplayer.
Try removing strict filters such as productLineName or setName.
Increase maxItems if the first page is too narrow.
Troubleshooting: prices are null
Some products do not have market prices in the TCGplayer response.
Use lowestPrice and lowestPriceWithShipping when market price is unavailable.
Try including listing summaries for more context.
FAQ
Can I scrape exact products?
Yes. Use productIds or paste TCGplayer product URLs in startUrls.
Can I monitor multiple games in one run?
Yes. Add multiple search queries or omit productLineName to search all products.
Does it include seller data?
It includes top listing seller summary fields, not full seller profiles.
Can I schedule it?
Yes. Use Apify schedules for recurring price monitoring.
Can I export to CSV?
Yes. Apify datasets can be exported as CSV, JSON, Excel, XML, RSS, or via API.
Support
If a TCGplayer page or search term produces unexpected output, share the run input and run ID so the issue can be reproduced.
Changelog
The current release adds median prices and bounded sampled seller listings while retaining the original top-listing fields. Exact-ID watchlists are fetched in batches, and transient API failures receive bounded retries. See the .actor/CHANGELOG.md for release history.