Skip to content

PriceCharting Scraper

Try for free

Scrape PriceCharting prices for video games, trading cards, comics, coins, Funko Pops and LEGO sets: every condition and grade, monthly price history, sales volume, PSA/CGC population, sold listings and images. Product URLs, IDs, whole sets or search terms.

🎮 PriceCharting Scraper

Turn PriceCharting into clean JSON: current prices for every condition and grade, the full monthly price history, sales volume, PSA and CGC population counts, optional sold listings and full-size images for video games, Pokémon and other trading cards, comics, coins, Funko Pops and LEGO sets. Paste product URLs or IDs, a whole set page or a search term and get one row per product in seconds. No login, no subscription, and you only pay for products you receive.

✨ Why use PriceCharting Scraper?

  • 💰 Every price point in one row — loose, complete, new, graded, box-only and manual-only for games; Ungraded, Grade 1 to 9.5 and PSA, BGS, CGC, SGC, TAG and ACE 10 for cards.
  • 📈 Full price history — the monthly series behind the site's price chart for each condition, often going back to 2006.
  • 🗂️ Whole sets and searches — scrape every product of a console or card set page, or every match of a search term, not only single URLs.
  • 🧾 Sold listings on demand — the recent sales behind each price (date, title, price, marketplace and a clean link to eBay, TCGplayer, Heritage, Goldin or PWCC).
  • ⚡ Fast — plain HTTP, no browser for normal pages: 6 products in about 7 seconds, 200 products from a set page in about 45 seconds and 1,000 in under 2 minutes in our tests.
  • 🛡️ Never billed for failures — dead links, typos and removed products are listed in the run summary and are not charged.

🎯 Use cases

  • 🏪 Re-price a game or card shop — run your whole inventory on a schedule and map each condition to what you stock.
  • 🃏 Decide whether grading pays off — compare raw, Grade 9 and PSA 10 values with the PSA and CGC population counts and sales volume.
  • 📊 Track collection value — chart gains and losses per condition from the monthly history.
  • 🛒 Price eBay listings — pull current values plus the actual recent sold comps before you list.
  • 🔬 Market research — export whole sets (e.g. every Super Nintendo game or every Pokémon Base Set card) for analysis in Sheets, pandas or BI tools.

🚀 How to use

  1. Paste product URLs or numeric IDs into Product URLs or IDs (for example https://www.pricecharting.com/game/super-nintendo/super-mario-world or 7141). A set page such as https://www.pricecharting.com/console/pokemon-base-set scrapes every product in that set.
  2. Or add Search terms such as zelda or charizard, optionally limited to one category.
  3. Set Max products per search or set page (20 by default, 0 for all).
  4. Click Start.
  5. Download the results as JSON, CSV, Excel or HTML, or read them through the API.

📥 Input

FieldWhat it does
productsProduct URLs, numeric product IDs or set / console page URLs.
searchQueriesSearch terms; each match is scraped as a full product.
maxResultsPerSearchProducts taken from each search term or set page (default 20, 0 = all).
maxItemsOptional cap on products for the whole run.
searchCategoryLimit searches to video games, trading cards, comics, Funko Pops, coins or LEGO sets.
includePriceHistoryMonthly price history per condition (on by default).
includeRecentSalesRecent sold listings per condition or grade (off by default).
proxyConfigurationDatacenter proxy by default; blocked pages are retried on US residential proxies and then in a hosted browser.
{
  "products": [
    "https://www.pricecharting.com/game/super-nintendo/super-mario-world",
    "https://www.pricecharting.com/game/pokemon-base-set/charizard-4",
    "https://www.pricecharting.com/console/nintendo-64"
  ],
  "searchQueries": ["zelda"],
  "maxResultsPerSearch": 20,
  "includePriceHistory": true,
  "includeRecentSales": false
}

📤 Output

One row per product.

FieldDescription
productId, productName, consoleName, categoryPriceCharting ID, name, console or set, category
url, consoleUrlProduct page and set page
pricesThe six headline prices: loose, cib, new, graded, boxOnly, manualOnly (USD)
priceLabelsWhat each slot means for this product (for cards: Ungraded, Grade 7, Grade 8, Grade 9, Grade 9.5, PSA 10)
priceChangesDollar change of each headline price since the site's last update
fullPricesEvery row of the site's full price guide, labels as shown (e.g. BGS 10 Black, CGC 10 Pristine, Graded CIB)
salesVolume, salesFrequencyNumber of listed recent sales per grade, and the site's "2 sales per day" style volume
populationReportPSA and CGC population counts per grade 1–10 (cards)
priceHistoryMonthly {date, price} points per condition (same keys as prices)
recentSalesOptional: sold listings per grade with date, title, price, source, itemId, url
releaseDate, genre, publisher, developer, rating, cardNumber, modelNumber, playerCountCatalog details where the site has them
upc, asin, epidBarcode, Amazon ASIN and eBay ePID
imageUrl, imagesMain image and every gallery photo at 1600 px
flagsisCard, isComic, isCoin, isFunkoPop, isLegoSet, isSystem, ...
variants, details, description, notesVariant links and the full details table
input, scrapedAtThe input that produced the row and the scrape time

Example from a test run (price history and images trimmed):

{
  "productId": 630417,
  "productName": "Charizard #4",
  "consoleName": "Pokemon Base Set",
  "category": "pokemon-cards",
  "url": "https://www.pricecharting.com/game/pokemon-base-set/charizard-4",
  "releaseDate": "January 9, 1999",
  "publisher": "Wizards of the Coast",
  "cardNumber": "#4",
  "imageUrl": "https://storage.googleapis.com/images.pricecharting.com/hpgpcpsd42huitud/1600.jpg",
  "currency": "USD",
  "prices": {"loose": 471.92, "cib": 823.79, "new": 1266.11, "graded": 3451.01, "boxOnly": 8540, "manualOnly": 18162.69},
  "priceLabels": {"loose": "Ungraded", "cib": "Grade 7", "new": "Grade 8", "graded": "Grade 9", "boxOnly": "Grade 9.5", "manualOnly": "PSA 10"},
  "fullPrices": {"Ungraded": 471.92, "Grade 9": 3451.01, "SGC 10": 10898, "CGC 10": 6250, "PSA 10": 18162.69, "BGS 10": 23612, "BGS 10 Black": 118060, "CGC 10 Pristine": 20800},
  "salesFrequency": {"Ungraded": "1 sale per week", "Grade 9": "1 sale per day", "PSA 10": "1 sale per month"},
  "populationReport": {"PSA": {"8": 15931, "9": 8455, "10": 486}, "CGC": {"9": 2, "10": 4}},
  "priceHistory": {
    "loose": [{"date": "2026-09-01", "price": 333.54}, {"date": "2026-10-01", "price": 471.92}],
    "manualOnly": [{"date": "2026-09-01", "price": 12275}, {"date": "2026-10-01", "price": 18162.69}]
  },
  "input": "https://www.pricecharting.com/game/pokemon-base-set/charizard-4",
  "scrapedAt": "2026-10-22T08:30:13+00:00"
}

With Include recent sold listings on, each row also gets recentSales:

"recentSales": {
  "Loose": [{"date": "2026-10-21", "title": "The Legend of Zelda: A Link to the Past (Super Nintendo, SNES) Cart Only Tested", "price": 53.34, "source": "ebay", "itemId": "298685672490", "url": "https://www.ebay.com/itm/298685672490"}]
}

Inputs that could not be scraped are not saved to the dataset and not charged. They are listed in the run's OUTPUT record (key-value store) with the reason.

💰 Pricing

You pay $25 per 1,000 products ($0.025 per product). After the first 10,000 products of a run, every further product costs $7.50 per 1,000. Failed lookups and duplicates are free.

  • 100 products ≈ $2.50
  • 1,000 products ≈ $25
  • 20,000 products in one run ≈ $325

Platform usage (compute and proxy traffic) is billed on top and is small: in our tests it was well under $0.01 per 100 products.

❓ FAQ

Is it legal to scrape PriceCharting? The scraper only reads public pages that anyone can open without an account. Check PriceCharting's terms and the laws that apply to you, especially for commercial use.

Do I need a PriceCharting account, API token or proxy? No. No login and no token are needed. The default datacenter proxy works; blocked pages are retried on US residential proxies and in a hosted browser automatically.

How many products can I scrape? As many as you like: list thousands of IDs, or set Max products per search or set page to 0 to take whole sets. A search term returns at most 100 products, because PriceCharting's search lists no more than that; use set pages for complete lists.

Why is a field empty? The site does not have it for that product: cards have no ESRB rating, games have no population report, and a grade with no sales has a null price.

Can I schedule runs or use the API? Yes. Schedule the scraper to re-price your list daily or weekly, and start runs and read results through the API or webhooks.

Coming from a similar actor on another platform? The products input takes the same product URLs and numeric IDs, and prices, fullPrices, salesVolume, populationReport, recentSales and priceHistory keep the familiar shapes. The loose series in priceHistory is called loose, like the price slot.

⚠️ Limits

  • Prices are in USD as PriceCharting shows them.
  • Price history exists only for the six headline slots; company-specific grades (e.g. BGS 10 Black) are current values only.
  • A search term returns at most 100 products (PriceCharting's search shows no more); set pages have no such limit.
  • Sold-listing photos and PriceCharting Pro features need a paid site subscription and are not included.
  • Sister sites (e.g. sports cards) are not supported.

Related actors

//From the blog\\

Latest articles

All articles
G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.