PriceCharting Collection Scraper avatar

PriceCharting Collection Scraper

Pricing

from $10.00 / 1,000 collection results

Go to Apify Store
PriceCharting Collection Scraper

PriceCharting Collection Scraper

Scrape an entire PriceCharting collection/console page (e.g. a full Pokemon set or game console) in one record: the collection's historical value and median-price time series, plus every product in the set with its name, ID, image and listed prices. Failed lookups are never billed.

Pricing

from $10.00 / 1,000 collection results

Rating

0.0

(0)

Developer

Elena Vance

Elena Vance

Maintained by Community

Actor stats

1

Bookmarked

6

Total users

0

Monthly active users

3 days ago

Last modified

Share

PriceCharting Collection Scraper — Whole-Set Prices, History & Product Lists

Turn any PriceCharting collection page (a full Pokémon set, a game console, a comic run, a coin series) into one clean JSON record: the collection's historical index value and median-price time series, plus every product in the set with its name, ID, image and current prices.

Paste a collection URL (or bare slug) and get back one tidy record per collection — ready for a spreadsheet, database, dashboard, or app. No browser automation, and you are never billed for failed lookups.

Companion to the PriceCharting Product Scraper, which scrapes individual product pages (full grade ladder, per-condition price history, sold listings, POP report, gallery images). Use this actor when you want the whole set at once; use that one when you want deep detail on specific products.


What it does

Given https://www.pricecharting.com/console/pokemon-1999-topps-movie, it:

  1. Reads the collection header — name, category, the PriceCharting Index value and median card price, and the full historical time-series behind the page's chart (both the index-value and median series).
  2. Pages through the entire product table (the site loads 150 at a time; this actor follows the "more results" pagination to the end automatically) and captures every product: name, numeric ID, canonical URL, full-resolution image, and the three listed prices.
  3. Emits one dataset record per collection, with all products nested inside.

Non-collection pages (typos, removed sets) are reported in the run SUMMARY and are never written to the dataset or billed.


Input

FieldTypeDefaultDescription
Collections (required)list–One per line: a /console/<slug> URL or a bare slug (e.g. pokemon-1999-topps-movie).
Include the product listbooleantrueScrape every product in the set into the products array. Turn off for collection stats + history only (one page, much faster on huge consoles).
Include the collection price historybooleantrueInclude the full value/median history series. The current value & median are always included.
Max products per collectioninteger0Cap products scraped per collection (0 = whole set).
Proxy configurationobjectAutomaticDatacenter is reliable and cheapest; switch to residential only on failures.
Max concurrencyinteger3Collections fetched in parallel (pagination within a collection is always sequential).
Delay between requestsinteger1Politeness delay (seconds) before each request, pagination included.
Max collectionsinteger0Stop after N collection records (0 = unlimited).
Max run secondsinteger210Stop the run gracefully after N seconds, keeping every collection already scraped. 0 = no time limit.

Run length. A single large console can page through thousands of products, so Max run seconds (210) bounds the run's wall-clock time. When it is reached the Actor stops gracefully — every collection already scraped is kept, SUMMARY records stoppedOnTimeBudget: true, and the run finishes successfully. Raise it (or set 0) for very large consoles, and give the run a matching Apify run timeout. Turning off Include the product list is the other way to keep a big console fast.


Output

Each collection becomes one dataset record:

FieldDescription
collectionUrl, collectionNameThe page URL and clean set/console name
category, consoleUid, breadcrumbPriceCharting category, internal UID, and the breadcrumb trail
currencyAlways USD
priceColumnsMaps the stable price keys to this category's on-site labels (cards: used=Ungraded, cib=Grade 9, new=PSA 10; games: Loose / CIB / New)
productCountNumber of products scraped (null if the product list was disabled)
currentValue, currentMedianLatest index value and median card price (USD)
valueHistory, medianHistoryPer-series arrays of { "date": "YYYY-MM-DD", "price": 12.34 } points
productsOne entry per product: { productId, productName, url, imageUrl, prices: { used, cib, new } }
source, scrapedAtscrape; ISO timestamp

Example (products & history truncated)

{
"collectionUrl": "https://www.pricecharting.com/console/pokemon-1999-topps-movie",
"collectionName": "Pokemon 1999 Topps Movie",
"category": "pokemon-cards",
"consoleUid": "G52737",
"breadcrumb": ["Trading Cards", "Pokemon Card", "Pokemon 1999 Topps Movie"],
"currency": "USD",
"priceColumns": { "used": "Ungraded", "cib": "Grade 9", "new": "PSA 10" },
"productCount": 201,
"currentValue": 24.70,
"currentMedian": 2.23,
"valueHistory": [ { "date": "2022-07-02", "price": 4.62 }, "…", { "date": "2026-06-02", "price": 24.70 } ],
"medianHistory": [ { "date": "2022-07-02", "price": 2.44 }, "…", { "date": "2026-06-02", "price": 2.23 } ],
"products": [
{
"productId": 3560849,
"productName": "Pikachu's Vacation #42",
"url": "https://www.pricecharting.com/game/pokemon-1999-topps-movie/pikachu%27s-vacation-42",
"imageUrl": "https://storage.googleapis.com/images.pricecharting.com/…/1600.jpg",
"prices": { "used": 3.64, "cib": 33.73, "new": 154.81 }
}
],
"source": "scrape",
"scrapedAt": "2026-06-17T06:27:41+00:00"
}

For the per-condition price history, full grade ladder (PSA/BGS/CGC/…), sold listings and gallery images of an individual product, feed its url or productId into the PriceCharting Product Scraper.


HTTP API (one collection per request)

This Actor can also be called over HTTP as a REST API — useful when an app or agent needs a single collection lookup without starting a batch run. Paste a list of collections, or use bulk volume pricing across many sets, still uses the Input interface above.

Authenticate with your Apify API token (prefer the header form):

curl -X POST "https://incognito_mode--pricecharting-collection-scraper.apify.actor/scrape" \
-H "Authorization: Bearer YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"collection": "pokemon-1999-topps-movie",
"includeProducts": true,
"includePriceHistory": true
}'
FieldDefaultDescription
collection (required)–/console/<slug> URL or bare slug
includeProductstrueFull product list (pages the set)
includePriceHistorytrueFull value/median history series
maxProductsPerCollection0Cap products (0 = no limit)
requestDelaySecs1Delay between page requests
maxRunSecs180Soft wall-clock budget for this request (capped at 240)

A successful response is the same JSON record shape as a dataset item from an Input run. Failed lookups return an error and are not billed. Copy the stable hostname from the Actor’s Endpoints tab in Apify Console (do not hard-code username–name URLs if the Console shows an ID-based host).


Notes

  • Prices are normalized to USD (the currency=usd cookie pins it regardless of run geo).
  • The three per-product price columns are whatever PriceCharting shows for that category — read priceColumns to know what used/cib/new mean for your set.
  • This project is not affiliated with, endorsed by, or sponsored by PriceCharting. Please scrape responsibly — keep concurrency low and delays reasonable.