Wheeljack's Lab Vintage Toy Scraper avatar

Wheeljack's Lab Vintage Toy Scraper

Pricing

from $5.00 / 1,000 results

Go to Apify Store
Wheeljack's Lab Vintage Toy Scraper

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

Artsiom Kunitsyn

Maintained by Community

Actor 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 specifics label: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), with brand/franchise pulled 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, or delisted against 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.
  • maxItems defaults 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

FieldTypeDefaultDescription
startUrlsarrayโ€”Specific item URLs to scrape directly instead of the full catalog.
maxItemsinteger50Stop after pushing this many items. Set to null for a full crawl.
modestringautoauto / full / incremental โ€” see Incremental mode.
concurrencyinteger20How many item detail pages to fetch in parallel.
impersonatestringchromecurl_cffi TLS-impersonation target.
proxyConfigurationobjectoffApify 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.