PriceCharting Scraper - Game & Pokemon Card Prices avatar

PriceCharting Scraper - Game & Pokemon Card Prices

Pricing

from $10.00 / 1,000 results

Go to Apify Store
PriceCharting Scraper - Game & Pokemon Card Prices

PriceCharting Scraper - Game & Pokemon Card Prices

Scrape PriceCharting for video game, Pokemon, MTG, Yu-Gi-Oh, and sports card prices. Get loose/ungraded, CIB/graded, and new prices by keyword. Built for resellers, collectors, and price trackers.

Pricing

from $10.00 / 1,000 results

Rating

0.0

(0)

Developer

Naveen V

Naveen V

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

PriceCharting Scraper - Game, Pokemon & TCG Prices

Scrape prices from PriceCharting.com by keyword. Each result row gives you the title, set/console, and three price points — ungraded/loose, CIB/Grade 7, and new/Grade 8 — plus the product URL and image.

Works across everything PriceCharting tracks: video games, Pokemon, Magic: The Gathering, Yu-Gi-Oh, sports cards, and comics. Search by name like charizard or zelda ocarina of time. Built for resellers, collectors, and price trackers.

Fast and cheap: PriceCharting serves results as a plain HTML table, so this runs with plain HTTP (CheerioCrawler, no browser) and parses #games_table — up to ~100 products per search.

How it works

  • src/parse.js — pure, unit-tested parsing (productsFromHtml, toRow). Reads the #games_table rows and the used_price / cib_price / new_price cells. Captures the column header labels (they differ by category) into colLabels.
  • src/main.js — the Actor: builds search-products?q=…&type=prices URLs, runs a CheerioCrawler through Apify Proxy, and pushDatas each product.
  • test-parse.js — runs the parser against a saved page offline (no account needed).

Proxies

The proxyConfiguration input uses Apify Proxy (built in), default RESIDENTIAL. PriceCharting is light on anti-bot (a plain GET returns 200), so datacenter proxies (apifyProxyGroups: []) usually work and are cheaper — switch to RESIDENTIAL only if you start seeing block/challenge pages.

Test / validate

Offline parser test (fastest, no account):

npm install
node test-parse.js # expects ~100 clean rows from sample.html

Local Actor run (uses Apify Proxy via your login):

$apify run

Default input is { "searchKeywords": ["charizard"], "maxItemsPerKeyword": 100 }.

Deploy + cloud test:

$apify push

Then in the Console: open the Actor → Start → check the Dataset and Log tabs.

Output row shape

{ "keyword": "charizard", "title": "Mega Charizard X ex #125",
"set": "Pokemon Phantasmal Flames", "priceUngraded": 837.47, "priceCib": 760.00,
"priceNew": 769.50, "colLabels": "Ungraded / Grade 7 / Grade 8",
"productUrl": "https://www.pricecharting.com/game/...", "productId": "11069001",
"setUrl": "https://www.pricecharting.com/console/...", "image": "https://..." }