Wescover Artist & Product Scraper avatar

Wescover Artist & Product Scraper

Under maintenance

Pricing

from $5.00 / 1,000 results

Go to Apify Store
Wescover Artist & Product Scraper

Wescover Artist & Product Scraper

Under maintenance

Scrape Wescover.com functional/decorative art and design products (materials, price range, and the real venue each piece is installed at) and maker/creator profiles, 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

3 days ago

Last modified

Categories

Share

wescover-scraper

Scrapes both products (functional/decorative art and design pieces โ€” furniture, tiles, lighting, textiles, and more, with materials, price range, and the real venue each piece is installed at) and maker/creator profiles from Wescover.com, a marketplace connecting independent makers with businesses and homeowners. No login required.

Contents

๐Ÿ”‘ Key features

  • Two entity types, one Actor. Set entityType to artworks (products) or artists (makers).
  • Real installation-venue data โ€” many products carry a space (the actual business a piece is installed at: name, city/state/country, business type like "restaurant"). Not just who made it, but where it lives โ€” a genuinely different angle from a typical art-marketplace listing.
  • Choose which categories to include. Set categories to one or more of the site's real top-level categories (Furniture, Tiles, Lighting, Textiles, and more) to filter the results, or leave it empty to include everything.
  • A real per-maker rollup with no extra fetch cost per product. A maker's own page reports their complete product list and full bio/tags in one fetch โ€” entityType: "artists" doesn't need to examine every product on the site to build this.
  • Real materials/color tags, production-time estimates, and a genuine "one of a kind" flag โ€” read from the same rich page data the site's own UI uses, not guessed from the description text.
  • 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 product or maker silently redirects to a generic listing page rather than 404ing โ€” detected and 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, or narrow categories instead.

๐Ÿ“‹ Output

One dataset item per product or maker, depending on entityType โ€” see .actor/dataset_schema.json for the full field list.

Example product record:

{
"source": "wescover",
"entity_type": "artworks",
"external_id": "PSyk5hgvpwQZ",
"url": "https://www.wescover.com/p/sun-tanned-poplar-tables-by-monkwood-studios-at-lord-stanley--PSyk5hgvpwQZ",
"name": "Sun Tanned Poplar Tables",
"category_path": "Furniture/Furniture/Tables",
"materials": ["wood"],
"colors": ["brown"],
"is_one_of_a_kind": true,
"production_time_weeks_min": 12,
"production_time_weeks_max": 20,
"currency": "USD",
"price_min": 1500,
"price_max": 3000,
"status": "active",
"maker_name": "Monkwood Studios",
"maker_url": "https://www.wescover.com/creator/monkwood",
"maker_tags": ["reclaimed_materials", "handmade", "sustainable"],
"space_name": "Lord Stanley",
"space_types": ["restaurant"],
"space_location": "San Francisco, CA, United States",
"change_type": "new"
}

Example maker record:

{
"source": "wescover",
"entity_type": "artists",
"external_id": "MSk7X7gTBS",
"url": "https://www.wescover.com/creator/deco",
"name": "Deco",
"types": ["Tiles", "Architecture", "Wall Treatments"],
"location": "Italy",
"is_claimed": true,
"product_count": 13,
"change_type": "new"
}

๐Ÿ”ง Input

FieldTypeDefaultDescription
entityTypestringartworksartworks (products) or artists (makers).
categoriesarrayโ€”Only include items matching one of these categories. A push-time filter โ€” the full site is still walked either way. Leave empty for everything.
startUrlsarrayโ€”Specific product/maker URLs to scrape directly instead of the full sitemap.
maxItemsinteger50Stop after pushing this many items. Set to null for a full crawl.
modestringautoauto / full / incremental โ€” see Incremental mode.
concurrencyinteger5How many product/maker detail pages to fetch in parallel. Kept conservative โ€” see FAQ.
impersonatestringchromecurl_cffi TLS-impersonation target.

Residential proxy is used automatically for every run โ€” see FAQ below. It isn't an input option; there's no way to disable it.

๐Ÿ“ฅ Input examples

Default preview (50 products):

{ "entityType": "artworks" }

Every tile product:

{ "entityType": "artworks", "categories": ["tiles"], "maxItems": null }

Full maker directory:

{ "entityType": "artists", "maxItems": null }

๐Ÿ” Incremental (delta) mode

auto mode does a full scan the first time it runs for a given entityType/scope, then only pushes new/changed items on later runs โ€” including price and status changes (price_min/price_max/ status are the watched fields for products; product_count for makers). Only an uncapped run using the same categories selection each time (no maxItems limit reached, no startUrls, no item errors) can detect delistings or update the baseline.

โ“ FAQ

Why is concurrency only 5 by default? A real, deliberate caution: while building this Actor, a short burst at higher concurrency produced a cluster of HTTP 429s, and retrying immediately afterward made it noticeably worse (timeouts instead of clean rejections). Detail pages tested clean at higher concurrency after a cooldown, but 5 is kept as a safety margin โ€” raise it carefully if you need more throughput.

Does categories scope the crawl to just that category (faster/cheaper)? No โ€” it's a filter applied after fetching each item, not a way to skip the rest of the site. The site's own category-browse pages carry a much stricter rate limit than individual product/maker pages, so this Actor deliberately never uses them.

Why does a product sometimes have no space (installation venue)? A real, honest gap โ€” not every product on the site is tied to a documented installation; some are simply catalog items available for purchase. Nothing is guessed when the page itself has no venue data.

Does this need a proxy? Yes โ€” Residential proxy is mandatory and always on, not an input you can toggle. A real large-scale run with no proxy hit a 429 storm severe enough to fail the whole run; Datacenter proxy (tried first as the cheaper tier) made it worse, since Cloudflare fingerprints datacenter IPs and returned instant 403s on ~95% of requests. Residential IPs read as ordinary ISP traffic and avoided both problems โ€” verified clean at 2,000 items, 0 errors.