EXAMPLE OUTPUT

See the data

Saved sample
urlhttps://www.tcgplayer.com/product/684332/pokemon-me03-perfect-order-poke-pad-081-088
product_id684332
namePoke Pad - 081/088 - ME03: Perfect Order (POR)
price0.15
currencyUSD
in_stocktrue
sku684332
brandPokemon
categoryME03: Perfect Order
breadcrumbs[ "Pokemon Cards", "ME03: Perfect Order" ]
breadcrumb_urls[ "https://www.tcgplayer.com/categories/trading-and-collectible-card-games/pokemon", "https://www.tcgplayer.com/categories/trading-and-collectible-card-games/pokemon/me03-perfect-order" ]
main_imagehttps://tcgplayer-cdn.tcgplayer.com/product/684332_in_1000x1000.jpg
images[ "https://tcgplayer-cdn.tcgplayer.com/product/684332_in_1000x1000.jpg" ]
description
Card Number / Rarity: 081/088 / Uncommon Card Type / HP / Stage: Trainer - Item / / Card Text: Search your deck for a Pokémon that doesn't have a Rule Box, reveal it, and put it in…
Card Number / Rarity: 081/088 / Uncommon
Card Type / HP / Stage: Trainer - Item / /
Card Text: Search your deck for a Pokémon that doesn't have a Rule Box, reveal it, and put it into your hand. Then, shuffle your deck. (Pokémon ex, Pokémon V, etc. have Rule Boxes.)
Artist: Studio Bora Inc.
description_html
<ul><li><strong>Card Number / Rarity</strong>: 081/088 / Uncommon</li><li><strong>Card Type / HP / Stage</strong>: Trainer - Item / /</li><li><strong>Card Text</strong>: Search you…
<ul><li><strong>Card Number / Rarity</strong>: 081/088 / Uncommon</li><li><strong>Card Type / HP / Stage</strong>: Trainer - Item / /</li><li><strong>Card Text</strong>: Search your deck for a Pokémon that doesn&#39;t have a Rule Box, reveal it, and put it into your hand. Then, shuffle your deck. (Pokémon ex, Pokémon V, etc. have Rule Boxes.)</li><li><strong>Artist</strong>: Studio Bora Inc.</li></ul>
attributes
{ "Card Number / Rarity": "081/088 / Uncommon", "Card Type / HP / Stage": "Trainer - Item / /", "Card Text": "Search your deck for a Pokémon that doesn't have a Rule Box, rev…
{
  "Card Number / Rarity": "081/088 / Uncommon",
  "Card Type / HP / Stage": "Trainer - Item / /",
  "Card Text": "Search your deck for a Pokémon that doesn't have a Rule Box, reveal it, and put it into your hand. Then, shuffle your deck. (Pokémon ex, Pokémon V, etc. have Rule Boxes.)",
  "Artist": "Studio Bora Inc."
}
variants
[ { "attributes": { "condition": "Near Mint", "seller": "DeeMechanic" } }, { "attributes": { "condition": "Lightly Played", "seller": "Ale…
[
  {
    "attributes": {
      "condition": "Near Mint",
      "seller": "DeeMechanic"
    }
  },
  {
    "attributes": {
      "condition": "Lightly Played",
      "seller": "Alec Collects TCG"
    }
  },
  {
    "attributes": {
      "condition": "Near Mint Reverse Holofoil",
      "seller": "PRxTCGStore"
    },
    "price": 0.2
  },
  {
    "attributes": {
      "condition": "Near Mint",
      "seller": "Rockzilla42gaming"
    },
    "price": 0.2
  },
  {
    "attributes": {
      "condition": "Near Mint Reverse Holofoil",
      "seller": "Pokeforge Creations"
    },
    "price": 0.22
  },
  {
    "attributes": {
      "condition": "Near Mint",
      "seller": "BunneyTCG"
    },
    "price": 0.23
  },
  {
    "attributes": {
      "condition": "Near Mint",
      "seller": "Sun Treasures"
    },
    "price": 0.24
  },
  {
    "attributes": {
      "condition": "Near Mint",
      "seller": "AJ's Stuff & Things"
    },
    "price": 0.24
  },
  {
    "attributes": {
      "condition": "Near Mint",
      "seller": "Katz_Kardz"
    },
    "price": 0.24
  },
  {
    "attributes": {
      "condition": "Near Mint",
      "seller": "PokePAKTCG"
    },
    "price": 0.24
  }
]
seller_nameDeeMechanic
seller_urlhttps://www.tcgplayer.com/sellers/DeeMechanic/82ea4306
canonical_urlhttps://www.tcgplayer.com/product/684332/pokemon-me03-perfect-order-poke-pad-081-088
scraped_at2026-08-26T16:00:57.267Z
listing_count1000
market_price0.26
median_price0.35
most_recent_sale_price0.1

Collect structured trading-card product and marketplace offer data from TCGplayer product and Pokémon category URLs.

Issues and feature requests

If you encounter an issue or need a field added, open an issue on the Actor page or write to hello@123webdata.com.

Output Example (simplified)

The overview shows the most useful fields in a table. Product images are displayed as thumbnails when the website provides them.

Image Product URL Product ID Product name Current price Currency In stock Brand Seller Scraped at
https://www.tcgplayer.com/product/684332/pokemon-me03-perfect-order-poke-pad-081-088 684332 Poke Pad - 081/088 - ME03: Perfect Order (POR) 0.15 USD true Pokemon DeeMechanic 2026-08-26T16:00:57.267Z

How to scrape supported list pages

This Actor accepts individual product links in productUrls. It accepts category pages in categoryUrls.

  1. Open a supported list page in your browser.
  2. Choose a category you need.
  3. Copy the final URL from the address bar and paste it into categoryUrls.

The Actor follows the products shown on that page.

Features

  • Scrapes detailed trading-card product and marketplace offer information from TCGplayer product pages
  • Accepts individual product URLs and category pages
  • Lets you limit the number of saved products and choose whether to continue through additional result pages
  • Returns structured prices and market values, card facts and set details, seller offers, and full-size product images for viewing, export, and analysis

Pricing

This Actor uses pay-per-event pricing. Its running costs are included.

  • Actor start: $0.02 once per run — One fixed charge for starting a run.
  • Result: $0.00089 each ($0.89 per 1,000) — A product record collected directly from a supported list page.
  • Product detail: $0.00199 each ($1.99 per 1,000) — A full product record collected from its product page.

The start charge applies once per run. Each saved product is charged either as a Result or a Product detail, never both.

Results in one run Result Product detail
100 $0.11 $0.22
1,000 $0.91 $2.01

Apify's Free plan currently includes $5 in monthly usage credits. If the full $5 is available for this Actor, one run covers about 5,595 Results or 2,502 Product details. Other Apify usage reduces the available credit.

Input

The Actor accepts the following input parameters:

Field Type Description
productUrls array Product URLs to scrape
categoryUrls array Supported list pages: category pages
maxResultsPerScrape integer Maximum number of product records to save
usePagination boolean Whether to continue through additional result pages
scrapeProductDetails boolean Enabled returns Product detail records with the product-page fields listed below. Disabled returns Result records with the list-level fields.

What data you get in each mode

Every saved product is stored as one record. scrapeProductDetails decides which mode you receive; the lists below name every field each mode can return. A field is empty when the website does not show that information.

Result

A list-level product record with 21 declared fields:

url, product_id, sku, name, price, currency, in_stock, main_image, images, canonical_url, brand, category, set_code, rarity, card_number, card_type, market_price, median_price, listing_count, variants, scraped_at

Product detail

A full product record with 29 declared fields:

url, product_id, name, price, currency, in_stock, sku, brand, category, breadcrumbs, breadcrumb_urls, main_image, images, description, description_html, attributes, variants, seller_name, seller_url, canonical_url, scraped_at, card_number, card_type, listing_count, market_price, median_price, most_recent_sale_price, rarity, set_code

Output Example (full)

The Actor stores one structured record per product. Card-only records contain only fields available on the list; detail-only fields are omitted.

{
  "url": "https://www.tcgplayer.com/product/684332/pokemon-me03-perfect-order-poke-pad-081-088",
  "product_id": "684332",
  "name": "Poke Pad - 081/088 - ME03: Perfect Order (POR)",
  "price": 0.15,
  "currency": "USD",
  "in_stock": true,
  "sku": "684332",
  "brand": "Pokemon",
  "category": "ME03: Perfect Order",
  "breadcrumbs": [
    "Pokemon Cards",
    "ME03: Perfect Order"
  ],
  "breadcrumb_urls": [
    "https://www.tcgplayer.com/categories/trading-and-collectible-card-games/pokemon",
    "https://www.tcgplayer.com/categories/trading-and-collectible-card-games/pokemon/me03-perfect-order"
  ],
  "main_image": "https://tcgplayer-cdn.tcgplayer.com/product/684332_in_1000x1000.jpg",
  "images": [
    "https://tcgplayer-cdn.tcgplayer.com/product/684332_in_1000x1000.jpg"
  ],
  "description": "Card Number / Rarity: 081/088 / Uncommon\nCard Type / HP / Stage: Trainer - Item / /\nCard Text: Search your deck for a Pokémon that doesn't have a Rule Box, reveal it, and put it into your hand. Then, shuffle your deck. (Pokémon ex, Pokémon V, etc. have Rule Boxes.)\nArtist: Studio Bora Inc.",
  "description_html": "<ul><li><strong>Card Number / Rarity</strong>: 081/088 / Uncommon</li><li><strong>Card Type / HP / Stage</strong>: Trainer - Item / /</li><li><strong>Card Text</strong>: Search your deck for a Pokémon that doesn&#39;t have a Rule Box, reveal it, and put it into your hand. Then, shuffle your deck. (Pokémon ex, Pokémon V, etc. have Rule Boxes.)</li><li><strong>Artist</strong>: Studio Bora Inc.</li></ul>",
  "attributes": {
    "Card Number / Rarity": "081/088 / Uncommon",
    "Card Type / HP / Stage": "Trainer - Item / /",
    "Card Text": "Search your deck for a Pokémon that doesn't have a Rule Box, reveal it, and put it into your hand. Then, shuffle your deck. (Pokémon ex, Pokémon V, etc. have Rule Boxes.)",
    "Artist": "Studio Bora Inc."
  },
  "variants": [
    {
      "attributes": {
        "condition": "Near Mint",
        "seller": "DeeMechanic"
      }
    },
    {
      "attributes": {
        "condition": "Lightly Played",
        "seller": "Alec Collects TCG"
      }
    },
    {
      "attributes": {
        "condition": "Near Mint Reverse Holofoil",
        "seller": "PRxTCGStore"
      },
      "price": 0.2
    },
    {
      "attributes": {
        "condition": "Near Mint",
        "seller": "Rockzilla42gaming"
      },
      "price": 0.2
    },
    {
      "attributes": {
        "condition": "Near Mint Reverse Holofoil",
        "seller": "Pokeforge Creations"
      },
      "price": 0.22
    },
    {
      "attributes": {
        "condition": "Near Mint",
        "seller": "BunneyTCG"
      },
      "price": 0.23
    },
    {
      "attributes": {
        "condition": "Near Mint",
        "seller": "Sun Treasures"
      },
      "price": 0.24
    },
    {
      "attributes": {
        "condition": "Near Mint",
        "seller": "AJ's Stuff & Things"
      },
      "price": 0.24
    },
    {
      "attributes": {
        "condition": "Near Mint",
        "seller": "Katz_Kardz"
      },
      "price": 0.24
    },
    {
      "attributes": {
        "condition": "Near Mint",
        "seller": "PokePAKTCG"
      },
      "price": 0.24
    }
  ],
  "seller_name": "DeeMechanic",
  "seller_url": "https://www.tcgplayer.com/sellers/DeeMechanic/82ea4306",
  "canonical_url": "https://www.tcgplayer.com/product/684332/pokemon-me03-perfect-order-poke-pad-081-088",
  "scraped_at": "2026-08-26T16:00:57.267Z",
  "listing_count": 1000,
  "market_price": 0.26,
  "median_price": 0.35,
  "most_recent_sale_price": 0.1
}

Use Cases

  • Monitor card prices and recent market values
  • Compare card facts, sets, and seller offers
  • Build trading-card catalog and marketplace datasets

Integrate with AI and automation

Use with AI through MCP

Connect your AI assistant to the Apify MCP server. It can discover and run Actors, then access the results in the same conversation. For example, ask your assistant to scrape a list of products from TCGplayer, compare prices, or summarize the collected data.

Run on a schedule

After one successful run, use Apify Schedules to repeat the same task hourly, daily, weekly, or with a custom cron schedule. Saved tasks are useful when you want to keep the same URLs and settings for every run.

Connect with n8n

Create an n8n account and add the verified Apify node to a workflow. Choose Run an Actor and Get Dataset when the workflow should start this Actor, wait for completion, and receive the product rows for the next node. See the Apify integration for n8n.

Connect with Make

Create a Make account and add the Apify Run an Actor module. Follow it with Get Dataset Items to pass the product rows to Google Sheets, a database, email, or another Make module. For longer runs, use Watch Actor Runs followed by Get Dataset Items.

Read the Make integration guide.

Input schema
{
  "title": "TCGplayer Scraper Input",
  "type": "object",
  "schemaVersion": 1,
  "properties": {
    "productUrls": {
      "title": "Product URLs",
      "type": "array",
      "description": "Product URLs on TCGplayer.",
      "prefill": [
        "https://www.tcgplayer.com/product/250320/pokemon-celebrations-classic-collection-charizard",
        "https://www.tcgplayer.com/product/113746/pokemon-generations-radiant-collection-charizard",
        "https://www.tcgplayer.com/product/684332/pokemon-me03-perfect-order-poke-pad-081-088"
      ],
      "default": [],
      "editor": "stringList"
    },
    "categoryUrls": {
      "title": "Category URLs",
      "type": "array",
      "description": "Category URLs on TCGplayer.",
      "prefill": [
        "https://shop.tcgplayer.com/pokemon"
      ],
      "default": [],
      "editor": "stringList"
    },
    "maxResultsPerScrape": {
      "title": "Maximum results",
      "type": "integer",
      "description": "Maximum number of product records to save.",
      "default": 20,
      "minimum": 1,
      "maximum": 100000
    },
    "usePagination": {
      "title": "Use pagination",
      "type": "boolean",
      "description": "Enqueue the bounded pagination lookahead exposed by this actor.",
      "default": true
    },
    "scrapeProductDetails": {
      "title": "Include product details",
      "type": "boolean",
      "default": true,
      "description": "Enabled returns Product detail records with the product-page fields listed in the README. Disabled returns Result records with the list-level fields."
    }
  }
}
Output schema
{
  "actorSpecification": 1,
  "fields": {
    "type": "object",
    "additionalProperties": false,
    "properties": {
      "url": {
        "type": [
          "string",
          "null"
        ],
        "format": "uri"
      },
      "product_id": {
        "type": [
          "string",
          "null"
        ],
        "description": "Stable source-side product identifier."
      },
      "name": {
        "type": [
          "string",
          "null"
        ]
      },
      "price": {
        "type": [
          "number",
          "null"
        ]
      },
      "currency": {
        "type": [
          "string",
          "null"
        ],
        "description": "ISO 4217 currency code."
      },
      "in_stock": {
        "type": [
          "boolean",
          "null"
        ]
      },
      "sku": {
        "type": [
          "string",
          "null"
        ]
      },
      "brand": {
        "type": [
          "string",
          "null"
        ]
      },
      "category": {
        "type": [
          "string",
          "null"
        ]
      },
      "breadcrumbs": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "breadcrumb_urls": {
        "type": "array",
        "items": {
          "type": "string",
          "format": "uri"
        }
      },
      "main_image": {
        "type": [
          "string",
          "null"
        ],
        "format": "uri"
      },
      "images": {
        "type": "array",
        "items": {
          "type": "string",
          "format": "uri"
        }
      },
      "description": {
        "type": [
          "string",
          "null"
        ]
      },
      "description_html": {
        "type": [
          "string",
          "null"
        ],
        "description": "Sanitized rich-text product description with structural HTML only."
      },
      "attributes": {
        "type": "object",
        "description": "Additional source product attributes."
      },
      "variants": {
        "type": "array",
        "description": "Known purchasable variants with only meaningful variant-specific values.",
        "items": {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "attributes": {
              "type": "object"
            },
            "availability": {
              "type": [
                "string",
                "null"
              ]
            },
            "currency": {
              "type": [
                "string",
                "null"
              ]
            },
            "name": {
              "type": [
                "string",
                "null"
              ]
            },
            "price": {
              "type": [
                "number",
                "null"
              ]
            },
            "sku": {
              "type": [
                "string",
                "null"
              ]
            },
            "url": {
              "type": [
                "string",
                "null"
              ],
              "format": "uri"
            }
          }
        }
      },
      "seller_name": {
        "type": [
          "string",
          "null"
        ]
      },
      "seller_url": {
        "type": [
          "string",
          "null"
        ],
        "format": "uri"
      },
      "canonical_url": {
        "type": [
          "string",
          "null"
        ],
        "format": "uri"
      },
      "scraped_at": {
        "type": "string",
        "format": "date-time"
      },
      "card_number": {
        "type": [
          "string",
          "null"
        ],
        "description": "Displayed card number and set size, such as 081/088."
      },
      "card_type": {
        "type": [
          "string",
          "null"
        ],
        "description": "Displayed card type, such as Trainer - Item."
      },
      "listing_count": {
        "type": [
          "integer",
          "null"
        ],
        "description": "Displayed number of marketplace listings for the selected product version."
      },
      "market_price": {
        "type": [
          "number",
          "null"
        ],
        "description": "Displayed TCGplayer market price for the selected condition and printing."
      },
      "median_price": {
        "type": [
          "number",
          "null"
        ],
        "description": "Displayed current listed median price."
      },
      "most_recent_sale_price": {
        "type": [
          "number",
          "null"
        ],
        "description": "Displayed price of the most recent sale."
      },
      "rarity": {
        "type": [
          "string",
          "null"
        ],
        "description": "Displayed card rarity."
      },
      "set_code": {
        "type": [
          "string",
          "null"
        ],
        "description": "Displayed set code, such as POR."
      }
    },
    "required": [
      "url",
      "name"
    ]
  },
  "views": {
    "overview": {
      "title": "Overview",
      "transformation": {
        "fields": [
          "main_image",
          "url",
          "product_id",
          "name",
          "price",
          "currency",
          "in_stock",
          "brand",
          "seller_name",
          "scraped_at"
        ]
      },
      "display": {
        "component": "table",
        "properties": {
          "main_image": {
            "label": "Image",
            "format": "image"
          },
          "url": {
            "label": "Product URL",
            "format": "link"
          },
          "product_id": {
            "label": "Product ID",
            "format": "text"
          },
          "name": {
            "label": "Product name",
            "format": "text"
          },
          "price": {
            "label": "Current price",
            "format": "number"
          },
          "currency": {
            "label": "Currency",
            "format": "text"
          },
          "in_stock": {
            "label": "In stock",
            "format": "boolean"
          },
          "brand": {
            "label": "Brand",
            "format": "text"
          },
          "seller_name": {
            "label": "Seller",
            "format": "text"
          },
          "scraped_at": {
            "label": "Scraped at",
            "format": "datetime"
          }
        }
      }
    }
  }
}
CUSTOM REQUIREMENTS

Need something different?

Tell us the website, fields, and delivery format you need. We’ll reply by email.