WooCommerce Products Scraper - Prices, Stock & Variations
Pricing
from $1.00 / 1,000 products
WooCommerce Products Scraper - Prices, Stock & Variations
Scrape any WooCommerce store's product catalog: prices, sale prices, stock, SKUs, categories, images and variations, via the public Store API. No login. For price monitoring and competitor research.
Pricing
from $1.00 / 1,000 products
Rating
0.0
(0)
Developer
kfir messika
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
WooCommerce Products Scraper — Prices, Stock & Variations via Store API
Collect product catalogs from public WooCommerce stores through the unauthenticated WooCommerce Store API. No login or HTML scraping is used. Product prices are converted from the API's minor units using the currency's currency_minor_unit value.
Use cases
- Price monitoring
- Competitor catalog research
- Dropshipping research
- Product feeds for AI agents
Input
{"storeUrls": ["https://www.bloomscape.com", "zcrave.com/"],"maxProductsPerStore": 1000,"categorySlugs": ["plants"],"search": "planter","onSaleOnly": false,"inStockOnly": true,"includeVariations": true}
storeUrls is required; the input form has two verified public stores prefilled. URLs can include or omit a scheme, trailing slash, and a subpath. Filters are optional. Category slugs are resolved to category IDs through the categories API.
The output type identifies the row (product, variation, summary, or error). A product's WooCommerce classification (simple, variable, etc.) is returned as productType.
Output examples
Trimmed product row from Bloomscape's live Store API response:
{"type":"product","store":"https://www.bloomscape.com","productId":1101317,"name":"String of Bananas","slug":"string-of-bananas","url":"https://bloomscape.com/product/string-of-bananas/","sku":"PA04849","productType":"variable","price":49,"regularPrice":49,"salePrice":49,"currency":{"code":"USD","symbol":"$"},"onSale":false,"inStock":false,"stockStatus":"outofstock","isPurchasable":true,"averageRating":0,"reviewCount":0,"categories":[],"tags":[],"images":["https://bloomscape.com/wp-content/uploads/2026/04/IMG_0445-scaled.jpeg?ver=1101323"],"shortDescription":"The String of Bananas is a low-maintenance, fast growing succulent.","description":"The String of Bananas brings a playful, cascading look to any space.","attributes":[{"id":2,"name":"Pot Color","taxonomy":"pa_pot","has_variations":true,"terms":[{"id":42,"name":"Charcoal","slug":"charcoal","default":false},{"id":41,"name":"Clay","slug":"clay","default":false},{"id":44,"name":"Indigo","slug":"indigo","default":false},{"id":43,"name":"Slate","slug":"slate","default":false},{"id":40,"name":"Stone","slug":"stone","default":true}]}],"scrapedAt":"2026-10-04T00:00:00.000Z"}
Variation rows are emitted and charged individually when requested:
{"type":"variation","store":"https://www.bloomscape.com","parentId":1101317,"variationId":1101322,"attributes":[{"name":"Pot Color","value":"stone"}],"price":49,"regularPrice":49,"salePrice":49,"inStock":false,"sku":"P004854","scrapedAt":"2026-10-04T00:00:00.000Z"}
Each store also receives a free summary row. Failures produce free error rows; when the public API is unavailable the error is WooCommerce Store API not available.
Pricing
$1.00 per 1,000 product and variation rows, configured as the product-result pay-per-event in Apify Console. Summary and error rows are free. Local runs work when pay-per-event pricing is not configured.
Limits
The store must expose the public WooCommerce Store API, which is enabled by default on WooCommerce 6 and later. Site owners can disable it or block requests. The scraper retries HTTP 429 and 5xx responses with backoff, times requests out after 20 seconds, and tries the rest_route URL form if pretty permalinks are unavailable. There is no HTML scraping fallback. A maximum of 100 products is fetched per API page; up to three stores run concurrently, with one page request at a time per store.
FAQ
Do I need credentials? No. This actor reads the public Store API only.
Why is a store missing? Its Store API may be disabled, blocked, or unavailable. An error row reports this without charging.
Are variations included automatically? No. Set includeVariations to true; each variation is a separate charged result row.
How are prices converted? The Store API returns integer minor units. Prices are divided by 10 to the power of currency_minor_unit, including zero-decimal and three-decimal currencies.
Does it scrape rendered web pages? No. Version 1 uses the public Store API and has no HTML fallback.