WooCommerce Scraper: Products, Prices & Reviews avatar

WooCommerce Scraper: Products, Prices & Reviews

Pricing

$2.00 / 1,000 products

Go to Apify Store
WooCommerce Scraper: Products, Prices & Reviews

WooCommerce Scraper: Products, Prices & Reviews

Scrape products from any WooCommerce store: prices, sale prices, variation prices, stock, images, categories and reviews. Search and filter by keyword, category, price or sale. Many stores per run. $2 per 1,000 products.

Pricing

$2.00 / 1,000 products

Rating

5.0

(1)

Developer

Sourabh Kumar

Sourabh Kumar

Maintained by Community

Actor stats

0

Bookmarked

31

Total users

2

Monthly active users

16 days ago

Last modified

Share

WooCommerce scraper: products, prices, variations, reviews & stock

Paste one or more WooCommerce store URLs and get every product as clean data. Prices, sale prices, stock, images, categories, and each size or colour's own price and SKU.

$2 per 1,000 products. No per-run fee. Variation prices and reviews cost nothing extra.

Works on stores in any country and currency. No login, API key, or proxy setup needed.

Real prices for every size and colour

Most WooCommerce scrapers give you one price per product. For anything sold in sizes or colours, that's just the cheapest option.

This one gives you the lowest and highest price on every product. Turn on Variation prices and every size or colour also gets its own price, SKU and stock. A tile sold from a free sample up to £13.68 a piece shows up as exactly that, not as "£0".

It also keeps going when a store switches off its product feed. It reads the product pages instead, so you still get products where other scrapers return nothing.

What you can pull

Use it forGive itYou get
A whole cataloga store URLevery product with prices, stock, images, categories, tags, brands, attributes
Many stores at oncea list of store URLsone dataset, with each row tagged by store
Deals and price bandson sale only, min and max priceonly the products that match, and you pay only for those
One category or searcha category slug or a search wordthat slice of the catalog
Stock checksa stock statusin stock, out of stock or backordered products, including sold-out items some stores hide
Size and colour pricesVariation prices oneach option's own price, SKU, stock and image
Customer reviewsReviews onthe newest reviews per product, with rating, date and verified-buyer flag

Top use cases

Competitor price monitoring

Put your competitors' stores in one list and schedule a daily run. Each product comes with its price, regular price, sale price and discount percentage, so price drops and new sales show up the next morning. Turn on Variation prices when rivals price sizes differently. The cheapest size alone hides most of the story.

Deal and sale tracking

Switch on On sale only and set a Max price, and a run returns just the discounted products under your budget. The filter runs inside the store, so you only pay for the matches.

Stock and availability alerts

Every row says in stock, out of stock or on backorder, and each size or colour does too with Variation prices on. Stores that hide sold-out items from their catalog still return them here. That's the difference between "we don't sell this" and "it's out of stock right now".

Catalog export and migration

Copy a whole store into a spreadsheet, a product feed, or a new platform. You get SKUs, descriptions, all image URLs, categories, attributes, weight and dimensions in one pass. Descriptions come back as clean text, with no leftover HTML.

Review and sentiment research

Turn on Reviews to pull the newest reviews for every product: reviewer, rating, date, verified-purchase flag and the full text. Good for spotting product problems, or for comparing how two brands are rated.

Market research across a niche

Run a list of stores in the same niche to see what they sell, at what price, and how often it's on sale. Category and tag names make it easy to group products across stores.

How much does WooCommerce Scraper cost?

You pay $2 for every 1,000 products you get back. The Apify Free plan's $5 monthly credit covers about 2,500 products. The $29/month Starter plan covers about 14,500 products a month.

There's no per-run fee. Variation prices and reviews don't change the price. A store that can't be reached costs nothing, because you only pay for products delivered.

Input examples

A whole store

{
"storeUrl": "https://coolfacelife.com"
}

Several stores in one run, up to 500 products each

{
"storeUrl": "https://nalgene.com",
"storeUrls": ["https://coolfacelife.com", "https://www.mandarinstone.com"],
"maxProducts": 500
}

Sale items under a price

{
"storeUrl": "https://coolfacelife.com",
"onSaleOnly": true,
"maxPrice": 10
}

One category, in stock only

{
"storeUrl": "https://coolfacelife.com",
"categories": ["accessories"],
"stockStatus": "instock"
}

Each size's own price, SKU and stock

{
"storeUrl": "https://www.mandarinstone.com",
"includeVariations": true
}

Products with their newest reviews

{
"storeUrl": "https://nalgene.com",
"includeReviews": true,
"maxReviewsPerProduct": 5
}
FieldWhat it does
storeUrlOne store, e.g. https://example.com.
storeUrlsMore stores for the same run. The same store written twice is scraped once.
maxProductsLimit per store. Leave empty for every product.
searchOnly products whose name or description contains this text.
categoriesOnly these categories. Use the slug from the category URL (e.g. mens-shirts) or its ID.
onSaleOnlyOnly products on sale.
minPrice, maxPricePrice range in the store's own currency.
stockStatusany, instock, outofstock or onbackorder.
includeVariationsAdd each size or colour's own price, SKU and stock.
includeReviews, maxReviewsPerProductAdd the newest reviews, up to 100 per product (default 10).

Output examples

One row per product, with a scrapedAt timestamp. These are real rows from live runs. Long lists and descriptions are shortened here, and the notes say what was cut.

A product sold in sizes, with Variation prices on, all 4 sizes shown, with the description, some attributes and some variation fields left out:

{
"id": 499641,
"name": "Terrazzo Ivory Honed",
"url": "https://www.mandarinstone.com/product/terrazzo-ivory-honed/",
"productType": "variable",
"price": 0,
"regularPrice": 0,
"salePrice": null,
"priceMin": 0,
"priceMax": 13.68,
"currency": "GBP",
"onSale": false,
"inStock": true,
"stockStatus": "instock",
"categories": [
{ "name": "All Terrazzo", "slug": "all-terrazzo" },
{ "name": "New arrivals", "slug": "new-arrivals" }
],
"tags": [
{ "name": "High Traffic", "slug": "high-traffic" },
{ "name": "Straight Edge Finish", "slug": "straight-edge-finish" }
],
"attributes": [
{ "name": "Size", "terms": ["200x200x12", "200x50x12", "406x406x18", "Sample"] },
{ "name": "Usage", "terms": ["Bathroom", "Indoor", "Kitchen", "Living", "Wall & floor"] }
],
"variations": [
{ "id": 499642, "attributes": [{ "name": "Size", "value": "sample" }], "sku": "TCTERIVOSAMP", "price": 0, "inStock": true, "stockStatus": "instock" },
{ "id": 500195, "attributes": [{ "name": "Size", "value": "200x50x12" }], "sku": "TCTEIVOSC20X5", "price": 0.66, "inStock": true, "stockStatus": "instock" },
{ "id": 500197, "attributes": [{ "name": "Size", "value": "200x200x12" }], "sku": "TCTERIVOSC20X20", "price": 2.84, "inStock": true, "stockStatus": "instock" },
{ "id": 500198, "attributes": [{ "name": "Size", "value": "406x406x18" }], "sku": "TCTERIVOSC40X40", "price": 13.68, "inStock": true, "stockStatus": "instock" }
],
"dataSource": "storeApi",
"storeUrl": "https://www.mandarinstone.com"
}

A product with Reviews on, including weight and dimensions, variations and most categories left out:

{
"id": 789703,
"name": "32oz Wide Mouth Surrealist Bottles",
"sku": "Z0127",
"url": "https://nalgene.com/product/32oz-wide-mouth-surrealist-print-bottles/",
"shortDescription": "Introducing our Limited Surrealist collection! Your window to adventure. Explore a world where reality blurs and imagination reigns.",
"price": 18.99,
"regularPrice": 18.99,
"currency": "USD",
"inStock": true,
"stockStatus": "instock",
"categories": [{ "name": "Water Bottles", "slug": "bottles" }],
"tags": [
{ "name": "Limited Edition", "slug": "limited-edition" },
{ "name": "New!", "slug": "new" }
],
"weight": 0.39,
"weightUnit": "lbs",
"length": 3.25,
"width": 3.25,
"height": 9.5,
"dimensionUnit": "in",
"rating": 5,
"reviewCount": 1,
"reviews": [
{
"id": 1460652,
"reviewer": "Jared",
"rating": 5,
"verified": true,
"date": "2025-02-19T22:48:02Z",
"text": "This bottle is amazing and the design is amazing and high quality."
}
],
"storeUrl": "https://nalgene.com"
}

A store that switched off its product feed, read from the product page. Fields the page doesn't show are null. One of 3 images shown:

{
"id": 77963,
"name": "Gen 6 180’s 50° / 63mm Yellow EZ’s / Bearings",
"url": "https://landyachtz.com/shop/all/skate/bundle/gen-6-180s-63mm-yellow-ezs-spaceballs/",
"sku": "1BU-G618050BKHEZ63BN",
"productType": "simple",
"price": 71.38,
"regularPrice": 118.97,
"salePrice": 71.38,
"discountPercent": 40,
"currency": "USD",
"onSale": true,
"inStock": true,
"stockStatus": "instock",
"images": ["https://landyachtz.com/wp-content/uploads/2025/11/Bundle-Gen-6-Bear-Trucks-180mm-50-63mm-78a-EZ-Hawgs-Flat-Banana4-Black-90a-bushings4-8mm-Spaceball-Bearings8-1-1.jpg"],
"variations": null,
"weight": null,
"rating": null,
"reviews": null,
"dataSource": "productPage",
"storeUrl": "https://landyachtz.com",
"scrapedAt": "2026-09-28T12:41:36.648Z"
}

Anything the store doesn't publish comes back as null, never a guess. A null is honest. A made-up value isn't.

Limitations

  • Stores behind a strict "checking your browser" page can't be reached. The run finishes with a message saying so, and you pay nothing.
  • Variation prices and reviews need the store's product feed. On stores that switch it off you still get products, but without those two extras.
  • Stores read from product pages give fewer fields: no weight, dimensions or variation list. Anything the page doesn't show is null.
  • Members-only or hidden prices come back as null, not zero.
  • Prices stay in the store's own currency. No currency conversion.

Frequently asked questions

Do I need a login, an API key, or a proxy?

No. It reads what any shopper can see, with nothing to set up. If a store blocks the first attempt, the scraper retries through a proxy on its own.

What if my URL isn't a WooCommerce store?

The run finishes with a clear message saying no products were found, and you aren't charged.

Can I paste a category or product URL?

Paste the store's address, like https://example.com. Any path after it is ignored. To get one category, put its slug in Categories instead.

Does Max products apply to each store or to the whole run?

To each store. With three stores and a limit of 100, you get up to 300 products.

Will I get sold-out products?

Yes. Some stores hide sold-out items from their catalog pages, and this still returns them, marked out of stock. Set Stock status to instock if you only want what's available.

How much does WooCommerce Scraper cost?

WooCommerce Scraper uses pay-per-result pricing. You pay $2 for 1,000 products. The Apify Free plan gives you $5 in usage credits a month, enough for around 2,500 products. If you run regularly, the $29/month Starter plan covers about 14,500 products.

No subscription lock-in. Pause whenever.

Scraping public data is generally allowed in the US and most of the EU, as long as you don't collect personal data covered by GDPR or CCPA without a lawful basis. This actor only reads what any shopper can see, but how you use the output is on you.

Apify's full breakdown: Is web scraping legal?.

Can I integrate WooCommerce Scraper with other tools?

Push results into Make, Zapier, Slack, Airbyte, GitHub, Google Sheets, Google Drive, and more. Apify treats every actor as a webhook source, so anything that consumes webhooks or pulls from an API works.

Full list: Apify integrations.

Can I use WooCommerce Scraper with the Apify API?

Yes. Every run is available through the Apify REST API:

curl -X POST "https://api.apify.com/v2/acts/sourabhbgp~woocommerce-scraper/runs?token=APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"storeUrl": "https://coolfacelife.com", "maxProducts": 100}'

Docs: Apify API reference.

Can I use WooCommerce Scraper through an MCP Server?

Yes. Apify ships an MCP server that exposes every actor as a tool, so Claude Desktop, Cursor, and any other MCP-capable client can call WooCommerce Scraper. Setup: Apify MCP docs.

Your feedback

Bug, missing field, or odd behavior? Drop a note in the Issues tab. Reports go to a human and fixes usually ship the same week.