Dickblick Art Supplies Catalog Scraper
ECOMMERCE
Dickblick Art Supplies Catalog Scraper
Scrape the complete Dick Blick art supplies catalog from dickblick.com. Extracts product names, brands, variants, pricing, availability, ratings, and breadcrumb categories using server-rendered JSON-LD data.
What data does it collect?
Each record is one product group (a product page with all its size/color variants):
| Field | Type | Description |
|---|---|---|
sku |
string | First variant SKU |
product_name |
string | Product group name |
brand |
string | Brand name (Winsor & Newton, Golden, Crayola, etc.) |
category |
string | Top-level category from breadcrumb |
subcategory |
string | Second-level category |
item_options |
string | Pipe-separated variant summary: sku|name|color|size|price|currency|availability (one per line for multi-variant products) |
list_price |
number | Lowest variant price (USD) |
sale_price |
number | Same as list_price (Dick Blick does not expose markdown/original price in structured data) |
currency |
string | Price currency (USD) |
in_stock |
boolean | True if any variant is InStock or LimitedAvailability |
rating |
number | Aggregate star rating (0-5) |
review_count |
number | Total review count |
product_description |
string | Product description text |
image_url |
string | Primary product image URL |
product_url |
string | Canonical product page URL |
How to use it
Full catalog (default)
Leave Product URLs empty and set Max Items. The scraper walks the Dick Blick sitemap index and collects /products/ URLs, scraping up to maxItems product groups. The full catalog contains approximately 60k product group pages.
{
"maxItems": 100,
"sp_intended_usage": "price monitoring"
}
Targeted product list
Supply specific product page URLs to scrape only those products:
{
"productUrls": [
{ "url": "https://www.dickblick.com/products/winsor-newton-professional-watercolor-tubes/" },
{ "url": "https://www.dickblick.com/products/golden-heavy-body-acrylic-paint/" }
],
"maxItems": 10,
"sp_intended_usage": "price monitoring"
}
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
maxItems |
integer | Yes | 10 | Maximum number of product groups to scrape (0 = unlimited) |
productUrls |
array | No | — | Specific product page URLs. If provided, skips sitemap discovery. |
Notes
- Data is extracted from server-rendered JSON-LD
ProductGroupschemas — no JavaScript rendering required. - Products without variants (books, single-SKU items) may have null
sku,in_stock, anditem_options. - Some products lack breadcrumb category data;
categoryandsubcategorymay be null for those. - Dick Blick's JSON-LD does not include original/strike-through pricing, so
sale_priceequalslist_price.