WooCommerce Product Scraper
Pricing
from $1.20 / 1,000 products
WooCommerce Product Scraper
WooCommerce Product Scraper extracts product data from any WooCommerce store, capturing names, prices, descriptions, images, categories, stock status, and ratings — ideal for market research, competitor analysis, and e-commerce monitoring.
Pricing
from $1.20 / 1,000 products
Rating
0.0
(0)
Developer
FalconScrape
Maintained by CommunityActor stats
3
Bookmarked
96
Total users
12
Monthly active users
12 hours ago
Last modified
Categories
Share
🛒 WooCommerce Scraper: Products, Prices and Stock from Any Store
Export the full product catalog of any WooCommerce store as clean JSON, CSV or Excel. The WooCommerce Product Scraper returns each product's name, URL, SKU, price, regular and sale price, currency, stock status, images, categories and rating, read from the store's public WooCommerce Store API, so you need no consumer key, no login and no access from the store owner. Use it for competitor price monitoring, a WooCommerce product export from stores you don't own, or as a simple WooCommerce API alternative for any shop.
🎯 Use Cases
- Competitor price monitoring: schedule a daily run on rival WooCommerce shops and track their prices, sales and stock over time.
- Export products from a WooCommerce store: get a whole catalog with SKUs, prices, descriptions and image URLs as CSV or Excel in one run, without admin access.
- WooCommerce product feed: turn any store's catalog into a feed for your own app, comparison site, spreadsheet or catalog.
- Sale and discount tracking: use On Sale Only to list just the discounted products and see regular vs sale prices.
- Assortment research: compare categories, product types and stock across several WooCommerce stores in the same niche.
- Supplier and wholesaler catalogs: pull a brand's or distributor's WooCommerce catalog so you can load it into your own shop.
✨ Features
- Full product data: ID, name, slug, product URL, SKU, product type (
simple,variable…), plain-text description and short description. - Prices as numbers:
price,regularPriceandsalePricein normal currency units (20 means $20.00),priceMaxfor products with a price range, plus the currency code and anonSaleflag. - Stock and ratings:
inStock, stock status (in-stock,out-of-stock,available-on-backorder) with the store's stock text, average rating and review count. - Images and categories: every product image with its alt text, and every category with name and slug.
- Built-in filters: keyword search, category, stock status, price range, on-sale and featured products.
- Many stores per run: add as many WooCommerce store URLs as you like; the same filters apply to each.
- Automatic pagination: fetches every page of the catalog, 100 products at a time, until the store runs out or you hit Max Products.
- Fair billing: you pay per product saved, and the run stops at Max Products or at your maximum charge.
🛠️ How It Works
- Enter WooCommerce store URLs: the store's home page or any page on its domain works.
- Set filters (optional): search by keyword, pick categories, a price range, stock status, or only sale or featured products.
- Run the scraper and download the products as JSON, CSV or Excel, or pull them through the Apify API.
⚙️ Input
| Field | What it does |
|---|---|
Start URLs (startUrls) | One or more WooCommerce store URLs. Any page of the store works; the scraper uses its domain. |
Max Products (maxProducts) | Maximum number of products to save in the whole run (all stores together). Leave empty to scrape every product. |
Search (search) | Keyword to match in product names and descriptions. |
Category (category) | Category slugs or IDs, comma-separated, e.g. clothing,accessories. |
On Sale Only (onSale) | Only products currently on sale. Default false. |
Featured Only (featured) | Only products the store marks as featured. Default false. |
Stock Status (stockStatus) | instock, outofstock or onbackorder. |
Min Price (cents) (minPrice) | Minimum price in minor currency units, e.g. 5000 = $50.00. |
Max Price (cents) (maxPrice) | Maximum price in minor currency units, e.g. 10000 = $100.00. |
{"startUrls": [{ "url": "https://offermanwoodshop.com" }],"category": "clothing","onSale": true,"maxProducts": 200}
Category slugs are usually the last part of a store's category URL (/product-category/clothing/ → clothing), and you can also copy them from the categories field of a first run.
💰 Pricing
Pay only for the products you get. No monthly rental.
| Event | Price | What you get |
|---|---|---|
| Product | $0.0012 per product ($1.20 per 1,000) | One product with all the fields below |
| Actor start | $0.00005 per run | Charged once when the run starts (one event per GB of memory, default 1 GB). |
Examples:
- A small store with 54 products = $0.0648 + $0.00005 start ≈ $0.065.
- 1,000 products from a few competitor stores = $1.20 plus the start fee.
- A daily price check on 500 products for 30 days = 15,000 products = $18.00 plus 30 start fees ($0.0015).
Set Max Products or a maximum charge per run to cap the cost; the run stops there.
📊 Sample Output Data
A real row from the Offerman Woodshop store (long text and image list trimmed):
{"id": 38479,"name": "OWS Heavyweight Hoodie","slug": "ows-heavyweight-hoodie","url": "https://offermanwoodshop.com/store/shop-fashion/clothing/ows-heavyweight-hoodie","sku": "AP-HOODIE-HEAVYWEIGHT","type": "variable","description": "Pre-shrunk 100% Heavyweight Cotton\nDouble lined hood and pouch pocket. Proudly made and printed in Los Angeles!\nOversized fit with thick, sturdy fabric.","shortDescription": "Our shop staff’s favorite…","price": 80,"priceMax": null,"regularPrice": 120,"salePrice": 80,"currency": "USD","onSale": true,"inStock": true,"availability": "in-stock","availabilityText": null,"images": [{"src": "https://offermanwoodshop.com/wp-content/uploads/2024/11/eva-hoodie-cropped-scaled.jpg","alt": "Woman wearing Offerman Woodshop heavyweight hoodie in workshop setting."},"…"],"categories": [{ "name": "Clothing", "slug": "clothing" },{ "name": "Sale", "slug": "sale" },{ "name": "Shop Fashion", "slug": "shop-fashion" }],"averageRating": null,"reviewCount": 0}
price is what a shopper pays now; regularPrice is the list price, so onSale: true with a lower price means a discount. When a product isn't on sale, salePrice is null. For variable products (sizes, colors), price is the lowest variation and priceMax the highest (null when the product has a single price). availability is the stock status and availabilityText the stock line the store shows, such as "Out of stock" or "3 in stock" (null when the store shows none). HTML tags and entities are cleaned from names and descriptions.
🔁 Schedule for Competitor Price Monitoring
For WooCommerce price tracking, run it once a day (or once a week for slow-moving catalogs) with the same store URLs: every run is a dated snapshot, and together they form a price and stock history you can diff by id or sku. Set it up in Apify Schedules. Send the results to Google Sheets, Zapier, Make, n8n or a webhook with Apify integrations, so price drops, new products and out-of-stock items land where your team already works.
🤖 Use with AI Agents (MCP)
This Actor works as a tool in Claude, ChatGPT, Cursor and other MCP clients through the Apify MCP server (https://mcp.apify.com), so an agent can pull a store's catalog or its sale items on request. An agent can call it with:
{ "startUrls": [{ "url": "https://offermanwoodshop.com" }], "onSale": true, "maxProducts": 20 }
❓ FAQ: WooCommerce API and Store Data
Does WooCommerce have an official API? Yes, two. The WooCommerce REST API is meant for the store owner: it needs a consumer key and secret generated in that store's admin, so you can't use it on a competitor's shop. Many stores also expose the public WooCommerce Store API, which the storefront itself uses to show products and needs no key. This Actor reads that public product data for you and handles pagination, filters, price conversion and export, so there are no keys, no approval and no code to write.
Do I need a login or API keys? No. The scraper only reads product data that the store already shows to every visitor.
Why did my run return 0 products? The run's status message names any store that returned no product data, and the run fails if none of the stores did. The site may not be a WooCommerce store, it may run a WooCommerce version without the public Store API, or the owner may have turned public access off or put it behind a firewall. Your filters may also match nothing: try the run again without them. Check the store URL in a browser first.
Why is a field empty or zero? sku is empty when the store doesn't set one. averageRating is null and reviewCount 0 when a product has no reviews or the store has reviews switched off. salePrice is null when the product isn't on sale, and priceMax when it has a single price. images and categories are empty lists when the product has none.
Is there a limit on how many products I can get? No fixed cap: the scraper pages through the whole catalog, 100 products per page. Use Max Products to stop earlier. Note that Max Products counts across all stores in the run, so to get N products from each store, run one store per run (or schedule them as separate tasks).
How do I export products from a WooCommerce store I don't own? Enter the store URL, leave the filters empty and run the Actor. Then download the dataset as CSV, Excel or JSON from the run's Storage tab, or fetch it through the Apify API.
Can I scrape Shopify stores too? Not with this Actor; it only reads WooCommerce stores. For Shopify, use the Shopify Product Scraper below.
🔗 Related Scrapers
- Shopify Product Scraper: the same product, price and stock export for Shopify stores, so you can monitor competitors on both platforms.
- Amazon Storefront Scraper: every product in an Amazon seller's storefront, for brands that sell on their own WooCommerce site and on Amazon.
- TikTok Shop Product Scraper: TikTok Shop prices, discounts and sold counts, to compare a brand's social-commerce prices with its own store.
- Etsy Listings Scraper: Etsy listings with prices, for handmade and craft sellers who also run a WooCommerce shop.