WooCommerce Products Scraper avatar

WooCommerce Products Scraper

Pricing

from $5.00 / 1,000 products

Go to Apify Store
WooCommerce Products Scraper

WooCommerce Products Scraper

Scrape every product from any WooCommerce store using just the store domain, no login, no API keys, no category URLs required. Uses the public WooCommerce Store API, which is enabled by default on all WooCommerce 4.0+ stores.

Pricing

from $5.00 / 1,000 products

Rating

0.0

(0)

Developer

Trove Vault

Trove Vault

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

20 hours ago

Last modified

Share

WooCommerce All Products Scraper

⚠️ This actor only works with WordPress sites that have the WooCommerce plugin installed and active. A plain WordPress site without WooCommerce will not return any products. If you are unsure whether a store runs WooCommerce, look for a /wp-json/wc/ path in the browser's network tab, or check the site's tech stack using a tool like BuiltWith.

Scrape every product from any WooCommerce store using just the store domain — no login, no API keys, no category URLs required. Uses the public WooCommerce Store API (/wp-json/wc/store/v1/products), which is enabled by default on all WooCommerce 4.0+ stores.

Unlike Shopify, WooCommerce exposes customer ratings, review counts, backorder status, and low stock alerts directly in the public API — making this actor especially useful for competitive intelligence and product analytics.


What it scrapes

Each product record includes:

FieldDescription
nameProduct name
storeSource domain
urlDirect link to the product page
skuStock Keeping Unit identifier
typeProduct type (simple, variable, grouped, external)
featuredImageURL of the main product image
imageCountTotal number of product images
currencyISO 4217 currency code (e.g. USD, EUR, GBP)
priceCurrent selling price (sale price if on sale)
regularPriceFull price before any discount
salePriceDiscounted price — null if not on sale
onSaletrue if a sale price is currently active
availabletrue if in stock and purchasable
isOnBackordertrue if the product is on backorder
lowStockRemainingUnits left when stock is low — null otherwise
averageRatingAverage customer rating (0–5) — null if no reviews
reviewCountTotal number of customer reviews
variationCountNumber of product variations
categoriesCategory names the product belongs to
tagsAll tags applied to the product
attributesAttribute names used for variations or filtering (e.g. Size, Color)
shortDescriptionBrief product summary (HTML stripped)
descriptionFull product description (HTML stripped)

How to use

  1. Add one or more WooCommerce store domains in the Store Domains input field. Any format works:

    • mystore.com
    • https://mystore.com
    • www.mystore.com

    Not sure if a store uses WooCommerce? Try opening https://yourdomain.com/wp-json/wc/store/v1/products in your browser — if it returns a JSON array, it's a WooCommerce store and this actor will work. If it returns a 404 or an error page, the store either doesn't run WordPress or doesn't have WooCommerce active.

    Example store you can use to test: porterandyork.com (premium meat & seafood, confirmed working)

  2. Optionally set Max Products to limit results per store (default: unlimited).

  3. Optionally enable Apify Proxy if a store blocks datacenter IPs.

  4. Run the actor and download results as JSON, CSV, or Excel.


Input

{
"domains": ["mystore.com", "anotherstore.com"],
"maxProducts": 500,
"proxyConfiguration": {
"useApifyProxy": false
}
}
ParameterTypeDefaultDescription
domainsstring[]requiredWooCommerce store domains to scrape
maxProductsinteger0 (unlimited)Maximum products to scrape per store
proxyConfigurationobjectdisabledApify Proxy settings

How it works

  1. For each domain, the actor probes the WooCommerce Store API to verify the store is reachable and accessible.
  2. If the probe fails, a specific error is logged and the store is skipped — the actor never fails the entire run because of one inaccessible store:
    • Server unreachable — DNS or network error
    • HTTP 401 / 403 — store is password-protected or the endpoint is restricted
    • Not a WordPress site/wp-json/ not found
    • WooCommerce not installed — WordPress found but Store API unavailable
    • Products endpoint 404 — WooCommerce detected but products endpoint missing
  3. Products are fetched in pages of 100 (the Store API maximum) with a short delay between pages.
  4. All fields are extracted and pushed to the Apify dataset.

Limitations

  • Requires WooCommerce Store API to be enabled (default in WooCommerce 4.0+). Some stores may have it disabled or restricted.
  • Password-protected stores (HTTP 401 / 403) cannot be scraped.
  • Prices are returned in the store's configured currency. Multi-currency plugins may affect accuracy.
  • Variable products report the minimum price from the API; individual variant prices require the REST API with authentication.

Changelog

2026-03-02 — v0.1.0

  • Initial release
  • 23 fields per product: name, URL, SKU, type, image, price, ratings, review count, backorder status, low-stock alerts, categories, tags, attributes, and descriptions
  • Full fallback logic for 5 distinct failure modes (server unreachable, auth-protected, not WordPress, WooCommerce disabled, products endpoint 404)
  • Multi-store support: scrape multiple WooCommerce stores in a single run