Wheeljack's Lab Vintage Toy Scraper
Pricing
from $5.00 / 1,000 results
Wheeljack's Lab Vintage Toy Scraper
Scrape Wheeljack's Lab's (wheeljackslab.com) 14,000+ item vintage toy/action-figure for-sale catalog (G1 Transformers, Star Wars, He-Man, DC, and more), with built-in delta mode. No login required.
Pricing
from $5.00 / 1,000 results
Rating
0.0
(0)
Developer
Artsiom Kunitsyn
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
11 days ago
Last modified
Categories
Share
wheeljacklab-scraper
Scrapes Wheeljack's Lab's for-sale vintage toy/action-figure catalog (G1 Transformers, Star Wars, He-Man, DC, and more โ 14,000+ live items, online since 1999), via the site's own real embedded structured data. No login required.
Contents
๐ Key features
- A real, rich per-item condition score. Every item's free-text condition writeup includes the
site's own "Rated N" grading (1-100 scale: 100 = mint-flawless, 95 = near-mint, 90 = excellent) โ
parsed out separately as
condition_score, a genuinely sortable/filterable number, not just prose. - A genuinely rich specifics panel, well beyond a typical price/title/description record: brand,
franchise, character, genre, scale, country of origin, manufacture year, and more โ kept as an
opaque
specificslabel:value dict since the label set varies by item type (an action figure vs. a die-cast car vs. a lot of loose parts don't share the same labels), withbrand/franchisepulled out as convenience top-level fields. - Full image galleries, not just a thumbnail โ every item's complete set of full-size photos.
- Delta mode built in. Every run classifies each item as
new,changed,unchanged, ordelistedagainst a persisted baseline โ pay for what changed, not a full re-scrape every time. - Confirmed-dead listings are never re-fetched. A removed item returns a plain HTTP 404 on this site โ tracked in a persisted registry so a future run skips it without a wasted request.
maxItemsdefaults to 50 โ a fast, cheap preview, and what keeps an unconfigured run within Apify's automated 5-minute QA check. Clear it (null) for a full crawl (~14,234 items as of this build).
๐ Output
One dataset item per catalog item โ see .actor/dataset_schema.json for the full field list.
Example record:
{"source": "wheeljacklab","external_id": "237303","url": "https://wheeljackslab.com/shop/237303-great-mazinga-100-complete-shogun-w","title": "Great Mazinga 100% Complete Shogun Warriors 1979 Mattel Jumbo 24\" Action Figure","description": "Box Condition: The box has some wear... Condition: Rated 85 with light wear...","condition_score": 85,"price": 400,"currency": "USD","availability_status": "InStock","stock_text": "1 in stock","stock_quantity": 1,"brand": "Mattel","franchise": "Shogun Warriors","specifics": {"Dimensions": "26 in ร 12 in ร 10 in","Weight": "4 lbs","Brand": "Mattel","Character": "Mazinga","Country of Origin": "Japan","Franchise": "Shogun Warriors","Genre": "Science Fiction","Type": "Action Figure","Vintage": "Yes","Year Manufactured": "1979"},"image_url": "https://ebay.wheeljackslab.com/images/237303/0_$_32.JPG","image_urls": ["https://ebay.wheeljackslab.com/images/237303/0_$_32.JPG", "..."],"sku": "237303","change_type": "new"}
๐ง Input
| Field | Type | Default | Description |
|---|---|---|---|
startUrls | array | โ | Specific item URLs to scrape directly instead of the full catalog. |
maxItems | integer | 50 | Stop after pushing this many items. Set to null for a full crawl. |
mode | string | auto | auto / full / incremental โ see Incremental mode. |
concurrency | integer | 20 | How many item detail pages to fetch in parallel. |
impersonate | string | chrome | curl_cffi TLS-impersonation target. |
proxyConfiguration | object | off | Apify Proxy config โ not needed; no anti-bot friction found. |
๐ฅ Input examples
Default preview (50 items):
{}
Full catalog crawl:
{ "maxItems": null }
Specific items only:
{ "startUrls": ["https://wheeljackslab.com/shop/237303-great-mazinga-100-complete-shogun-w"] }
๐ Incremental (delta) mode
auto mode does a full scan the first time it runs, then only pushes new/changed items on later
runs โ including price changes and stock/sold-out transitions (price/availability_status/
stock_text are the watched fields). Only an uncapped, unscoped run (no maxItems limit reached,
no startUrls, no item errors) can detect delistings or update the baseline.
โ FAQ
Why isn't this discovered via the site's own sitemap.xml?
A real finding while building this Actor: the site's only declared sitemap indexes a separate
collector identification/reference-guide section (/toys/...), not the actual for-sale catalog โ
sample pages there carry a $0.00 price and "sold and is no longer available" text. The real
14,000+ item catalog lives at /shop/... and isn't listed in any sitemap at all, so this Actor
discovers it by paginating the site's own /shop listing pages instead.
Why is franchise sometimes missing?
A real gap in the site's own data, not a scraping gap โ not every item (a lot of loose parts, for
example) carries a Franchise label in its specifics panel. Check specifics for whatever labels
that specific item does carry.
Does this need a proxy?
No โ no anti-bot friction was found while building this Actor (robots.txt is fully permissive, no
crawl-delay, no bot exclusions). Only a light concurrency smoke-test was run, though โ watch for
errors at real full-catalog scale and lower concurrency if you see any.


