WooCommerce Store Products Scraper - Any Store, Full Catalog avatar

WooCommerce Store Products Scraper - Any Store, Full Catalog

Pricing

from $0.50 / 1,000 product scrapeds

Go to Apify Store
WooCommerce Store Products Scraper - Any Store, Full Catalog

WooCommerce Store Products Scraper - Any Store, Full Catalog

Export the full product catalog of any WooCommerce store from its public REST API: titles, SKU, prices, sale prices, stock, categories, tags, images, attributes and every variation with its own price and stock. Optional price and stock change tracking. From US$0.50 per 1,000 products.

Pricing

from $0.50 / 1,000 product scrapeds

Rating

0.0

(0)

Developer

Fabrikit

Fabrikit

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Export the complete product catalog of any WooCommerce store: title, SKU, price, regular and sale price, stock status, categories, tags, brand, images, attributes and every variation with its own price, SKU and stock. Paste a domain, a category URL or a product URL. No login, no API key.

It uses the public WooCommerce Store API that stores expose by default (/wp-json/wc/store/v1/products), 100 products per request, so it is fast and cheap. If a store turned that API off, it falls back to the WordPress product feed (/wp-json/wp/v2/product, titles, links, dates, categories, image, but no prices because WordPress does not expose them there).

Price: US$0.50 per 1,000 records. The output uses the same field names as our Shopify product scraper, so mixed Shopify + WooCommerce monitoring is one schema. It can also run as a price and stock monitor (Changes mode).

What you get

  • Full catalog of one or many stores in a single run, automatic pagination.
  • Scope by store, category URL (/product-category/...), category name/slug/id, search keyword, or single product URL. Stores installed in a sub-folder are found automatically; sites that block /wp-json are tried through ?rest_route=.
  • Prices converted from the API's minor units into real numbers, with currency, price, compareAtPrice (regular price when on sale), minPrice / maxPrice.
  • Variations for variable products (variants[] with id, sku, price, compareAtPrice, available, options).
  • One record per product, or one row per variation for spreadsheets.
  • createdAt / updatedAt from the WordPress feed when the store exposes it.
  • Non-WooCommerce sites are detected and reported per store (not_woocommerce, wordpress_no_woocommerce, woocommerce_restricted, empty, blocked).
  • Works with Apify datacenter proxy and switches to residential automatically if a store rate-limits or blocks.

Input

FieldDescription
storesDomains or URLs, one per line.
modecatalog (default) or changes.
categories, searchQuery, onlyOnSale, onlyInStockFilters.
flattenVariantsOne row per variation.
includeVariations, includeDatesExtra requests that enrich variable products / add dates (on by default).
maxItems, maxItemsPerStoreResult caps (default 50).
includeDescription, includeDescriptionHtmlAdd the long description.
listCategoriesSave the store's category tree to the key-value store (CATEGORIES_<domain>), free.
changeTrackingStoreName, emitBaselineChanges mode settings.
proxyConfigurationApify proxy (default datacenter, automatic residential fallback).

Example:

{
"stores": ["nutribullet.com", "https://yithemes.com/product-category/plugins/"],
"maxItems": 500
}

Output example

{
"store": "nutribullet.com",
"storeName": "nutribullet",
"productId": 1037584,
"handle": "nutribullet-turbo-chill-bundle",
"title": "Turbo & Chill Bundle",
"sku": "ECOM01684-PDP",
"type": "variable",
"vendor": null,
"productType": "Bundles",
"categories": [
"Bundles"
],
"tags": [
"1000 watts",
"24oz"
],
"createdAt": "2026-09-29T23:15:14Z",
"updatedAt": "2026-10-13T07:01:41Z",
"publishedAt": "2026-09-29T23:15:14Z",
"url": "https://www.nutribullet.com/shop/bundles/nutribullet-turbo-chill-bundle/",
"images": [
"https://nbmedia.imgix.net/FwKE4J1f-NBA30350AMZ_CrispLite-Vision-Air-Fryer_Black_Ecomm_PDP-1_Config_1500x1201.jpg?auto=compress%2Cformat&ixlib=php-3.3.0"
],
"attributes": [
{
"name": "Color",
"values": [
"Matte Black",
"Matte White"
]
}
],
"options": [
{
"name": "Color",
"values": [
"Matte Black",
"Matte White"
]
}
],
"available": false,
"stockStatus": "outofstock",
"lowStockRemaining": null,
"onSale": true,
"price": 224.99,
"compareAtPrice": 299.98,
"minPrice": 224.99,
"maxPrice": 224.99,
"currency": "USD",
"rating": 0,
"reviewCount": 0,
"variantCount": 2,
"variants": [
{
"id": 1037586,
"sku": "ECOM01685",
"title": "Matte White",
"price": 224.99,
"compareAtPrice": 299.98,
"available": false,
"options": {
"Color": "Matte White"
},
"image": "https://nbmedia.imgix.net/NBA30350AMZ_CrispLite-Vision-Air-Fryer_White_Ecomm_PDP-1_Config_1500x1201.jpg?auto=compress%2Cformat&ixlib=php-3.3.0"
}
],
"dataSource": "store-api",
"scrapedAt": "2026-10-13T17:16:12.929Z"
}

With flattenVariants, each variation becomes a record with variantId, variantTitle, variantOptions, variantImage, and sku, price, compareAtPrice, available of that variation.

Price and stock change tracking

Set mode to changes and schedule the actor. The first run saves a compact snapshot in a named key-value store (changeTrackingStoreName) and outputs nothing (turn on emitBaseline to also get the catalog). Later runs output only new, removed and changed products, with changes: [{variantId, sku, field, from, to}] for price, regular price, stock, added/removed variations and title. You pay only for output records.

Pricing

EventPrice
Record saved (product-result)US$0.50 per 1,000

Plus the small standard Apify actor-start event.

FAQ

Which stores work? Any WooCommerce store whose Store API is on (default since WooCommerce 7). Stores protected by a firewall that blocks API calls may need the residential proxy (automatic fallback).

Why are some prices missing? Only in fallback mode (dataSource: "wp-rest"): WordPress itself does not publish prices; stores that disabled the Store API give no price data to anyone.

Does it return stock quantities? Only stockStatus (in stock / out of stock / on backorder) and lowStockRemaining when the store shows it.

Use cases

Price monitoring, catalog backups and migrations, competitor assortment research, marketplace feeds, product data for analytics.


En espanol

Exporta el catalogo completo de cualquier tienda WooCommerce usando su API publica: titulo, SKU, precio, precio de oferta, stock, categorias, imagenes, atributos y todas las variaciones con su propio precio y stock. Pega un dominio, una categoria o un producto. Sin login ni API key. Detecta sitios que no son WooCommerce. Mismo formato que nuestro scraper de Shopify. Modo cambios para monitorear precios y stock. Precio: US$0,50 por 1.000 registros.